91.450 home
contest writeup html due Fri Nov 18
lab 4 html
due Mon Oct 17
lab 3 html
due Mon Oct 3
lab 2 html
due Mon Sep 26
line playing challenge pdf
lab 1
art of lego design pdf
ideal and real systems paper pdf due Fri Sep 16
resources Yahoo! group links

91.450 Lab 4: Behavior-Based Control

Class Update

Important dates for the rest of the semester:

       October               November               December
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                   1          1  2  3  4  5                1  2  3
 2  3  4  5  6  7  8    6 [7][8] 9 10 11 12    4  5  6  7  8  9 10
 9 10 11 12 13 14 15   13 14 15 16 17 18 19  [11[12]13 14 15 16 17
16 17 18 19 20[21]22   20 21 22 23 24 25 26   18 19 20 21 22 23 24
23 24 25 26 27 28 29   27 28 29 30            25 26 27 28 29 30 31
30 31
  • Fri Oct 21: Midterm.
  • Mon Nov 7: Egghunt Competition.
  • Tue Nov 8: "Friday" class day.
  • Sun Dec 11: 119 Gallery (119 Chelmsford St., Lowell MA) presentation [to be confirmed]
  • Mon Dec 12: Open-House Final Project Exhibitions.

Reading Assignment

  • Read Chapter 5 of my book, starting with section 5.3, “Sequential Control,” on page 190, through to the end of the chapter. Note what I call “reactive control” is now commonly know as “behavior-based” in the robotics community. You will use the ideas in this section, and possibly the code framework, in the assignment.


This lab is more open-ended than previous. You have to accomplish all of the following three:
  • Use a sensor that you haven't used before. This might be the optical rangefinder sensor (aka the “ET sensor” because it looks like a pair of big innocent eyes), which is good for doing wall-following; or, the sonar rangefinder, which is good for searching out and moving toward open space.

    Pick one of these two sensors (or another, like the CMUcam) and implement some new robotic behavior on your vehicle.

  • Develop some kind of prioritization/sensor fusion/layered behavior scheme whereby multiple sensors are combined and coordinated with one another.

    Read Section 5.4, “Reactive Control,” in Robotic Explorations for background. It has a particular implementation of a prioritization scheme, which you should feel free to copy or ignore. You might also want to take inspiration from Braitenberg's work or the ideas presented in Arkin's Behavior-Based Robotics.

    But do something along these lines, so that your robot is capable of demonstrating a primary behavior and then a secondary behavior which interrupts the first.

    NOTE: You MUST use Interactive C's multi-tasking facility in your implementation! Use different threads for different behaviors!

  • Get a servo working and do something with it.

Invention Database

Update your entry for your robot in the Invention Database. Include:

  • Specifically describe the behavior coordination scheme.
  • Upload your robot's code in the code section.

In your lab write-up, provide the URL to your robot's entry.

Lab Report

Print out your code for the different parts and attach answers to each of the questions raised above. Each team only needs to submit one lab report; however, I strongly encourage you to write the report together so that both members of the team participate in all aspects of the lab.

Include the URL to your Invention Database robot in the lab report.

Your lab report is due at the beginning of class (1:30 pm) on Friday, 15 October 2004.


The lab report should clearly present your work in the three areas that are the topic for this lab (new sensor, behavior-based control, speech output).

It should read like a short paper—in other words, with clearly labeled sections and prose that flows from section to section. You probably want 5 main sections, corresponding to an introduction, the three lab areas, and conclusion.

Sections should contain a combination of descriptive text, relevant code excerpts, photographs, and/or diagrams, as appropriate for explaining your ideas.

  • Quality of work itself, 10 points.
  • Technical clarity (diagrams/figures), 5 points.
  • Writing/grammar correctness, 5 points.
  • Overall presentation, 5 points.
  • InventionDB entry, 5 points.

Last modified: Friday, 07-Oct-2005 12:26:09 EDT by fred_martin@uml.edu