Harvey Mudd College
Computer Science 154 - Robotics
Assignment F
Pioneer
There are three broad options for experimenting with the Pioneer
robot. One is to use the considerable software support
that comes with the robot in order to build a system
that can navigate around the Libra complex. For example,
the Pioneer comes with many built-in behaviors and a method
for arbitrating among them. The other
is to bypass the built-in software and instead build
from scratch the code needed to perform behaviors like
avoiding obstacles and wall-following, and then higher-level
behaviors. The third possibility is to investigate a particular
vision-based task using the gripper, e.g., detecting and
grabbing cans from the floor.
Briefly, here is what each of these three options would
entail:
- The first option would involve getting to know
the structure of the software that comes
with the robot. The robot server, Saphira,
comes with a graphical simulator on which you
can use a library of prewritten behaviors,
such as avoiding obstacles and mapping the environment.
Once comfortable with the system, you could build
on a navigation component. A single lab project would
likely consist of a simulated version of this navigation
system. A follow-up project would actually test and
tweak this code on the real robot.
- The second option would involve starting from
scratch on the real robot. There is some code already
that communicates and controls the system by sending
it basic commands. (It does not use the built-in behaviors,
for example.) This option would start from the existing
code and build two (or so) important capabilities.
My suggestion would be an obstacle-avoidance behavior
and a wall-following (or corridor-following) behavior.
All development would be on the robot itself.
- The third option would start as research into controlling the
gripper, for which we do not have low-level code. Then,
we would hook a USB camera up to either the desktop or
a laptop machine to obtain images, and finally
connect the motors to respond to them.
Once a plan is decided on, I will draft a set of concrete tasks
in that direction.