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.)


Home FireGuard™ is a U.S.-based company specializing in the supply of fire detection and fire fighting systems to homeowners. They already sell common fire detection and prevention systems such as smoke detectors, sprinkler systems, and alarm systems that contact the fire department when a fire is detected. However, they are only one of thirty-three major suppliers of such systems, and competition is fierce. They hope to take a stride ahead of their competitors by introducing the fire-fighting robot. They hope the fire-fighting robot will fill the deficiencies of smoke detectors, sprinkler systems, and fire department notification systems. These are:

  • Smoke detectors only warn of a fire, and do nothing to put it out.
  • Sprinkler systems often cause severe damage to the contents of the rooms they activate in, and are especially dangerous in rooms containing expensive electronics, art, etc.
  • Fire department notification systems take a substantial amount of time to summon help to the scene.

Home FireGuard™ visualizes a robot that is activated by a fire detector similar to those used to notify fire departments. The robot then traverses the house until it finds the fire and extinguishes it. Home FireGuard™ already stores the floor plans of all houses that have service contracts with it on computer. Because of this, they believe they can transmit the floor plan of the current house to the robot so it knows the layout ahead of time.

They have contracted you, the designer, to design and build a robot that, knowing the floorplan of a house ahead of time, can navigate the house, locate the fire, and extinguish the fire. For your first presentation to them, they want to see a small robot that can do this in a model house, to demonstrate your ideas have merit. After you pass this review, you can go on to building the full-size robot that will navigate a full-size house.


Unfortunately, you haven’t really been hired by a company to build robots. You don’t own your own robotic design company yet. And we don’t have the supplies to build huge robots that explore five-story Boston brownstones. So we’re scaling the above project down into the LEGO® robotics world and the size of robots we’re used to working with. In addition, because it is more difficult to build a multi-story model house capable of supporting a robot’s weight, and because stairs pose a huge challenge, we will be restricting the house to one story.

House Details

The house will either be laid out in the biology lab or a similar place with a smooth, white floor, or the house will have a built-in smooth white floor. The walls will be made of wood or thick cardboard, as yet undetermined, and may be painted some color. The ceiling will be open to allow easy placement of the robot and to let us watch the robot in action.

For the purposes of your design, assume you are designing the robot to fight fires in one specific house. See figure 1 for the floorplan of this house, accurate to 0.5 inches.

Figure 1:


Fire Details

For general safety reasons, and because components are both expensive and damaged by fire, we will not be using a real fire. The fire will be represented by some bright light source, possibly a full-size light bulb in some sort of mounting. In addition, the floor and walls of the room containing the fire will be painted or taped black. This represents the smoke that is filling the room.

There are several ways of ’extinguishing’ the fire. Currently, the suggested methods are dumping foam pellets on the fire or throwing foam blocks at the fire. These represent smothering the fire with some chemical extinguisher. You are free to propose other analogs for the fire extinguishing process (firing a squirtgun, releasing air from a balloon, whatever you can think of). Whatever method of extinguishing the fire is chosen, if the extinguishing material (foam, water, air) comes into contact with the light bulb or its base, the fire is considered successfully extinguished.


This project is mainly a competition between you and the free time you have/want to spend working on it. The main purpose of the project is to build a robot that accomplishes at least partly the firefighting goals. There may be a competition for those who wish to enter to see whose robot can extinguish the fire most reliably and quickly. More details will be forthcoming.

Back to projects section