-
-
Erfahrener Benutzer
Roboter Experte
Das kommt daher, dass die Funktionen drehen(), rueckwaerts_links() und rueckwaerts_rechts() nur dann aufgerufen werden, wenn mind. ein Bumper gedrückt ist. Wenn er aber schon etwas zurückgefahren und deshalb kein Bumper gedrückt ist, wird bumber() durchlaufen, ohne dass irgendwas gemacht wird, weshalb er auch weiter nach hinten fährt/dreht.
Ich kenn mich mit dem RP6 und seiner Lib nicht aus, aber wenn es tatsächlich nötig ist, task_RP6System() periodisch aufzurufen, ist eine State-Machine die einige Lösung, d.h. es gibt die Zustände vorwärts, rechts, links, drehen, und je nachdem in welchen zustand sich der Robby befindet, wird was anderes geacht. Wenn er vorwärts fährt, müssen die Bumper abgefragt und ggf. eine dieser Stopwatches gestartet und der Zustand gewechselt werden. Wenn er gerade am Ausweichen ist, müssen diese Stopwatches abgefagt und falls die entsprechende Zeit abgelaufen ist, müssen sie gestoppt werden und der Robby muss dann wieder vorwärts fahren usw.
MfG Mark
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen