From The Blackfin Handy Board

RoboticsIFall2006: Lab4

Lab 4: Behavior-Based Control

Assigned: Thursday, September 28, 2006.
Due: Thursday, October 5, 2006.

In this lab, you will develop approaches to coordinating multiple robot control modes into a coherent overall robot behavior.


Please read:

Project 4: Behavior-Based Control


Chapter 5 of the Martin book discusses the following types of control:

Together, these two topics form the beginnings of a field of study known as classical control. This field is concerned with systems such as factories, engines, plants, and other large systems to be controlled.

Then two sections discuss robot control:

In this lab, you are invited to bring together ideas from these two sections, along with a thorough introduction to Behavior-Based Robotics in the Arkin book, into a practical implementation on your robot.

Frame the Problem

Your first task is to decide what behaviors you would like your robot to coordinate. To date, you have implemented light-seeking, open space-seeking, bouncing-off-of-obstacles, wall-following, and velocity control. You may add a new behavior, such as following a black line of electrical tape on the floor.

You should choose 3 behaviors and then determine how the robot will select among them. For example, the robot might seek out bright light, but if it runs over a line, it will follow it for 30 seconds, and then start light-seeking again. While both of these behaviors are possible, if the robot runs into something with its touch sensors, that will override either other behavior, and cause it to back up and turn away.

Now, draw a state transition diagram (or other diagram that you understand and can explain) to document your design. Post to invention database. (If it's a pencil drawing, use the flatbed scanner in the lab.)

Implement It

Build it in LabVIEW. One possibility is to use global variables to have each sub-behavior indicate how it would like to move the motors if it were in control, and then have a supervisory behavior that determines which sub-behavior is presently the “lucky winner” who gets their values actually copied to the motor. This supervisory loop would have to continuously select from the possible motor settings, copying the winner into the actual motor outputs.

That's just one way. Based on the readings and your interest exploring LabVIEW, you might have other ideas.

Document It

Explain your work on the inventionDB. Include screensnaps of key VIs, discussion, robot photos, and a robot movie. Upload the source VIs.

Student Links to InventionDB Writeups

Link to your InventionDB cubes here.

Retrieved from
Page last modified on November 06, 2006, at 02:33 PM