Sensory-Based Motion Planning

Chin, Kok-Leong
kokleong@cs.iastate.edu
Iowa State University
Ames, IOWA

Chen, Yit-Khui
wind@cs.iastate.edu
Iowa State University,
Ames, IOWA

Project Discriptions

To navigate a point robot in a 2D plane without prior knowledge of the environment. ie) Don't know the location of the obstacles. Assumptions:
        1)    No overlapping polygons.
        2)    The perimeter of any polygon is free space.
        3)    If any point's distance to a polygon is less than or equal to a defined tolerance value it is assumed to be on the perimeter of the polygon.

The algorithm sometimes fails in some cases when the a point that was supposed to either be on an edge or at a vertex of a polygon is not quite there because it falls above the tolerance value mentioned above.

In this project, we have implemented Bug1, Bug2, BugM1 and DistBug. All this Bug family, DistBug is the hardest algorithm to be implemented. This is because it have more degree of freedom. In other words, It has more condition than others Bug's algorithms.

References :

Ishay Kamon's Home Page; http://www.cs.technion.ac.il/~ishay/papers.html

Computed Examples

We have difficutly inorder to get all the example of an animation to be posted on the web site. This is because (especially Bug1) required a few hundreds frames to animate the "robot" move to its goal. For example below, Bug1 required more than 400 frames to generate the animation.

yellow point = goal
blue point = robot
grey polygon=obstacles

Click the picture to view animation gif:
(WARNING: required a high speed connection to Internet )

Bug200001.gif (2913 bytes)

 

Implementation Files

Source Code:  RobotMotion.zip
Source Code:
(for generating ps files)
PsMotion.zip
Input Data Files: Input.zip