Control Some Material taken from RobotSubsumption.pdf.

Post on 19-Dec-2015

216 views 0 download

Tags:

Transcript of Control Some Material taken from RobotSubsumption.pdf.

Control

Some Material taken from RobotSubsumption.pdf

Remember Where Are We Going?

Sumo-Bot competitions

QTI Sensors

Used to “see” the white boundary ring

QTI Sensors

P7

P6

Right Side

P3

P2

Left Side

Code

More Info: Chapter 3 of Applied Robotics with the SumoBot

Finite State Machine (FSM) Representation

Sonar Range Finder

Used to “see” the your opponent

Sonar Range Finder

Documentation

Code

Finite State Machine (FSM) Representation

IR Detectors

Often used to “see” to the side (short-range)

IR Detectors

More Info: Chapter 3 of Applied Robotics with the SumoBot

Code

Finite State Machine (FSM) Representation

Read IR go forward turn left turn right go backward

Obj forwardObj right

Obj leftNo Obj

How to Put It Together?

Read IR& sonar

Go forward turn left turn right go forward

Obj forwardObj right

Obj leftNo Obj

Read QTI backup turn right turn left go forward

both lowright low

left lowboth high

Possible Problems

Jerky or halting movement Chase object over boundary Never detect opponent More?

Possible Solution

o Subsumption ArchitectureA 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.

o FSM with exit conditions

FSM

read IR & sonarand set nextStatevariable

Read QTI andset nextStatevariable

check nextStatevariable and branch

Go forward

Go backwards

turn teft

turn right

Alternative FSM

read Photoresistorsand set nextStatevariable

check nextStatevariable and branch

Read IR Go forward turn left turn right go forward

backup turn right turn left go forward

Program High-Level Outline1. Declare pin assignments,

constants and variables2. Initialize thresholds 3. Wait the required start delay4. Read boundary line sensors and

move accordingly5. If the boundary line is not

detected, read proximity sensors and move accordingly

6. Repeat steps 4 and 5 until completion

Main LoopDo GOSUB Read_Line_Sensors IF (lightLeft < leftThresh) AND (lightRight < rightThresh)

THEN GOSUB About_Face ' boundary ahead ELSEIF (lightLeft < leftThresh) THEN GOSUB Spin_Right ' boundary to left ELSEIF (lightRight < rightThresh) THEN GOSUB Spin_Left ' boundary to right ELSE PULSOUT LMotor, LFwdFast PULSOUT RMotor, RFwdFast GOSUB Search_For_Opponent ENDIFLoop

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