Archiv verlassen und diese Seite im Standarddesign anzeigen : omnidirektionaler Antrieb (kreise Fahren)
Hallo, ich hab die letzten zwei tage im netz verbracht um mich mit der kinematischen Gundlage der Steuerung eines dreiachsigen omnidirektionalen Roboters vertraut zu machen. Die Grundlagen habe ich soweit verstanden (Fahren in verschiedene Richtungen, Fahren mit gleichzeitigem Drehen), bzw. auch brauchbare Informationen gefunden. Nur eine Sache habe ich nicht gefunden und somit auch nicht verstanden:
Wie kann ich den roboter auf einer Kreisbahn um einen mittelpunkt bewegen ? Und ich meine so, dass immer der gleiche Punkt des Roboters zum Mittelpunkt zeigt...
Kann mir da jemand helfen? Gibt es da eine Formel?
MacGeforce
21.09.2008, 21:00
Bin mir ehrlich gesagt nicht sicher ob ich die Frage richtig verstehe...
such mal nach Momentanpol, und Ackermann bedingung
des ist aber streng genommen für 2-achser...
Es gibt Schwertransporter bei denen kann man jedes rad elektronisch einzeln drehen. Man kann dann den Momentanpol völlig frei festlegen.
Der Momentanpol, also der Punkt um den sich dein Roboter gerade dreht. konstruiren kannst du ihn dir, indem du den schnittpunkt aller rechtwinklig von deinen Rädern abgehenden geraden bildest. (naja schlecht erklärt)
alle räder laufen dann auf kreisbahnen um den momentanpol.
die bedingungen kannst dir auf nem blatt papier herleiten.
wie gesagt, bin mir net sicher ob du was anderes meinst
hab hier noch was gefunden...
http://www.informatik.uni-bremen.de/~roefer/kr00/03s.pdf
hey, vielen dank für die schnelle antwort!
momentanpol ist wohl das passende fachwort, danke!
ich hab ein youtubevideo gefunden, auf dem genau zu sehen ist, was ich meine (zumindestens die ersten 10 sec) :http://de.youtube.com/watch?v=d0121rDxe58&NR=1
das pdf habe ich auch schon durchgelesen, und darin nicht die lösung gefunden... wenn ich blind bin, bitte den zaunpfahl!! 8-[
MacGeforce
22.09.2008, 13:25
Unter der Folie Omnidirektional Killought (intern S.14)
stehen Formeln, hab die jetzt nicht genau angeschaut oder nachvollzogen, dachte einfach die könnten es sein..
ja, die formeln sind schon in ordnung, nur sind die leider für gradlinige bewegungen gedacht und nicht für das umrunden eines momentanpols...
hoi,
also ich würde sagen, du musst deinen roboter mit der entsprechenden winkelgeschwindigkeit drehen. und dabei dann aber den richtungsvektor der vorwärtsgeschwindigkeit so anpassen, dass er im roboterkoordinatensystem immer in die gleiche richtung zeigt.
mfg jeffrey
edit: hab grad mal das pdf angesehen. irgendwie raff ich die formeln da net. ich blick net, ob des koordinatensystem ortsfest oder roboterfest ist.
hallo, das geht schon in die richtige richtung...
http://wwwiaim.ira.uka.de/data/File/Publications/AMS2003%20SchroeGockel%20230903.pdf
da ist auf seite acht auch noch mal ne gute zeichnung mit formeln, nur da tut sich für mich das gleiche problem auf, ist die x- / y-achse fest an die roboterachse gebunden, versteh ich nicht, wie man da ne winkelgeschwindigkeit angibt, also sollte sie frei sien, dann bekomme ich aber probleme mit dem rechnen... oder?
hi,
setz des doc einfach in die formel ein. w als konstant, und vx und vy auch, dann sollte es doch eine kreisbahn mit dem radius r=v/w geben.
mfg jeffrey
Wow, Danke!! es funktioniert!! Hab ein wenig rumgerechnet und das Ganze vom Computer simulieren lassen und es funkt!! Dass das so simpel ist ( r=V/w ) ... und ich hab das echt nicht gefunden!
Jetzt versteh ich nur eine Sache nicht, wenn der der Roboter mit seinem Mittelpunkt eine Gerade verfolgt, einfachheitshalber z.B. die x-Achse, und sich dabei um sich selber drehen soll, also eine Winkelgeschwindigkeit hat, kann ich das doch nicht mit der Formel rechnen, wie dann?
hi,
jein, dann ändert sich halt die richtung von v die ganze zeit.
vx=cos(alpha)*V
vy=sin(alpha)*V
außerdem gilt w=alpha_punkt
musst jetzt dann halt ableiten etc. aber aufpassen kettenregel und so beachten
mfg jeffrey
Oha, ich versuche zu folgen...
vx=cos(alpha)*V
vy=sin(alpha)*V ist soweit klar...
w=alpha_punkt ist mir jetzt nicht so klar
ableiten also abgeleitet bekomme ich eigentlich alles, nur was ? hier endet mein abstraktes vorstellungsvermögen^^ (ableitung gibt die steigung jedes punktes des abgeleiteten schaubildes wieder, das bring ich nicht ganz mit mienem porblem unter einen hut!)
kettenregel danke, vergisst man schon mal...
vielen dank!! du scheinst ja echt ahnung zu haben...
fürn anfänger wie mich is das am anfang alles noch son bisschen verwirrend, aber einfach auch spannend, wie das dann alles wieder zusammen passt und einen sinn ergiebt...
hoi,
ich meinte das so, dass du ja nun das problem hast, dass in vx und vy zwar alhpha vorkommt, aber nicht w. am einfachsten ist es nun w aufzuintgrieren, damit man daraus alpha bekommt. allerdings führt das auf längere sicht vermutlich zu drift. aber in der simulation sollte es funktionieren.
mfg jeffrey
ok, da erschöpft sich mein klägliches schülerwissen... ich war dann mal so frei zu googln und bin auf das da gestoßen
http://www.mikrocontroller.net/math/273ee4afdf8b1b6667918dc7c0cd1a30.png?source=d%5Cph i+%3D+%5Comega+%2A+dt%20
http://www.mikrocontroller.net/math/11d5820845052d9a64156fa5521bab2d.png?source=%5Cphi %28t%29+%3D+%5Cint+%5Climits_0%5Et+d%5Cphi_i+%2B+% 5Cphi_0
... ?? leider bin ich nicht wirklich schlauer...
prinzipiell gehe ich dann aber von einem fixen koordinatensystem aus, in dem alle werte in abhänigkeit von winkel alpha angegeben werden, der sich innerhalb einer definierten zeitspanne ändert, womit der gewünschte effekt erzielt wird?
hoi,
ob das jetzt phi oder apha ist, ist egal. in tm oder so heißt des meistens phi. bleiben wir bei phi.
also phi ist das integral von w. mit was simulierst du denn, da sollte es eigentlich einen integrator geben. phi0 ist dein winkel, den der roboter beim start zur x-achse hat.
mfg jeffrey
also ich simuliere mit einem programm, das ein kumpel in delphi extra darür geschrieben hat/schreibt, sprich er kann natürlich auch nur sachen programmieren, die wir mathematisch verstehen... ^^
es tut mir leid, aber mit dem integrieren komm ich nicht klar.
was bedeutet w=alpha_punkt bzw wie kann man einen winkel ableiten??
ich werd nochmal mienen lehrer fragen...
hoi,
der einfachste integrator ist einfach die Werte aufzusummieren. Also das Integral von w ist dann einfach phi_n+1=phi_n+w*dt
mfg jeffrey
hi, war jetzt ne nacht weg...
kann man phi (oder wie auch immer man den winkel nennt...) nicht auch als winkelgeschwindigkeit mal zeit darstellen?
hi, war jetzt ne nacht weg...
kann man phi (oder wie auch immer man den winkel nennt...) nicht auch als winkelgeschwindigkeit mal zeit darstellen?
hi,
jein wenn die winkelgeschwindogkeit konstant ist timmt das. sonst nicht.
mfg jeffrey
???? und wie will man das bitte exakt angeben, wenn sich das ändert?
???? und wie will man das bitte exakt angeben, wenn sich das ändert?
dann musst du eben das integral berechnen.
ok so weit verstanden... vielen dank! denk ma meine frage wäre beantwortet^^
mare_crisium
29.09.2008, 10:50
TiA,
jeffrey und Du seit ja bei Eurer Diskussion ziemlich weit gekommen :-) ! - Mir ist aber eine Idee gekommen, wie's noch anders gehen könnte. Dazu müsstest Du aber ein bisschen Vektorrechnen können. Habt Ihr das schon gehabt?
Ciao,
mare_crisium
jo, schieß los!! ich bin schon gespannt...
mare_crisium
01.10.2008, 16:36
TiA,
mein erster Schuss stellte sich leider als Fehlschuss heraus :-( . Der zweite lässt sich ganz vernünftig an, es ist aber noch ein Fehler drin, den ich vor meiner kommenden Abreise (am Samstag) nicht mehr ausmerzen werde. Deshalb will ich den Zwischenstand nicht veröffentlichen.
Wenn Du aber bis zu meiner Rückkehr (um den 10.10.) selbst ein bisschen knobeln willst, dann schick' mir eine PN mit Deiner Emailadresse und ich schicke Dir die pdf-Datei mit dem Zwischenstand.
Ciao,
mare_crisium.
mare_crisium
24.10.2008, 19:15
Hi, OmniWheelies,
jetzt habe ich die Rechnung für die Kreisbahnfahrt fertig. Die Rechnung bezieht sich auf einen dreirädrigen Fahrroboter, der mit Omniwheels ausgerüstet ist. Die Geometrie der Radanordnung usw. geht aus den Abbildungen hervor.
TiA wollte wissen, wie man es hinkriegt, dass das Fahrzeug so im Kreis fährt, dass immer dieselbe Seite zum Kreismittelpunkt zeigt. In der angehängten Datei ist ausgerechnet, welche Motordrehzahlen und -richtungen man für so eine Kreisbahnfahrt einstellen muss.
mare_crisium
Hallo Mare_crisium, ich bin beeindruckt, von deiner Mathe und v.a. auch der Präsentation und Darstellung. Ich werde mir das auch mal zu Gemüte führen.
Sigo
Hallo Mare_...,
schöne darstellung. aber das problem mit der kriesfahrt um einen mittelpunkt hatten wir doch eigentlich schon lange gelöst.
das neue problem war doch das fahren einer geraden strecke mit gleichzeitiger drehung. dafür hatte ich ja auch scon eine vorschlag gemacht. ob dieser bisher schon progframmtechnisch umgesetzt wurde weiß ic nicht.
mfg jeffrey
ja, noch einmal ein dickes danke!!! von der darstellung werde ich mir in zukunft eine scheibe abschneiden (oder es zumindestens versuchen)^^ beeindurckend, wenn so "simple dinge" mathematisch ausformuliert werden...
mare_crisium
25.10.2008, 19:15
Guten Abend, OmniWheelies!
Es freut mich, dass die Darstellung Euch gefällt.
@Sigo,
prima, dass Du diesen Thread gefunden hast :-) ! Ich hatte mir schon überlegt, ob ich Dir die Rechnung per Email zuschicken sollte. Wie geht's Deinem Omnibot?
@Jeffrey,
ja, hast recht, das Thema hattet Ihr schon. Mich hatte interessiert, ob man das Problem der Kreisfahrt auch mit einfachen mathematischen Bordmitteln ;-) lösen könnte (ohne Differentialrechnung und Betrachtung bewegter bzw. ortsfester Koordinatensysteme).
@TiA,
hat mir Spass gemacht, das mal durchzuexerzieren. Es würde mich freuen von Dir hören, wenn Dein Roboter sich auf die Reise macht!
Ciao,
mare_crisium
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.