Lec 2 .ppt

advertisement
Chapter 5: Tactile Navigation With Whiskers
Presentation based on:
"Robotics with the Boe-Bot"
By Andy Lindsay
Parallax, Inc
Presentation developed by:
Martin A. Hebel
Southern Illinois University Carbondale
College of Applied Sciences and Arts
Electronic Systems Technologies
7/6/04
1
Tactile Whiskers as switches
2
3
4
5
Whisker "switch" open and closed
6
Code to View Whisker Switch States
Code:
DO:
DEBUG CLS, ? IN5, ? IN7
Pause 100
LOOP
See "TestWhisker.bs2"
7
Adding LED Indication
8
Code using IF…THEN
9
AI – Escaping Corners
' --- Detect Consecutive Alternate Corners -----------------------' See the "How EscapingCorners.bs2 Works" section that follows this program.
IF (IN7 <> IN5) THEN
' One or other is pressed.
IF (Old7 <> IN7) AND (Old5 <> IN5) THEN ' Different from previous.
counter = counter + 1
' Alternate whisker count + 1.
old7 = IN7
' Record this whisker press
old5 = IN5
' for next comparison.
IF (counter > 4) THEN
' If alternate whisker count = 4,
counter = 1
' reset whisker counter
GOSUB Back_Up
' and execute a U-turn.
GOSUB Turn_Left
GOSUB Turn_Left
ENDIF
' ENDIF counter > 4.
ELSE
' ELSE (old7=IN7) or (old5=IN5),
counter = 1
' not alternate, reset counter.
ENDIF
' ENDIF (old7<>IN7) and
' (old5<>IN5).
ENDIF
' ENDIF (IN7<>IN5).
10
Moving Forward
11
Simplifying Navigation with Subroutines
GOSUB – Used to temporarily branch to
another a section of code.
Return – Used to return to where it
jumped from.
See program "OneSubroutine.bs2"
12
Roaming with Whiskers
See "RoamingWithWhiskers.bs2"
13
Download