CS 576
Motion Planning: Algorithms and Applications

Final Project: Spring 1999

Vivekan K. Iyengar
 

SENSOR BASED MOTION PLANNING




Project Description:

The project deals with incorporating range sensing in the robot navigation function. A model of mobile robot navigation is considered whereby the robot is a point automaton operating in an environment with unknown obstacles of arbitrary shapes. The robot's input information includes  its own and the target point coordinates, as well as local sensing information such as from stereo vision or range finder. A paradigm for combining range data with motion planning has been studied using three bug algorithms that guarantee convergence and exhibit different styles of behavior.
 

Sensor Based Motion Planning:

Robot motion path planning revolves around two models that are based on different assumptions about the information available for planning. In the first model called "path planning with complete information" (piano movers problem), perfect information about the robot and the obstacles is assumed. Under the second model called "path planning with incomplete information", an element of uncertainty is present, and the missing data are provided by some source of local information such as a laser range finder or vision sensor. This model introduces a notion of sensor feedback and transforms the operation of motion planning into a continuos dynamic process. Under this approach, sensing becomes an active process, the robot decides at each step of its path what sensory information is required for generating its next step. The range sensor provides the robot with coordinates of those points of obstacle boundaries that lie within a limited radius of vision around the robot.
 

Computational Model Considered:

Three motion planning algorithms for designing strategies with proven convergence have been implemented. The algorithms exhibit different styles of behavior. The robot is a point, its input information includes coordinates of its current location, C as well as the target T. The robot is capable of moving along a straight line and along obstacle boundaries. It also has a capability referred to as vision that allows it to detect an obstacle and the distance to it along any direction from point C within its field of vision. The field of vision presents a disc of radius r (radius of vision) centered at C. A point Q is visible if first it is located within the field of vision and second the straight line segment CQ does not cross andy obstacles. Thus the robot can for example identify some intermediate target point that lies within its field of vision and walk towards that point along a straight line. On the other hand the robot can use its capability for walking along the obstacle boundary to maneuver around a convex obstacle when the visibility of the obstacle boundary shrinks to zero.

BUG 1 Algorithm:

This procedure is the most naive of the three algorithms in a sense that it only uses the range data to cut corners and move around the obstacle until if finds a point closest to the target. The robot then moves ahead from this closest point towards the goal point.

To see an implementation of the above algorithm click here.

BUG 2 Algorithm:

A desirable path to the goal point T, called the M-line is introduced as a straight-line segment that connects the start point and the goal point. An elementary operation of defining the next intermediate target point is executed by the robot at every moment given its current position and the range data within the current field of vision. Then the robot makes a little step in the direction of goal point and the process repeats. A local direction is a once and for all determined direction facing the obstacle, it can either be clockwise or anti-clockwise. For the sake of clarity I have always assumed it to be anti-clockwise. Instead of like the BUG 1 the robot takes advantage of opportunities that look more promising.

To see an implementation of the above algorithm click here.

BUG 3 Algorithm:

This is the most efficient of the bug algorithms discussed so far. The robot attempts to choose those of its intermediate targets that lie as close to the target as possible. This results in a different mechanism of convergence and a behavior different from the above two algorithms. The main contribution of this algorithm is a new leaving condition which allows the robot to abandon obstacle boundaries as soon as global convergence is guaranteed, based on range data in the direction of the target. It is observed that moving along a straight path is faster than moving along the boundary of the obstacle, the leaving condition is designed to abandon the boundary as soon as convergence is guaranteed. The generated path is closer to the optimal path since the leaving condition is not based on the line connecting the start and goal point. Increasing the range sensor allows the robot to leave the obstacle boundaries earlier.

To see an implementation of the above algorithm click here.
 

References: