CS 495 EVOLUTIONARY ROBOTICS NAME: ________________________________
Fall 2004 Instructor: Jeffrey Horn
HOMEWORK 2: Combinatorial
(Propositional) Logic as Stimulus-Response Brains (Digital
Braitenberg Vehicles)
Handed out/Assigned: | Tuesday, September 21, 2004 |
Here is the Digital Braitenberg Vehicle 1, which has been implemented in Nate Lyle's on-line simulator (use Mozilla!) and also in Carey & Hope's rover:
We have two binary outputs, one for each motor.
LM is left motor, RM is right. A "0" output means no power to the
motor, while a "1" means go forward. (so an output of 01, which is
0 to the left and 1 to the right motor, would result in an arcing turn
to the left, while 10 would be a right turn)
Here is an example truth table (ie., a "brain") for a strategy to TURN AWAY FROM lights (hopefully!):
|
|
|||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
0 |
|
|
|
|
|
Now here is DIGITAL Braitenberg Vehicle 3 (vehicle 2 is something else!):
This is the same as vehicle 1, except that we add a one-bit memory, M. This M bit can be written to as an output in the look-up table (see below), and read from as an input. Assume that there is a clock to synchronize the timing, so that what is written to M at time t is then read from M at time t+1. Thus M can be used to keep track of what just happened (e.g., what the robot just did, or what the robot just saw...). See what you can do with it. This is of course, the minimum amount of memory that a robot can have.
So the challenge is to use it an interesting way. Just fill out the table below to implement a strategy that DEPENDS ON M (i.e., a behavior that could NOT be implemented in DBV 1 above). Also, describe your strategy/behavior in words.
LUT:
INPUTS | OUTPUTS | |||||
M | LS | RS | LM | RM | M | |
0 | 0 | 0 | ||||
0 | 0 | 1 | ||||
0 | 1 | 0 | ||||
0 | 1 | 1 | ||||
1 | 0 | 0 | ||||
1 | 0 | 1 | ||||
1 | 1 | 0 | ||||
1 | 1 | 1 |
BEHAVIOR: