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 html art of lego design pdf ideal and real systems paper pdf due Fri Sep 16 |
To format for printing, click here.
91.450 Lab 3: Braitenberg Vehicles, Emergence, Meta-Sensing and Randomness
NEXT MONDAY -- MEET ON SOUTH CAMPUS!
Reading Assignment
LabIn Lab 2, you designed code that would avoid obstacles and follow lines. In this lab, you will be creating robots that are attracted to light, that use local variables to keep track of internal state and that use randomness to prevent them from getting stuck in an emergent loop. For this lab, you may use the Handy Bug from Lab 1 and 2 or you may choose to redesign the robot with a different drive train. With the competition coming up in a few weeks, any additional experimentation you do with building with LEGO will be useful. (Section 4.5 has a nice presentation of how to build with LEGO. I highly recommend that you read it.) However, all exercises can be completed with the Handy Bug. I leave this choice to you. You only need to write one lab report for your group. I would prefer that your work in lab and your lab reports be collaborative work. One partner should not be writing the lab report alone. It is important that each person work on each section of the lab, since the upcoming midterm will be a solo event. For any exercises that ask you to write code, please turn in the code with your lab report. Please comment your code appropriately. A. Light SensorsType in the program in Robotic Explorations, Section 2.4.5 and test it with either (1) pre-assembled photodiodes (these look like clear LEDs) or (2) photocell CdS cells (you'd have to wire these yourselves).Write up the answers to Light Sensor Exercises 1-4 on p. 8182. B. Shielding Light SensorsDo the Light Shielding Exercise on p. 83. With your new shielding, what are the readings when the sensor is pointed directly at the flashlight? How do the readings change as it turns away from the light source (10°, 20°, 45°, 90°)?Note: Shielding makes a much bigger difference if you're using the CdS photocells, not the photodiodes. C. Normalizing Light Readings to Motor CommandsWrite up the answers to Normalizing Exercises 1 3 on p. 85.D. Light-SeekingDo 1 and 2 under Light Seeking Exercises on p. 85. For 3, implement the following two improvements: add a third light sensor for ambient light and use that value to adjust your eye sensors. Also, rewrite the code to accentuate the difference between the two eye sensors. Turn in your favorite version of the code. E. Light and Touch SensitivityDo the two exercises in Section 2.5.1.F. RandomnessAnswer Question 1 in Section 2.6.1. Does your robot now compare more favorably to weasel ball? (No need to debate whether acting like weasel ball is a favorable or unfavorable proposition. I just want to know if your robot is acting more like weasel ball now than it was without randomness.) Now rewrite your code as described in Question 2 in Section 2.6.1. Describe the altered behavior. For extra credit: write a program that makes your robot have a similar behavior to weasel ball. Since weasel ball has no bump sensors, your code should not make use of them. Turn in your code. G. Emergence and Meta-SensingReload your code from Section 2.3 and experiment as described in the second paragraph on p. 90 (corner oscillation). If you do not see the oscillation described after several tries, note this. You do not need to change your code to introduce the oscillation as Martin suggests. Complete the exercises and questions in Section 2.7.3. Note that the code in Figure 2.28 and 2.29 has typos. In both figures, the last line of code is duplicated outside the last function. Cross out these two lines in your book. Exercise 3 introduces you to multitasking in IC. Be sure to read Section E.3.8 (again, since you should have already read all of Appendix E, which describes the features of IC). Turn in your code. Invention DatabaseUpdate your entry for your robot in the Invention Database. Lab ReportPrint out your code for the different parts and attach answers to each of the questions raised above. 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 Monday, 3 October 2004. Grading
Last modified: Monday, 26-Sep-2005 13:27:27 EDT by fred_martin@uml.edu |