Hug Objects
 The hug-object function lets Swan follow static objects on their left or right, trying to keep a constant distance. Which side it follows depends on the initial state. This motion can be part of a more complex function. (1) In the first example, Swan follows the left walls. Watch the video, Hug Wall. In this execution, Swan stops after it travels a predetermined arc length. See the trajectory. While scanning the side objects, MotionMind extracts their linear features in real time. The diagram displays them with the trajectory. (2) In the next example, Swan hugs an L-shaped particleboard structure. Watch the video, Hug L-Structure. Swan stops when it returns to the initial position. As you can see, Swan's action is either (1) following the object, (2) wrapping the object at its convex corner, or (3) avoiding an obstacle in front of itself. See the trajectory. (3) In example #3, Swan hugs a garden cart. Watch the video, Hug Cart. The object to be hugged can be of any geometrically irregular shape. This example and some of the following examples demonstrate the robustness of this hugging algorithm. See the trajectory. (4) In example #4, Swan hugs Andrew, who is reclining on the floor. Watch the video, Hug Human. This hugging algorithm can easily handle soft materials. See the trajectory. (5) In example #5, Swan hugs Andrew, Yuki, and Daniel, in that order. Watch the video, Hug People. Swan touched Daniel, probably because he has moved. See the trajectory. (6) The object could also be a formation of noncontiguous objects. Watch the video, Hug Sparse Object. This motion actually is a succession of obstacle-avoidance actions. Swan tries to go left even though it fails. Thus, Swan can negotiate literally every object. See the trajectory. (7) Example #7 shows a world where Swan is positioned inside a closed wall. We can call this object "inside out." Watch the video, Hug Closed Object. Again, Swan stops when it returns to the starting point. See the trajectory. Generally a small red mark shown in a trajectory page means a target detected by the left front sonar; likewise, a small blue mark means a target detected by the right front sonar. Whenever possible, MotionMind/Swan extracts linear features from the sonar targets by using the least-squares-fit algorithm.

 Videos 1 . Hug People 2 . Hug Human 3 . Hug Sparse Object 4 . Hug Cart 5 . Hug Closed Object 6 . Hug L-Structure 7 . Hug Wall