CS 295  Special Topics in CS:  Intro to Mobile Robots  

Winter 2002,  Instructor:  Jeffrey Horn                                                                NAME:  _______________________

HOMEWORK 2:  More Sophisticated Stimulus-Response (S-R) Robots  (Digital Braitenberg Vehicles, Mark II)
 
Handed out/Assigned: Tuesday, Feb. 12, 2002
Due: Tuesday, Feb. 19, 2002


VEHICLE 2:     Now let's add some resolution to our sensors and effectors.  Let there be THREE detectors, arrayed as follows:

Also, let there be two binary outputs to the two motors, allowing us four different speeds;  reverse (00), stop (01), slow forward (10) and fast forward (11).    Now redo some of the Vehicle 1 strategies for Vehicle 2:

INPUTS
                         OUTPUTS                                                       
LS
CS
RS
LM  1st bit
LM 2nd bit
RM 1st bit
RM 2nd bit
0
0
0
       
0
0
1
       
0
1
0
       
0
1
1
       
1
0
0
       
1
0
1
       
1
1
0
       
1
1
1
       

VEHICLE 3:

Design your own!  Take vehicle 1 or vehicle 2 (v1 is twice as simple as v2, but also has only half the sensory information!), and add AT LEAST ONE NEW sensor, and/or AT LEAST ONE new effector.  These can be just one bit each (note that for every bit of additional sensor data you double the number of rows in the lookup table!  this is NOT true for the output (effector) bits however).  Be inventive.  And explain fully what the sensor gives you, and/or what your effector does, and what the strategy is (yes, you have to give an example lookup table using your new capablities).   ALSO:  DRAW an example of your robot's behavior using the sensors and effectors and your strategy.   This should be a 2-D sketch of the robot, obstacles, walls, light sources, other robots, WHATEVER is appropriate, and trace a path of how you would expect it to move, turn, fire, or whatever, over time in that world.  This will help me understand what you have in mind!

Acceptable examples include:

  1. A one-bit sensor that tells you if the object is friend or foe (or "predator or prey"), plus a weapon that fires forward (one bit:  "1" means "fire"), and then a strategy to pursue prey, flee from foes, or pursue and fire on foes, etc.
  2. A one (or more) bit state variable that functions as memory.  This could be both input and output:  as output, one sets the state variable (to "0" or "1") depending on the current state, and then the state variable acts as input in the next state (i.e., the current state of the state variable is in the input columns in the truth table.   (How could this help you get out of "infinitely looping behavior"?)
  3. A two-bit sensor telling you which of the four cardinal directions (N,E,S,W) your are most closely facing, and then a strategy to always (try) to go NE!
  4. And so on!