Robotics I Fall 2007
Robotics II Spring 2007 Robotics I Fall 2006
Code |
Lab4Lab 4: Behavior-Based ControlAssigned: Thursday, September 28, 2006. In this lab, you will develop approaches to coordinating multiple robot control modes into a coherent overall robot behavior. ReadingsPlease read:
Project 4: Behavior-Based ControlIntroductionChapter 5 of the Martin book discusses the following types of control:
Together, these two topics form the beginnings of a field of study known as classical control. This field is concerned with systems such as factories, engines, plants, and other large systems to be controlled. Then two sections discuss robot control:
In this lab, you are invited to bring together ideas from these two sections, along with a thorough introduction to Behavior-Based Robotics in the Arkin book, into a practical implementation on your robot. Frame the ProblemYour first task is to decide what behaviors you would like your robot to coordinate. To date, you have implemented light-seeking, open space-seeking, bouncing-off-of-obstacles, wall-following, and velocity control. You may add a new behavior, such as following a black line of electrical tape on the floor. You should choose 3 behaviors and then determine how the robot will select among them. For example, the robot might seek out bright light, but if it runs over a line, it will follow it for 30 seconds, and then start light-seeking again. While both of these behaviors are possible, if the robot runs into something with its touch sensors, that will override either other behavior, and cause it to back up and turn away. Now, draw a state transition diagram (or other diagram that you understand and can explain) to document your design. Post to invention database. (If it's a pencil drawing, use the flatbed scanner in the lab.) Implement ItBuild it in LabVIEW. One possibility is to use global variables to have each sub-behavior indicate how it would like to move the motors if it were in control, and then have a supervisory behavior that determines which sub-behavior is presently the lucky winner who gets their values actually copied to the motor. This supervisory loop would have to continuously select from the possible motor settings, copying the winner into the actual motor outputs. That's just one way. Based on the readings and your interest exploring LabVIEW, you might have other ideas. Document ItExplain your work on the inventionDB. Include screensnaps of key VIs, discussion, robot photos, and a robot movie. Upload the source VIs. Student Links to InventionDB WriteupsLink to your InventionDB cubes here. |