User manual
RP6 ROBOT SYSTEM - 4. Programmierung des RP6
Beispiel 12: Verhaltensbasierter Roboter 2
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_05_Move_05\
Datei: RP6Base_Move_05.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm!
In diesem Beispiel wurde unser verhaltensbasierter Roboter um ein Verhalten namens
„Avoid“ erweitert. Mit diesem kann das ACS mit eingebunden werden und so nicht nur
bei Kollisionen reagiert werden, sondern schon vorher versucht werden Hindernissen
auszuweichen. Die drei Verhalten haben nun also folgende Struktur:
Das Verhalten Escape hat noch immer die höchste Priorität, denn wenn der Roboter
mit einem Hindernis zusammenstößt, ist diese Information natürlich wichtiger als der
Zustand des ACS. Escape unterdrückt also die Befehle von Avoid und Avoid tut dies
wiederum mit den Befehlen von Cruise.
Detektieren die IR Sensoren ein Hindernis, werden vom Avoid Verhalten Ausweichma-
növer eingeleitet. Detektiert der linke ACS Kanal ein Hindernis, wird eine Kurve nach
Rechts gefahren und beim rechten ACS Kanal entsprechend eine Rechtskurve. Wenn
beide Kanäle ein Hindernis melden, wird je nachdem welcher Kanal zuvor aktiv war,
auf der Stelle nach links oder rechts rotiert. Der Roboter dreht sich auch nachdem bei-
de Kanäle wieder freie fahrt melden noch etwas weiter. Das wird über Stopwatches
gesteuert.
Beispiel 13: LDRs - Lichtsensoren
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_06_LightDetection\
Datei: RP6Base_LightDetection.c
Das Programm erzeugt Ausgaben auf der seriellen Schnittstelle
Der Roboter bewegt sich in diesem Beispielprogramm nicht !
Dieses Beispielprogramm demonstriert die Verwendung der Lichtsensoren. Es zeigt
mit den StatusLEDs an, welcher Lichtsensor stärker als der andere beleuchtet wird,
oder ob beide in etwa gleich stark beleuchtet werden. Das wird auch kontinuierlich zu-
sammen mit den Messwerten auf der seriellen Schnittstelle ausgegeben.
- 121 -