91.450 home final project writeup template doc demos Fri Dec 17, 10 am writeup due Mon Dec 20 contest writeup html due Mon Nov 22 servo jitter fix html egg hunt html due Mon Nov 1 lab 4 html babblebot html due Fri Oct 15 lab 3 html due Mon Oct 4 lab 2 html due Mon Sep 27 lab 1 html art of lego design pdf due Mon Sep 20 |
To format for printing, click here.
91.450 Lab 3: Braitenberg Vehicles, Emergence, Meta-Sensing and Randomness
NEXT WEEK
Reading Assignment
Individual QuestionsThe questions in this section should be answered individually. You will turn in your answers with your lab report. Each team will turn in one lab report (written jointly) and two sets of answers to the questions in Part I (written individually). Question 1Search the web for applications of intelligent robots. Pick 4 different applications, describe them briefly (3-4 sentences, 1 to 2 paragraphs ) and give the web page link.Question 2Write a short essay (1 to 2 pages) reacting to Braitenberg's discussion in the context of the intelligent robots you presented. Where do his ideas contribute? Where do they break down? 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. Each team only needs to submit one lab report; however, I strongly encourage you to write the report together so that both members of the team participate in all aspects of the lab. 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, 4 October 2004. Grading
Last modified: Monday, 27-Sep-2004 13:24:40 EDT by fred_martin@uml.edu |