CPS196 - Fall 1999
Reactive Control
Reading: Braitenberg
Questions:
- How would you implement "LOVE" using a traditional programming
style?
- What are some of the limitations of this approach? How would
you use it to build something that delivers the mail?
- Does the "vehicles" idea stand on its own as a programming
paradigm? How about as a scientific account of animal behavior?
Background: To run this, you need a web browser with support for
Macromedia Director. Go to the simulator directory and click on the
html
file. As of 8/27, there are three Windows machines set up to do
this in the undergrad programming lab (D242).
There are instructions on the page. Briefly, to position the lights
and the robot, click and drag. To rotate the robot, hold down control
and click and drag. To change the intensities of the lights, click
"settings", then edit the text boxes. Click on "simulation" to return
to the robot. I'd recommend setting some of the lights to zero (0) to
start off, so that they won't confuse the robot.
From its initial settings, the robot will execute a tight orbit around
a light. Drag a light into the center of the screen, then click on
"drive" to make it start. It should approach the light, then start
orbitting it. Click "stop" to return to the simulation screen. Try
starting the robot from various positions and playing with the
intensity of the light. If the robot drives to infinity, you can
click "reset cart position" to retrieve it.
If the thing freezes up, click refresh (or reload).
Questions:
- From its initial settings (green 0,0,0; yellow 0,1,0; blue 0,1,0;
red 0,0,0), the cart can enter several different kinds of stable
patterns. How many can you see?
- Why do you think it does that crazy hyperspace thing? How would
you suggest fixing it?
- Find settings that make the robot orbit at a greater distance.
- Find settings that make the robot follow a figure 8 (two
self-crossing loops), as described in the text. You will probably
need to play with the light intensities and positions (maybe more than
one), the quadratic terms of the control settings, and maybe negative
values. Does it help to use the activation function described by
Braitenberg?
Notes: By Peter Avenarius
Braitenberg was a freak.
Question 1
Use a decreasing linear function of intensity vs. motor strength.
Question 2
Limitations: no memory, it cannot "learn" anything. Although in some
cases perhaps memory isn't really needed for problems involving moving
to a certain point. To do this use random behavior. Also instead of
memory, some of these "animals" change their environments to react
differently the next time.
Question 3
It is powerful, but there are certain limitations. As a scientific
account of animal behavior, perhaps for very simple animals.
Question 4
Problem with simulator: Whenever robot gets close to light
for "love" it spins out of control.
Figure 8 values:
- 2 -1 0
- -1 5 0
- -1 5 0
- 2 -1 0
- lights: 10 10 (Kevin)
- 0 0 0
- -0.1 1 0
- -0.1 1 0
- 0 0 0
- lights: 30 30 (Daniel)
Modified: Mon Aug 30 22:41:42 EDT 1999
by Michael Littman, mlittman@cs.duke.edu