Control Some Material taken from Robot Subsumption pdf
Control Some Material taken from Robot. Subsumption. pdf
Remember Where Are We Going? Sumo-Bot competitions
QTI Sensors Used to “see” the white boundary ring
QTI Sensors P 7 P 3 P 6 P 2 Right Side Left Side Code More Info: Chapter 3 of Applied Robotics with the Sumo. Bot
Finite State Machine (FSM) Representation
Sonar Range Finder Used to “see” the your opponent
Sonar Range Finder Code Documentation
Finite State Machine (FSM) Representation
IR Detectors Often used to “see” to the side (shortrange)
IR Detectors Code More Info: Chapter 3 of Applied Robotics with the Sumo. Bot
Finite State Machine (FSM) Representation Obj forward Read IR go forward No Obj left Obj right turn left go backward
How to Put It Together? Obj forward Read IR & sonar turn right backup turn left low right low both low Read QTI Obj right Go forward No Obj left turn left go forward both high turn right go forward
Possible Problems Jerky or halting movement ¡ Chase object over boundary ¡ Never detect opponent ¡ More? ¡
Possible Solution o o Subsumption Architecture A programming process by which one behavior subsumes, or over-rides another based on an explicit priority that we have defined. First described by Dr. Rodney Brooks in "A robust layered control system for a mobile robot, ” IEEE Journal of Robotics and Automation. , RA-2, April, 14 -23, 1986. FSM with exit conditions
FSM Go forward read IR & sonar and set next. State variable Read QTI and set next. State variable check next. State variable and branch Go backwards turn teft turn right
Alternative FSM read Photoresistors and set next. State variable backup turn left turn right go forward check next. State variable and branch Read IR Go forward turn right turn left go forward
Program High-Level Outline 1. 2. 3. 4. 5. 6. Declare pin assignments, constants and variables Initialize thresholds Wait the required start delay Read boundary line sensors and move accordingly If the boundary line is not detected, read proximity sensors and move accordingly Repeat steps 4 and 5 until completion
Main Loop Do GOSUB Read_Line_Sensors IF (light. Left < left. Thresh) AND (light. Right < right. Thresh) THEN GOSUB About_Face ' boundary ahead ELSEIF (light. Left < left. Thresh) THEN GOSUB Spin_Right ' boundary to left ELSEIF (light. Right < right. Thresh) THEN GOSUB Spin_Left ' boundary to right ELSE PULSOUT LMotor, LFwd. Fast PULSOUT RMotor, RFwd. Fast GOSUB Search_For_Opponent ENDIF Loop Code
Changes that you should make ¡ Change all I/O Definitions to match your configuration ¡ Change motion control subroutines to suit your wheel base ¡ Use debug statements to make sure that all sensors are working ¡ Modify the code to incorporate your winning stragegy
- Slides: 19