ES.293 | Spring 2007 | Undergraduate

Lego Robotics


Students will work on robotics projects of their own choosing over the course of the semester. There is no timeline by which one robot must be finished and another must be started; this is up to the discretion of the students. However, students should expect to build at least three or four functional robots during the semester. There will be a competition at the end of the semester in which students may choose to participate. A rough suggestion of how the projects progress through the semester follows.

The “challenges” are intended to inspire students, and are not mandatory. If a student already knows what they want to build, and it makes good use of their abilities, they are always welcome to work on it. Furthermore, a typical challenge takes at least two weeks. Challenges below are listed for every week, but probably should not be announced weekly.

1 Our friend the Lego Challenge: return to childhood, and play with Legos!
2 Beauty and the Lego Build a good gear train with a geardown of 125:1 or greater; challenge: with a given motor, and a gear ratio of 125:1 or greater, make the fastest spinning arm.
3 Cruisin' Possible challenges: Build the car that can go up the steepest incline; build the fastest car.
(In either challenge, vehicle must carry Handyboard or other self-contained power and switch mechanism.)
4 Easy as C Challenges: Build as agile a steering robot as possible.  This could be as easy as basic 2 motor steering (1 per wheel, or driving and turning motors); Build a steering robot you can control with a potentiometer.
5 Making sense Challenge: Build a new musical instrument or marionette.
6 One, two, three, … infinity

Project: write, load, and execute a few simple IC programs on a board (doesn’t need to be connected to your robot)
Program 1 (TXT)
Program 2 (TXT)

Challenge: Build a car that can move over as much of the floor of the Lego robotics lab as possible (using sensors to react to walls, etc.).

Another suggested evolution of robotic challenges is provided here. The goal is to provide students a concrete goal to work towards while allowing them to be creative with their solution. As students gain more skill and experience in programming, introducing challenges which are more programming intensive encourages them to think about the relations between the purpose of the robot, its mechanical design, and its program. (Courtesy Colin Dillard, and used with permission.)

Make a:

  1. robot to go as fast as possible or to go up the steepest slope.
  2. robot which can move forward and backward and turn.
  3. bipedal robot.
  4. robot which will turn or reverse when it hits or nears a wall.
  5. robotic hand.
  6. robot which can detect the edge of a cliff, so it doesn’t fall off.
  7. robot which can find and capture a tennis ball placed near it.
  8. robot which can climb stairs.

Further Project Ideas

For the rest of the semester, students will develop their own robot project, based on their own original proposals, or using ideas from the following lists.

Mechanical Projects

  • Build a grasping extension (robot hand, spear, scoop, etc.) and motorize it. Add sensors so it can tell when it has grasped something. Can you lift/drag a piece of wood? A foam ball? A battery pack? Another robot?
  • (Extension of previous) Build a system that enables your robot to pick up and carry multiple foam blocks with holes in them (see sample in lab). This is the typical 6.270 task.
  • Build a robot with a two-speed transmission, either gear-shiftable by hand or by the board.
  • Build a robot utilizing servos for steering.
  • Build a robot that moves as silently as possible. You probably want to use some pulley/rubber band drives, and maybe chain drives. This also involves thinking about where you want different geardowns.
  • Build a robot that stores energy in some source (rubber bands, spring, potential energy, etc.) and can release it all at once to, say, catapult a projectile. Extra points if you can hit the tutor from across the room.

Electronics Projects

  • Learn to solder- We’ll show you how to solder, how to look at other people’s soldering jobs and tell if they’re good, and how to use heat shrink tubing. You can wire up a sensor or a motor.
  • Learn to stuff - “stuff” is the technical term for “assembling a printed circuit board and components” (no, really!). You can assemble some small circuit like an infrared beacon or a light-triggered switch and then use it on your robot.

General Robotics Projects

  • Build a robot that can follow a black line on the floor (using reflectance sensors, probably). The robot should detect when the line turns and turn appropriately.
  • (Extension of previous) Build a robot that can wander a web of black lines on the floor (always following a line, picking random branches when the line forks, or always going left, etc.)
  • Build a robot that follows/avoids a flashlight beam.
  • Build a robot that tracks and follows an IR beacon.
  • Build a robot that follows a wall using bend sensors to maintain constant distance and orientation.
  • Build a robot that makes use of a tilt sensor to drive right-side up or upside-down, but always drives in the right direction, or a robot that increases power to the motors when climbing a slope.
  • Build a robot that navigates a maze with wood/cardboard walls (many possible methods).

Final Project ‘97


If you do a competition, require that the robots be basically done a week early, to allow a week for debugging (otherwise you’re likely to have a boatload of robots that do nothing).

  1. Navigate a Maze
  2. Soccer
  3. Fencing
  4. Robots build things out of large, smooth blocks and try to knock down the opponents constructions.
  5. Robots play baseball with an IR ball.
  6. A wrestling/martial arts competition
  7. Some competition where the programmers are allowed to “control” their robots, but only with spoken commands.
  8. Some competition where multiple robots _have_ to work together to get anything done.
  9. Optionally, the robots have to work with robots on the other team to get anything done.

More Competition Suggestions (PDF) (Courtesy Colin Dillard. Used with permission.)