ME 469: Mobile Robot Path Planning Projects

This project will use the Nomadic Technologies SuperScout II mobile robot. This project will also use a different programming language which controls the mobile robot. Your group may choose one of the following projects.

Sensor Based Exploration:

An open research question is how to place a mobile robot in a completely unknown environment and have it search the entire area and return a representation or map of the environment. (This is actually a very important research area -- consider a robot that can search collapsed buildings after an earthquake or other natural disaster. There are also some fundamental theoretical limitations on how much can be accomplished in this manner.)

The goal of this project is for you to use the SuperScout and the on-board ultrasonic sensors to provide some sort of representation (or map) of the third floor of Fitzpatrick and Cushing Halls. Basically, you need to determine some sort of algorithm that will make the robot traverse the entire floor (roughly, the figure-eight topology) and give accurate estimations of what the dimensions of the floors are. We will cover some motion planning algorithms in class, but exploring a completely unknown environment will require extensions of what we cover in class. You can not explicitly use any a priori knowlege of the floor plan of Fitzpatrick or Cushing in your algorithm; however, you may implicitly assume such things like straight walls, right angled corners, etc. In the report you must identify all such assumptions.

Required activities: You can divide the responsibility for this project in any way that your group decides is appropriate, but this project initially appears to have the following distinct duties, some of which are relatively easy and some of which are relatively hard.

  1. Determining the exploratory algorithm: you must determine an algorithm that will allow the robot to be able to explore the entire floor given what sensory data is available. Given that determining completely general algorithms to accomplish this task are the subject of research, you are not expected to determine a completely general algorithm. However, given that the third floor has a relatively simple geometry (straight walls and only a limited number of hallways with just about constant dimension) and the fact that you know this geometry a priori, you should be able to algorithmically be able to program something that has a reasonable chance of success. Also, all the doors connecting Fitzpatrick and Cushing obviously may be blocked open.
  2. Implementation: you must take the algorithm determined above and actually program the robot to do it.
  3. Interpreting data: the robot will provide some sort of data representation of what the floor looks like, and you must provide a reasonable way to interpret it, i.e., a graphical representation. An real time, on-line Perl/Tk representation would be very nice, but an ex post representation will be acceptable as well.
  4. Writing the report (Time consuming, but easy).

Sensor Based Motion Planning:

You must program the robot to move autonomously from the undergraduate robotics lab (357C Fitzpatrick) to my office. At my office, there will be a sign that will indicate one of three secondary destinations for the robot. The robot must then proceed to the secondary destination. (The robot may return to 357C for you to interpret the indication using data stored in the vision system, after which you can tell it to go to the final destination).

Required activities: You can divide the responsibility for this project in any way that your group decides is appropriate, but this project does require rather distinct duties, some of which are relatively easy and some of which are relatively hard.

  1. Motion planning algorithm: you may measure the distances between objects on the floor of the third floor of Fitzpatrick and, in some way, store this representation in the computer motion planning algorithm. Also, the door to my office, as well as any secondary destinations (which will be other offices) will be open. This will make them easier to detect, but I can not guarantee that none of the other office will be open. Therefore, a simple scheme based solely upon detecting open doors is not guaranteed to work.
  2. Implementation: you must program the robot to act in accordance with the algorithm described above.
  3. Writing the report (Time consuming, but easy).

Return to the ME 469 Homepage.


Bill Goodwine (jgoodwin@nd.edu)
Last updated: August 28, 1998.