Berechnung von Motorgeschwindigkeiten für einen Roboter mit Allseitenantrieb

Neue Frage »

Andy1988 Auf diesen Beitrag antworten »
Berechnung von Motorgeschwindigkeiten für einen Roboter mit Allseitenantrieb
Hallo,
Also ich habe folgendes Problem: Ich habe mir einen Roboter mit Omniwheel Antrieb gebaut.
Das heisst, dass es 3 Motoren gibt, die ein einem Kreis angeordnet sind. Jeweils mit einem Winkel von 120° zueinander. Auf den Wellen sitzen spezielle Räder, die auf der Lauffläche selber nochmal bewegliche Rollen haben. Somit ist es dem Roboter möglich in jede Richtung zu fahren, ohne sich drehen zu müssen.
Auf den Bildern weiter unten sieht man hoffentlich, was gemeint ist. Ist schwer zu erklären.

Hier sind noch ein paar Links zur Erklärung:
http://de.wikipedia.org/wiki/Omnidirektionaler_Antrieb
http://de.wikipedia.org/wiki/Omnidirektionales_Rad
http://team229.org/photo/39/
http://www.roboternetz.de/wissen/index.php/OmniWheels

Nun versuche ich verzweifelt die Motorgeschwindigkeiten zu errechnen.
Allerdings musste ich in den letzten Tagen feststellen, dass meine Mathekenntnisse einfach zu gering dafür sind. Obwohl sie schon recht gut sind. Ich habs über Vektoren, zusammengesetzte Bewegungen, Winkelfunktionen, Strahlensätze usw. probiert.... Kann mir vielleicht jemand dabei helfen?

Folgende Anforderungen hätte ich an die Funktionen:
Für jedes Rad sollte ein Wert zwischen -100 und +100 ausgespuckt werden (0-100 ist die Leistung, + und - links- oder rechtslauf des Motors)
Als Eingabe soll ein Winkel zwischen 0 und 360° dienen.

Klingt einfach, ises aber nicht Augenzwinkern

Ich hab mal ein Blatt mit ner Skizze und Maßangaben abfotografiert (Gott habe meinen Scanner seelig Augenzwinkern ).

Hier sind noch ein paar Bilder zum Roboter:
http://andy.gsm-modding.de/roboter_chassis/P8270259.JPG
http://andy.gsm-modding.de/roboter_chassis/P8270260.JPG
http://andy.gsm-modding.de/roboter_chassis/P8270261.JPG



Ich hoffe, dass das Prinzip des Roboters einigermaßen verständlich ist.
Poff Auf diesen Beitrag antworten »
RE: Berechnung von Motorgeschwindigkeiten für einen Roboter mit Allseitenantrieb
Etwas schlecht formuliert deine Anfrage.

Deine +-100 Werte korrelieren jeweils direkt mit den Drehzahlen
der jeweiligen Räder ?

+4 ist 'exakt' doppelt so schnell wie +2 ?


Du willst die drei Drehzahlen (bzw das Verhältnis der 3 zueinander)
damit das Ding durchgehend ohne Drehung direkt in die vorgelegte
Richtung fährt?

Dazu musst noch eine Nullbedingung, dh für das Fahren
in Richtung 0° vorgeben.



Ich denke das sollte nicht so 'schwer' sein, allerdings hab ich
momentan kein Bock für so'n Zeugs.
sqrt(2) Auf diesen Beitrag antworten »

Wenn ich dich richtig verstehe, sollte sich dein Gesamtgeschwindigkeitsvektor wie folgt zusammensetzen:



mit .

Du musst also das Gleichungssystem



so lösen, dass die Beträge der Komponenten des Lösungsvektors kleiner oder gleich 1 sind. Das sollte i.A. nicht eindeutig sein, vielleicht wird es das aber, wenn man als Bedingung dazunimmt. Unglücklicherweise gibt es dann aber in vielen Fällen überhaupt keine Lösung, sodass man an der Gesamtgeschwindigkeit noch drehen muss. Das dürfte ein handfestes Optimierungsproblem sein.
Andy1988 Auf diesen Beitrag antworten »

Zitat:
Original von Poff
Etwas schlecht formuliert deine Anfrage.

Deine +-100 Werte korrelieren jeweils direkt mit den Drehzahlen
der jeweiligen Räder ?

