Potential
Fields Lab
Goal
The purpose of this lab is to give you experience with simple reactive agents using potential fields as a form of “intelligence”. You will code the potential fields using Lejos Java language and your Mindstorms robot. Your environment will be the Lego Nanoquest Challenge table.Your
robot must go from base to the molecular motor, drop in a molecule to
make the motor go, and then return to base, avoiding all obstacles in
its path. You must do the following:
- Code up attractive fields. For example, the molecular motor might have an attractive field.
- Code up repulsive fields. For example, obstacles might have repulsive fields.
- Code up tangential fields. For example, walls might have tangential fields.
- Use all three fields in combination to complete your mission.
You may not use any other
methods of intelligence, including but not limited to waypoints,
hard-coded paths, and other interior state information.
We hypothesize that we can "do" potential fields with the Mindstorms
robot, on the challenge table, using the Lejos Navigator API.
I suggest using the Tribot robot for this lab, whose building
instructions come with the kit you are using for the class. The
Navigation API provides methods for tracking the heading of the robot
in software (since we don't have a compass sensor) and moving the robot
from point-to-point, for example.
How To Pass Off
To pass off this lab, you will need to do the following:
- Demonstrate your robot mission to the instructor using the Lego challenge table in TH 309.
- Submit your lab writeup
The Lab Writeup
The writeup should
describe in detail what all of the fields do and why you coded them the
way that you did. Don’t just say, “I used an attractive
field,” Go into detail about the particular type of attractive
field you used, why you chose it, and how you implemented it. Feel free
to include some of the math you used. Where appropriate, plot or draw
graphs of what the field looks like and put those into the writeup.
Also consider the following questions in your writeup:
- Were you successful or not? If not, why?
- Was this lab easy or difficult? Why?
- How sensitive was the robot to initial positioning?
- How fast (or slow) does the robot have to go be successful?
- How often do you have to recalculate the robot's new direction to be successful?
The writeup does not need
to be long, but make it look nice. Excessive spelling or grammar
mistakes (”excessive” to be defined at the
instructor’s discretion) will result in a lower grade. You must
hand in a hardcopy.
Tool Tip
One of the best ways to
get a professional looking paper nearly for free is to use LaTeX2e.
It does require learning the markup language, but it makes
equations look really nice! Led or TechNiX Center
are good free tools for Windows platforms--other good ones, like
WinEdit, have a small cost. All tools that use MikTeX will generate PDF
files.
Important Information
The Lego Challenge table will be set up in TH 309. That room is
usually kept locked, but you should have access to it during regular
hours--0800-2300. The department secretary or a faculty member
can let you in if the door is locked during those hours.