User manual
RP6 ROBOT SYSTEM - 4. Programmierung des RP6
Beispiel 6: Der Roboter fährt im Kreis
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_05_Move_01\
Datei: RP6Base_Move_01.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm! Sie müssen also
die Verbindung zum PC nach dem Programmupload trennen und den Roboter auf eine
ausreichend große Fläche Stellen! Es sollte schon mindestens eine Fläche von
1m x 1m oder eher 2m x 2m sein.
Jetzt kann der Roboter endlich mal seine Motoren anwerfen! Dieses Beispielprogramm
lässt den Roboter im Kreis fahren, indem die beiden Motoren auf unterschiedliche Ge-
schwindigkeiten eingestellt werden. Stellen Sie bitte für alle Programme in denen sich
der Roboter bewegt genügend freie Fläche zur Verfügung! Ein oder zwei Quadratmeter
sollten es bei einigen Programmen schon mindestens sein.
Sollte der Roboter während seiner Kreisfahrt mit den Bumpern gegen ein Hindernis
fahren, werden die Motoren gestoppt und zwei der LEDs fangen an zu blinken! Der
Roboter tut dann nichts anderes mehr, bis das Programm neu gestartet wird.
Beispiel 7: Der Roboter fährt hin und her - mit 180° Drehung
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_05_Move_02\
Datei: RP6Base_Move_02.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm!
Im RP6Library Kapitel hatten wir ja schon ein kleines Beispiel bei dem der Roboter
Zeitgesteuert hin und hergefahren ist. In diesem Beispiel, fährt der Roboter eine be-
stimmte Distanz vorwärts, dreht um 180°, fährt diese Distanz zurück, dreht wieder
um 180° und das ganze beginnt wieder von vorn.
Hier wird der blockierende Modus der move und rotate Funktionen verwendet, daher
braucht man also die Funktion task_RP6System hier nicht ständig aufzurufen, weil das
schon automatisch von diesen Funktionen gemacht wird.
Beispiel 8: Der Roboter fährt im Quadrat
Verzeichnis: <RP6Examples>\RP6BaseExamples\Example_05_Move_03\
Datei: RP6Base_Move_03.c
ACHTUNG: Der Roboter bewegt sich in diesem Beispielprogramm!
Nun versucht der Roboter, Quadrate mit 30cm Kantenlänge abzufahren. Er dreht sich
nach jedem kompletten Umlauf um und fährt in die andere Richtung weiter.
Das klappt nur mit genau kalibrierter Drehgeberauflösung ausreichend gut, weil sonst
die 90° Winkel nicht genau getroffen werden und evtl. auch z.B. mal 98° oder 80°
sein können. An diesem Beispiel sieht man selbst mit gut kalibrierten Drehgebern,
dass es nicht einfach ist die Fahrt eines Roboters mit Raupenantrieb anhand der Dreh-
gebermesswerte zu steuern – wie in Kapitel 2 ja schon gesagt wurde. Die Ketten rut-
schen je nach Untergrund vor allem bei Drehungen gern mal etwas zur Seite weg oder
drehen durch, so dass die tatsächlich gefahrene Wegstrecke deutlich kürzer ist, als die
von den Encodern gemessene Wegstrecke. Das kann man mit geschickter Program-
mierung zwar halbwegs ausgleichen, aber 100%ig genau wird das vermutlich nie wer-
den. Das kann man nur mit zusätzlichen Sensoren erreichen, die die Position und Aus-
richtung des Roboters genauer bestimmen (s. Anhang).
- 116 -