Senior Project

Handybot Photograph

An Introduction to Robotics for C.S. Students

  • The HandyBoard 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 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

handybot steps

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 image you saw on the opening page was created by porting the LDraw dat file into POV-Ray rendering software. 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" book 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 Handybot 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.

There are also additional files which I am not posting that deal with shaft encoding and other applications at the assembly level. The reason for not posting them is because they are only modified versions of the code presented in "Robotic Explorations."

A Graph of Proportional Control 

Return to Course Work
Resume School Hobbies Theater Photos Links
Last Update: October 21, 2010

Copyright © Christopher Huyler and Huyler.net.
All rights reserved; unauthorized use prohibited.