Lab 6: Sensor-based Planning

Lead TAs: Felix Duvallet, Nick Heckman

Due dates:

Lab Materials

Checkpoint Grading sheet
Grading sheet
Demo Times
Lab powerpoint

Sharp IR information

Overview of Sharp IR sensors
Sharp's spec sheet for the GP2D02 IR Sensor
Software Drivers

Electrical schematics and Installation guide
Simple test program

Mission Statement:
The goal of this lab is to utilize sensory information to navigate through an unknown maze. Robots will use sensors to determine the location of obstacles in the world, and then plan a safe path to a goal region. Once robots navigate the maze and reach the goal region, they must drive towards and stop close to a light source.


Example world:
Note: You will not know the location of the obstacles a priori.

Tips for Getting Started:

1. Equip the robot from lab 5 with a Sharp IR optical range sensor.

2. Investigate detection properties of the distance sensor by doing the following:

3. Investigate motion planning with obstacles by doing the following:


This is a difficult lab. DO NOT PUT THIS ONE OFF. There is a very good reason that you have been given two weeks. As a guideline, you should be able to navigate to the goal region using the Sharp IR sensors by the end of the first week. We realize that this lab coincides with the midterm, and in light of this, the checkpoint will not require you to successfully navigate. However, it will be to your extreme advantage to have basic sensor based navigation down as soon as possible.


In order to complete this task, a variety of sensors should be used. You may need to construct some of your own. Sharp IR sensors will be provided for ranging information. We strongly recommend that you test your sensors to determine their limitations before developing your planner.

ir sensor
You may also be able to use your wavefront planner in a modified format. This may prove both easier and faster than bug2 or other algorithms you may come across.

Hints (read this if you are stuck, or once you think your design works):

Although you are not required to maintain a set distance from obstacles, it may prove to your advantage to check that there is some padding on either side of the robot before it goes forward in (i.e. it may not be enough to just check for the end of an obstacle and then immediately drive forward as your robot may become stuck on the edge of an obstacle). Alternatively, a small robot could squeeze through a narrow space without issue. There may be other solutions to this as well.

A special mount to sweep the sensor may speed your robot by eliminating extraneous turning. This can be powered by the small red motor or a servo.

#use "pulse.icb" is your friend

IR data is noisy and has problems with reflection (as you will discover). In the past, some students have found it helpful to repeatedly poll the sensor and either average the data out, or take the last of a series of values. Certainly, there is plenty of room for creative solutions to these problems, including the integration of other sensor data (bump sensors, light sensors, encoder information, etc).

Checkpoint, 30 pts (week 1)

Demo day, 70 pts (week 2)

You will have a maximum of 3 tries to demonstrate your robot's abilities. A failed try occurs when the robot goes off the world or hits an obstacle. This number may be less depending upon time constraints (i.e., if your first run takes 8 minutes, you may not get a second).

Note: Your path does not have to be "optimal" but it shouldn't take the most difficult path possible either.

Last updated 2/25/2007 by Nick Heckman
(c) 1999-2007: Howie Choset, Carnegie Mellon