User manual

RP6 ROBOT SYSTEM - 4. Programmierung des RP6
Beispiel 14: Verhaltensbasierter Roboter 3
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_07_LightFollowing\
Datei: RP6Base_LightFollowing.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm!
Die Lichtsensoren können wir natürlich ebenfalls über ein kleines Verhalten namens
„FollowLight“ mit einbeziehen:
Die Priorität von FollowLight liegt unterhalb von Escape und Avoid, aber oberhalb von
Cruise. Daher ist Cruise in diesem Beispiel eigentlich nie aktiv. Es sei denn, es wird zu
dunkel (LDR Werte beide unter 100), dann wird das Verhalten FollowLight deaktiviert.
FollowLight versucht mit den LDRs hellen Lichtquellen zu folgen bzw. die hellste Stelle
im Raum zu finden. Das klappt natürlich nicht immer optimal – z.B. wenn es viele ver-
schiedene Lichtquellen gibt. Wenn man das aber in einem dunkeln Raum mit einem
starken Handschweinwerfer testet, sollte das schon ziemlich gut klappen.
Die LEDs werden in diesem Programm doppelt verwendet wenn das ACS kein Hin-
dernis erkannt hat, wird angezeigt welcher Lichtsensor die höhere Lichtintensität de-
tektiert hat und wenn das ACS ein Hindernis entdeckt, wird das mit den LEDs ange-
zeigt.
Das war es dann auch mit den Beispielprogrammen zu verhaltensgesteuerten Robo-
tern. Insgesamt hat er nun das Verhalten eines einfachen Insekts wie z.B. einer Mot-
te, die das Licht sucht und dabei Hindernissen ausweicht.
Nun könnte man für zusätzliche Sensoren auf Erweiterungsmodulen eigene Verhal-
tensmuster einbauen und die bestehenden noch stark verbessern. Hier sind jetzt eige-
ne Kreativität und Programmierfähigkeiten gefragt!
Beispiel 15: Fernsteuerung mit einer RC5 Fernbedienung
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_08_TV_REMOTE\
Datei: RP6Base_TV_REMOTE.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm!
Dieses Beispielprogramm ermöglicht es, den Roboter über eine RC5 Fernbedienung
ähnlich wie ein ferngesteuertes Auto zu steuern. Nur gibt es beim RP6 noch ein paar
andere Bewegungsmöglichkeiten, als bei den meisten ferngesteuerten Autos. Er kann
natürlich vorwärts und rückwärts fahren, aber auch auf der Stelle nach links oder
rechts drehen. Dann kann er Kurven nach vorne links und rechts, bzw. hinten links
und rechts fahren und außerdem jeweils nur einen der beiden Motoren anschalten und
vorwärts oder rückwärts laufen lassen.
In diesem Programm ist das so realisert, dass die verschiedenen Bewegungen bei
Empfang eines vorher zugeordneten Tastencodes von der Fernbedienung gestartet
werden und bei dauerhaft gedrückter Taste langsam beschleunigt wird. Lässt man die
Taste los, wird - noch etwas langsamer als bei der Beschleunigung wieder abge-
- 122 -