Roboter Positionsregelung

Gast #3142261
Lesenswert?

Hallo zusammen,

ich habe eine Frage. Und zwar möchte ich einen kleinen Roboter bauen, 
der selber vordefinierte Zielpunkte mit einer vorgegebenen 
Geschwindigkeit anfahren kann. Der Roboter hat zwei angetriebene Räder 
und zwei Stützräder. In der Software habe ich nun die Zielpunkte mit den 
gewünschten Geschwindigkeiten als Array abgelegt. Mein Problem ist jetzt 
- wie muss ich den Motor für das linke bzw. das rechte Rad ansteuern, 
sodass ich die Zielpunkte erreiche? Ich stehe da irgendwie total auf dem 
Schlauch.

An den Rädern sind Incremental Encoder dran, anhand derer ich die 
Position und den Winkel des Roboters berechne. Das habe ich bereits 
nachgemessen, und die berechnete Position stimmt auch ziemlich genau. 
Jetzt ist die Schwierigkeit eigentlich nur noch, die Geschwindigkeit für 
das linke und das rechte Rad zu berechnen, um einen gewünschten 
Zielpunkt anzufahren. Ich habe den hier beschriebenen Algorithmus

http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf

bereits einmal getestet, er hat auch funktioniert, allerdings ist dort 
das Problem, dass die Geschwindigkeit sehr undefiniert ist, und wenn ich 
einen Punkt angebe, der weit entfernt ist, fährt der Roboter erst 
schnell, und dann immer langsamer. Das ist nicht brauchbar. Kennt ihr 
Alternativen?
#3142308
Lesenswert?

Albert T. schrieb:
> An den Rädern sind Incremental Encoder dran, anhand derer ich die
> Position und den Winkel des Roboters berechne.

Das nennt sich Koppelnavigation und wurde früher (und auch heute wenn 
GPS ausfällt) vor allem in der Luft und Seefahrt angewendet.
Nachteil: Je weiter du dich bewegst (Ungenauigkeiten) und je länger 
(Störgrößen) desto größer wird dein Fehler. Also muss man so oft wie 
möglich wieder den tatsächlichen Standort bestimmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren