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.
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.
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.
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: