PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Mathe] Schnittpunkt dreier Geraden berechnen



Che Guevara
15.04.2014, 14:38
Hi,

ich sitze gerade vor der Software (m)eines Delta-Roboters. Im Grunde hab ich auch schon alles verstanden, jedoch gibts eine Sache, die ich nicht hinbekomme.
Das Ganze wird so aufgebaut: http://reprap.org/mediawiki/images/thumb/f/ff/DeltaRobot01.jpg/600px-DeltaRobot01.jpg (nur mit Zahnriemen anstatt Spindeln, aber das spielt hier keine Rolle).
Ich weiß die Koordinaten der drei Motor-Achsen und kenne die jeweiligen Abständen von diesen zur Platform (das bewegliche Ding in der Mitte).
Jetzt möchte ich die Position der Platform berechnen, also den Schnittpunkt der drei Vektoren (Motor.X -> Platform, Motor.Y -> Platform, Motor.Z -> Platform).
Wäre toll, wenn mir da jemand schnell auf die Sprünge helfen könnte, sollte wenn möglich ohne sin / cos auskommen, weils relativ schnell ablaufen sollte.

Vielen Dank & Gruß
Chris

derSpinner
15.04.2014, 15:43
Wie exakt soll es denn sein?
Ist eine Taylorreihe für Sin und Cos ausreichend? Kannst die Reihenentwicklung für Sin bzw. Cos ja auf beliebig viele Summanden erweitern, bis es dir genau genug ist.
Andernfalls hätte ich noch die Idee, anstatt der tatsächlichen Sin und Cos die Strecken zu nehmen und entsprechend einzusetzen (nach der Pythagoras-Formel für beliebige Dreiecke). Was Programmierung angeht bin ich zwar grad erst kurz vorm Anfang, aber bei mathematisch-technischen Problemen habe ich oft schnell viele Ideen zur Lösung - hoffe dir hilft mein Gedanke etwas. ;-)

Che Guevara
15.04.2014, 15:52
Hi,

also leider hilft mir das momentan nicht wirklich weiter, mir gehts erstmal nur im die konkrete Berechnung. Sin und Cos könnte ich dann auch per Tabelle berechnen, das ist erstmal egal.
Trotzdem danke für deine Tips, die werden mir in einem späteren Entwicklungsschritt sicherlich weiterhelfen ;)

Gruß
Chris

MagIO2
15.04.2014, 16:07
Ich würde mal sagen es geht nicht um den Schnittpunkt von 3 Geraden, sondern um den Schnittpunkt von 3 Kugeln. Die Geraden die du meinst sind die Radien der Kugeln, die Position der angetriebenen Seite der Stangen ist der Kreismittelpunkt.

Klebwax
15.04.2014, 16:20
Mir kommt da das Stichwort "inverse Kinematik" in den Sinn.

MfG Klebwax

Che Guevara
15.04.2014, 16:36
Hi,

ja im Prinzip ist es der Schnittpunkt von drei Kreisen mit jeweiligen Radius. Bei zwei Kreisen kenne ich die Vorgehensweise zur Schnittpunktberechnung, bei dreien jedoch weiß ich nicht so recht weiter.
Den Begriff der Inversen Kinematik kenne ich, ist ja glaube ich genau das, was ich machen will?!

Gruß
Chris

hbquax
15.04.2014, 16:42
Brauchst du es überhaupt so rum? Du willst doch vermutlich einen bestimmten Punkt im Raum anfahren und musst dafür die Soll-Position der drei Achsen berechnen.

Che Guevara
15.04.2014, 17:08
Ja, ich muss nach jedem (Motor)Schritt die aktuelle Position berechnen, um bestimmen zu können, welcher Motor jetzt wieder einen Schritt machen muss. Die Zielposition muss nämlich immer parallel (Platform) angefahren werden, damit das Werkzeug nicht irgendwie ins Werkstück fährt.
Außerdem möchte ich immer die aktuelle Position auf einem Display o.ä. darstellen, damit mans nachverfolgen kann.

Gruß
Chris

Technipion
18.04.2014, 11:27
Hey,
wenn es nur darum geht die Plattform waagerecht zu halten, dann musst du bloß schauen dass die Motoren immer so gleich hoch wie möglich sind.

Habe ich das jetzt richtig verstanden, dass die Plattform dann nur die Höhe verändern kann? Oder soll die Plattform jeden beliebigen (x/y/z)-Punkt ansteuern können (wobei sie dann ja konstruktionsbedingt nicht mehr waagerecht ist)?

Grüße Technipion

malthy
18.04.2014, 12:19
Oder soll die Plattform jeden beliebigen (x/y/z)-Punkt ansteuern können (wobei sie dann ja konstruktionsbedingt nicht mehr waagerecht ist)?

Beim Deltaroboter ist Plattform konstruktionsbedingt immer waagerecht.

Peter(TOO)
18.04.2014, 19:36
Hallo Chris,

Rückwärts rechnen dürfte am schnellsten sein.

Also die Position der Plattform festlegen und dann die 3 passenden Stellungen der linearen Antriebe berechnen.

MfG Peter(TOO)

Technipion
24.04.2014, 10:05
Beim Deltaroboter ist Plattform konstruktionsbedingt immer waagerecht.

Ja tut mir leid, habs mit einem Hexapod verwechselt :(
Das Bildchen ist aber auch ziemlich klein... :)

Nach diversen Recherchen im Internet bin ich auf dieses Paper gestoßen: http://cats-fs.rpi.edu/~wenj/ECSE641S07/delta_calibration.pdf

Hilft dir das irgendwie weiter Che Guevara?

Gruß Technipion