An Introduction to Robotics for C.S. Students
|
- Design a simple robot that can be constructed using Legos, but
will be controlled by the HandyBoard.
- Create a set of instructions that will guide students in the
construction of the robot.
- Create a set of labs that parallel the book, "Robotic Explorations"
by Fred Martin, which allow students to explore the capabilities
of the robot while giving them hands-on experience making, testing
and writing code for several different types of sensors.
- Create an API that simplifies the robot's movement and sensing
so the students don't need to know all the details of engineering
to program the robot.
|
Handybot Instructions
|
Here
is an example of some of the instructions provided in the Instruction
Manual. These are just small thumbnails of the actual images rendered
using MLCad, a Lego Design Toolkit based off of LDraw. The Manual
was printed on photo quality paper with high resolution images and
graphics just like the instruction booklets you get when you purchase
Lego kits.
Included in the instruction manual are wiring diagrams for the
different sensors used in the labs. Here is an example of the diagram
for constructing a shaft encoder
sensor which is used to track the rotation of a disk or wheel.
|
Robotics Labs
|
Each Lab consists of several parts. They are designed to be completed
in about an hour provided that the student comes prepared, including having
read the background material and constructed the lego modules beforehand.
Since there is soldering involved, a lab assistant may be needed to build
the sensors for each of the groups.
- Background - Selected chapters in Fred Martin's "Robotic
Explorations" that students should read before begining the
lab.
- Equipment - A list of equipment and supplies required
to complete the lab. This can include sensors, wires, electrical
tape, etc.
- Software - The C files that need to be loaded onto the
Handyboard in order to do the lab. These are a combination of
our API files and extension libraries available at www.handyboard.com.
- Construction - A brief overview of what needs to be constructed
for the labs: lego modules and electrical sensors.
- Testing Procedure - Since there are several issues involved
with using hand-made sensors and the handyboard, each sensor should
be thoroughly tested before the students attempt to write code. This
is to make sure that any errors that occur during the assignments are
the result of their programs and not the hardware.
- In-Lab Assignment - Here the students are asked to apply the
concepts covered in the readings and testing procedure to a specific
assignment that can be finished during the lab session.
- Homework Assignment - The homework is similar to a mini-project
where the students are asked to make the robot perform a function by
expanding upon what they learned during the lab.
Documents - MSWord Format
|
Application Programming Interface |
Here are some of the libraries we wrote to make the labs a little easier
on students. Each library is designed to go along with a particular lab.
The students would not be required to write these functions, but they should
understand the theory behind them
- move.c - Movement functions for a handybot with
two motors controlling the left and right wheels/treads of the robot.
- p_move.c - Proportional based movement functions
for moving and rotating a fixed distance using rotational shaft encoders.
- pd_move.c - Proportional-Derivative based
movement functions for more refined moving and rotating.
- mt_move.c - Movement functions for use with
priority based multi-tasking.
|