Naja, ist weder "mein" SynchroDrive, noch hab ich's jemals selber gebaut (die Feinjustage der Radwinkel war mir immer ein Greuel). Aber es ist auch wieder ein Antriebskonzept, dessen Ansteuerung sich vom Differenzialantrieb unterscheidet.
Insofern bin ich immer noch Anhänger der Theorie, dass ein Fahrgestell (mit Odometrie) zwischen 20 und 1000 Euro kosten kann, was uns aber projektbezogen herzlich egal sein darf, wenn wir 2,50 Euro für nen Controller mit Schnittstelle spendieren - oder uns zumindest im Vorfeld als Option über die Abstraktion dieser Schnittstelle im klaren werden (im Zweifelsfall ist das dann nen freigelassener Stecker, der über UART oder I2C als Anschluss dient).
Um diesbezüglich etwas Fleisch in die Diskussion zu bringen (ich denke, mit Geradeausfahrt eines Differentialantriebes hat sich jeder Beteiligte hier schon mal auseinander gesetzt, mit nem über SLAM rückgekoppelten Abfahren eines Pfades auch? Keine Ahnung - Ich kanns nicht sagen.), presche ich jetzt mal einfach vor mit der Vorstellung der Bewegungsschnittstelle, die ich eigentlich stabil in den letzten Jahren verwende:
Code:
MoveManual(x,y); //Joystick - immer wieder lustig für die Kinder
Linear(distance, direction); // Geradeausfahrt vor-/rückwärts
Turn(angle, direction); //Drehung links/rechts
MoveTo(point); //ausgehend von der subjektiven (über Odometrie bestimmten) Pose eine fließende Kombination aus Drehung und linearer Bewegung zum angegebenen Punkt.
(Kleine Ergänzung: Das Stop() ist bei mir nen MoveManual(0,0); )
Dazu kommt dann noch als Funktion, dass die subjektive Pose laufend aus den Inkrementalgebern aktualisiert wird (braucht man sowohl intern für die MoveTo-Regelung als auch extern für das Vernücken der Sensorwerte) sowie ein auszulesender, einzustellender und im EEPROM persistent zu machender Parametersatz (Regelparameter, Infos über Radabstand und Schrittauflösung, Geschwindigkeitsvorgaben).
Mehr braucht's nicht zu meinem Glück (aber auch nicht weniger). Ob das Ding nun auf zwei oder vier Rädern, auf Ketten oder Beinen läuft, ist mir egal. Den notwendigen Rest, also die Umrechnung zwischen Odometrie (subjektive Pose) und SLAM (objektive Pose) mache ich dann in beide Richtungen mit 2D-Transformationen.
Soll jetzt aber nicht heißen, dass das der goldene Weg ist. Vielleicht hat's jemand anderes besser oder kompakter drauf oder er (sie) braucht noch mehr.
Lesezeichen