Frederik Heger
16-735 Robotic Motion Planning
Homework #1
August 30, 2006


Part 1) software package to draw obstacles and lines between two points

I am planning to use my Roomba for the majority of the assignments. I am currently waiting for a replacement part to interface the robot with my computer. With that part, the Roomba should be functional again within a week.

In the mean time I am developing my own visual interface. Below are some screen shots of the interface. Obstacles are created by selecting a sequence of points by clicking on them. Similarly for START and GOAL. Throughout the course, the drop-down list in the ControlGUI will have different algorithms added, for now all it can do is "straight-line".




Part 2) path planning algorithm to be "implemented" on a person in class

The algorithm is a type of bug algorithm.

1. Walk in a straight line toward the goal.
2. If you encounter an obstacle, turn left and follow along its edge. Remember the position where you hit the obstacle.
3. Follow the edge until you either have line-of-sight to the goal (and go straight to the goal) or reach the line between the saved contact point with the obstacle and the goal (and go to step 1). If you get back to your saved contact point, return FAILURE.
4. Reach the goal, return SUCCESS.

During class today I realized that the algorithm as is is incomplete. The spiral case will break it. To fix this problem, the algorithm need to include the 'distance to goal is getting smaller' criterion for leaving the obstacle from Bug2. At that point, the algorithm becomes Bug2 with a shortcut once there's direct line-of-sight to the goal.