+4 ist 'exakt' doppelt so schnell wie +2 ?


Du willst die drei Drehzahlen (bzw das Verhältnis der 3 zueinander)
damit das Ding durchgehend ohne Drehung direkt in die vorgelegte
Richtung fährt?

Dazu musst noch eine Nullbedingung, dh für das Fahren
in Richtung 0° vorgeben.



Ich denke das sollte nicht so 'schwer' sein, allerdings hab ich
momentan kein Bock für so'n Zeugs.


Nein... die Werte zwischen 0 und 100 sollen einfach nur Stufen sein, wie schnell der Motor dreht. 0 ist halt aus, 1 ist langsam, 2 n bischen schneller und 100 dann irgendwann die volle Geschwindigkeit.

Das Verhältnis der 3 würde mir warscheinlich auch schon reichen, in dem die Motoren laufen müssen. Ich muss sowieso die Drehzahlen messen, damit er Motor auf jedem Untergrund gleich schnell läuft. Auf nem Teppich ist die Reibung ja höher, als auf Parkett zum Beispiel. Dazu kommen noch zusätzliche Toleranzen bei den Motoren. Evtl. kann man die aber auch vernachlässigen. Hab ich mir noch nicht genauer angeschaut. Das Ding soll sich erstmal in eine Richtung bewegen können ^^

@sqrt(2)
Danke! Ich werde mir das, wenn ich aus der Schule komme mal zu Gemüte führen Augenzwinkern
Ich hoffe du hast mich richtig verstanden
Poff Auf diesen Beitrag antworten »

sqrt(2), ich denke das Problem ist generell bestimmt und somit
eindeutig lösbar. Das widerspricht wohl deinem Ansatz,
weswegen ich auch glaube, dass der so nicht hinkommt.

Ich wollte das nur mal zur Diskussion stellen, damits nicht links
liegenbleibt weil angenommen das Problem sei nicht näher lösbar.
sqrt(2) Auf diesen Beitrag antworten »

Ich sage nicht, dass es nicht lösbar ist. Ich sage, der Roboter kann nicht in alle Richtungen gleich schnell fahren.
 
 
Poff Auf diesen Beitrag antworten »

Das ist erstmal was anderes, da gibts kein Widerspruch.

Seine Frage war das jedoch nicht, die war darauf gezielt,
wie müssen die Drehzahlen der drei Motoren lauten dass das Ding
direkt in eine frei vorgegebene Richtung fährt.
Die Zielgeschwindigkeit spielt dabei eine untergeordnete Rolle,
die hat für den jeweiligen Fall ein unterschiedliches Maximum,
aber das ist nicht das Thema, sondern das Verhältnis der
Drehzahlen damit das keine Spiralen und ähnliche Figuren fährt.

So hat er das zwar nicht formuliert, aber so wars gemeint, meine ich. Augenzwinkern
Andy1988 Auf diesen Beitrag antworten »

Ich hab noch ein PDF dazu gefunden. Da steht auch einiges drin. Wenn ich irgendwann mal nach den ganzen Arbeiten in der Schule Zeit hab werd ich das mal programmieren und schauen, was er so macht Augenzwinkern

http://wwwiaim.ira.uka.de/dilepis2/data/...el%20230903.pdf

Danke für eure Hilfe!
sqrt(2) Auf diesen Beitrag antworten »

Zitat:
Original von Poff
Das ist erstmal was anderes, da gibts kein Widerspruch.

Wenn du dir meinen Ansatz oben anschaust, siehst du, dass die Zielgeschwindigkeit entscheidend ist, um eindeutige Lösungen zu bekommen.
Poff Auf diesen Beitrag antworten »

Zitat:
Original von sqrt(2)
Wenn du dir meinen Ansatz oben anschaust, siehst du, dass die Zielgeschwindigkeit entscheidend ist, um eindeutige Lösungen zu bekommen.


Nein, das Drehzahlverhältnis hängt nur von dem bestimmten Richtungswinkel ab, nicht von der Zielgeschwindigkeit.


Dass du um einen fixe Zielgeschwindigkeit zu erreichen bestimmte
zugeordnete Drehzahlen brauchst ist ja wohl selbstverständlich. Augenzwinkern
sqrt(2) Auf diesen Beitrag antworten »

Das klingt schlüssig, in den Ansatz eingebaut ist dies jedoch nicht.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »