-
-
Erfahrener Benutzer
Roboter-Spezialist
@Sternthaler,
freut mich sehr, dass Dir meine Rechnerei verständlich ist! Deine Fragen bestätigen das. Hier sind die Antworten:
Formel (1): Nee, Rr und Rl müssen nicht gleich gross sein. Das ist einer der Vorteile dieses Algorithmus, das man damit auch Asuros lenken kann, die unterschiedlich grosse Räder und unterschiedlich starke Motoren haben. Man kann den Algorithmus praktisch an jeden Dreirad-Roboter anpassen.
Einheiten: Können ganz nach Belieben gewählt werden, müssen dann aber durchgängig eingehalten werden. Wegen der üblichen Dimensionen heutiger Wohnzimmer oder Küchentische würde ich für die Längen Zentimeter und für die Zeiten Sekunden verwenden. Aber wie gesagt, Meter und Minuten geht auch.
Formel 7: Vektoren in der x-y-Ebene kann man um 90° drehen, indem man x- und y-Komponente vertauscht und dann das Vorzeichen der neuen x-Komponente umkehrt. Diesen Trick verwende ich hier, um aus der Längs- (sprich: der Fahrtrichtung ep) die Querrichtung eq auszurechnen. Die Drehung der Fahrtrichtung durch die unterschiedlich schnell laufenden Räder stelle ich dar, indem ich zum Einheitsvektor in Längsrichtung ein bisschen vom Einheitsvekor in Querrichtung dazuzähle. Das dreht den Längsvektor, macht ihn aber auch ein bisschen zu lang. Deshalb muss er anschliessend wieder neu normiert werden.
Doppelte Formelnummern: Ächz! Es war schon spät. Hab sie in Version V02 korrigiert.
Zielpositions-Abweichung: Ja, in der Formel (jetzt Nr. 12) wird der Zielort immer mit denselben Koordinaten xs und ys eingesetzt. Was sich verändert , sind die Koordinaten xi und yi des Roboters und seine Fahrtrichtung, ausgedrückt durch px und py. Formel (12) verwendet das Kreuzprodukt zwischen der Fahrtrichtung und dem Differenzvektor vom Ort des Roboters zum Zielort.
Schneckentempo: Ja, Du hast recht. Es ist so wie mit Achilles und der Schildkröte: Je näher der Roboter dem Ziel kommt, desto langsamer wird er und er wird wegen der Reibung auch vor Erreichen des Zielorts zum Stehen kommen. Man kann diese Restdistanz in Grenzen mit dem P-Parameter des Fahrtgeschwindigkeits-Reglers einstellen. Oder aber man lässt den Regler die Fahrtgeschwindigkeit nur bis zu einem Minimalwert absenken und schaltet dann bei Erreichen des Ziels die Motoren ganz ab. Hängt ganz davon ab, ob man danach noch weitere Ziele anfahren will oder sonst noch was vor hat.
Ich habe die korrigierte Version 02 wieder angehängt. Darin präzisiere ich auch die Impulszählung (nr und nl) besser: Es dürfen ja immer nur die Impulse in die Berechnung eingehen, die seit der letzten Ablesung dazugekommen sind.
Jetzt ist nur noch die Frage, wie sich sowas mit dem Reglungskonzept eines Asuro verträgt.
Ciao,
mare_crisium
Edit: Anhang gelöscht wg. Upload-Quota
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen