PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Omniwheelansteuerung berechnen



tischheber
19.02.2010, 09:21
hi,
ich hab einen Fußballroboter mit 4 Omniwheels.
die Omniwheels sind in etwa so angeordnet:
http://letsmakerobots.com/files/Omniwheel_Growbot.Original_Prototype.jpg

Bis jetzt hatte ich feste Befehle: z.b linksfahren

Ich will die Omniwheel ansteuerung aber berechnen.
hab auch auf diversen Internetseiten die verschiedenen Möglichkeiten gelesen.

diese (http://www.tu-chemnitz.de/etit/proaut/rk/fileadmin/user_upload/RK2008/Downloads/roboking2008_technischedokumentation.pdf) gefällt mir am besten.

ich weiß aber nicht wie man das mit 4 Omniwheels umsetzt, und wie das mit dem im Roboter eigenen Koordinatensystem funktioniert.

Wäre über Hilfe dankbar.

gruß
Thomas

tischheber
20.02.2010, 20:21
Würde mich bei einer Antwort sehr freuen.

gruß
Thomas

Besserwessi
20.02.2010, 20:55
Der Fall mit 4 Rädern und rechtem Winkel ist sogar der eher einfach zu berechnende. Um den Bot um die eigene Achse zu drehen, oder eine Kurve zu fahren müssen die beiden gegenüberliegenden Räder unterschiedlich schnell drehen. damit die Räder nicht druchdrehen, muß das für die beiden Richtungen gleich viel sein, also die gleiche Differenz in der Geschwindigkeit. Wenn man sich nicht drehen will, müssen die jeweils gegenüber liegenden Räder gleich schnell sein. Das vereinfacht die Rechnungs dann auf nur 2 Geschwindigkeiten. Die Bewegung durch die beiden Radpaare überlagert sich einfach vektoriell, was hier durch die senkrechte Anordnung auch noch ganz einfach ist. Eine Richtung kann als x die andere als y definiert werden.

tischheber
21.02.2010, 09:42
hallo,
vielen Dank für deine Antwort.
Wenn ich das jetzt mal so mache:



void drive_angle (int angle, int speed, int angular speed)
{
if(angular speed == 0)
{
if((angle > 45) and (angle < 225))
{
.
.
.
.



Wenn ich das so weiter mach dann wirds mir ja übel.


Gibts da nicht eine Funktion die du mir sagen könntest?

wenn ich das von dem einen Links von oben mache.#

dann kommt ja so ne Formel raus:

Motordrehzahl = Vx + Vy - Winkelgeschwindigkeit mal Abstand der Räder
vom Mittelpunkt des Roboters

was könnte ich in dem Fall für x und y einsetzen wenn der Roboter 95° fahren soll?

muss vielleicht hinzufügen, dass ich die Vektorenberechnung in der Schule noch nicht hatte.


bin 9. Klasse gymnasium

gruß
Thomas