2009-05-10 2 views
3

Ich bin ein Künstler, der mit dem Bau verschiedener computergesteuerter Maschinen beschäftigt ist. Ich habe mit dem Prototyping einer auf Gimble basierenden XY-Lackiermaschine begonnen und festgestellt, dass die benötigte Mathematik außerhalb meiner Reichweite liegt. Ich bin ein anständiger Programmierer, aber nicht stark in Mathe. 3D Mathematik.Mathematik-Programmierhilfe für eine auf Gimble basierende Malmaschine

Um ein Gefühl dafür, was ich brauche, es zu tun, könnte hilfreich sein bei der Bohranlage suchen:

frühe Prototyp:

http://roypardi.com/gimble/IMG_2803.JPG

http://roypardi.com/gimble/IMG_2805.JPG

http://roypardi.com/gimble/IMG_2806.JPG

http://roypardi.com/gimble/gimbleSmall.MOV (kleines Video)

http://roypardi.com/gimble/gimbleLarge.mov (größere Video)

Die beiden inneren Ringe repräsentieren die X/Y-Achsen und werden durch Schrittmotoren gesteuert. Ich möchte in der Lage sein, sowohl Rasterbilder als auch Vektordaten (gcode) zu verwenden. Also muss ich in der Lage sein, einen Punkt im 2D-Raum auf dem Papier/von meinen Daten zu adressieren und die Kimmlinge herauszufinden, in welcher Orientierung sie sein müssen, um dorthin zu gelangen (d. H. Wieviel Schritt für jeden Motor erforderlich ist).

Ich habe 2D> 3D-Projektion, Euler-Winkel usw. gesucht, aber ich bin überfordert. Alle Pointer, Push in die richtige Richtung oder Code-Snippets wären sehr willkommen. Ich kann den meisten Programmiersprachen einen Sinn geben.

+0

fyi der allgemeine Begriff ist en.wikipedia.org/wiki/Gimbal, obwohl Sie sicherlich eine proprietäre Rechtschreibung für Ihre Version verwenden können. :) –

Antwort

0

Ich denke, es ist ein Problem der einfachen http://en.wikipedia.org/wiki/Trigonometry

Lassen Sie uns sagen, dass der Abstand vom Zentrum der Ringe zum nächsten Punkt auf dem Papier (das werde ich Punkt ‚O‘ für ‚Ursprung‘ nennen) ist Abstand X.

einen weiteren Punkt P nördlich von O direkt nehmen, deren Abstand von O Y.

Um diesen Punkt zu malen, müssen Sie den Winkel alpha, dass tan (alpha) = Y/X, dh Sie kann Alpha mit der Formel "arctan (Y/X)" berechnen [Arctan wird manchmal auch als Atan bezeichnet]. Arctan ist eine trignometrische Funktion, die Sie wahrscheinlich in der API einer universellen Mathematikbibliothek definiert finden.

Das oben genannte ist der einfachste Fall.

Der einzige andere Fall, an den ich denken kann, ist, wenn der Punkt P nicht genau nach Norden ist. Anstatt nach Norden zu kommen, sagen wir, dass seine Entfernung Y1 im Norden und Y2 im Osten ist. Die Lösung besteht aus zwei Winkeln (ein Winkel für jeden von zwei Ringen), von denen einer "arctan (Y1/X)" und der andere "arctan (Y2/X)" ist.

1

Sehr schöne Maschine, die Sie gemacht haben, ich hoffe, das funktioniert für Sie Ich glaube, es ist richtig.

Die Art, wie ich es sehe, ist, einen Winkel zu bekommen, ist einfach, aber der andere ist etwas schwieriger zu visualisieren, wie wir die Achse gekippt haben, auf die er sich dreht.

Ich werde vermeiden, Bräunung zu verwenden, da bei der Programmierung dies zu einer Division durch 0 führen könnte, was frustrierend sein könnte. Auch Z wird die Höhe des Ursprungs über dem Papier sein.

YAXIS = arcsin (X/sqrt (X² + Z²))

XAxis = arcsin (Y/sqrt (Y² + X² + Z²))

oder wir

XAxis verwenden könnte = arcsin (Y/sqrt (Y² + Z²))

yaxis = arcsin (X/sqrt (X² + Y² + Z²))

auch hatte ich sehr gerne ein Video von dieser Plotten, um zu sehen, ob es funktioniert.

Bearbeiten: Nach dem Nachdenken darüber glaube ich, dass nur eine Lösung funktionieren wird, es hängt davon ab, welche Achse von der anderen betroffen ist. Ist die YAxis in der Mitte oder die Xaxis?

+0

Danke ChrisW + sekian. Ich folge, was Sie beide sagen. Ich habe diesen interaktiven Trigger-Rechner gefunden, nachdem ich meine Frage gepostet habe, und fange an, zu verstehen, wie ich das angehen soll. Ich muss eine Übersetzung der Bitmap-Daten machen, so dass 0/0 im Zentrum des Bildes steht. Und dann finde heraus, wie man das Bogenmaß in diskrete Schritte umwandelt (Schrittmotoren bewegen sich in + oder - n Schritten). Könnte ein bisschen Versuch und Irrtum dort sein - Anzahl der Schritte, die ein Ring in seinem Bewegungsbereich bewegen kann (sagen wir -45 Grad bis 45 Grad) und dann die Anzahl der Schritte pro Radiant bestimmen - so etwas. danke/Roy –

+0

Oh - bedeutete, den Link zum Trig-Rechner hinzuzufügen: http://www.visualtrig.com/Default.aspx –

+0

Radianten werden leicht in Grad konvertiert (ich nehme an, Sie wissen, wie viel Grad jeder Schritt Motor ist), um Radianten in Grade umzuwandeln, multiplizieren wir sie mit 180 und teilen sie mit pi. Um die XAxis in Grad zu erhalten, würden Sie also arcsin (X/sqrt (X² + Z²)) * 180/3.141592 Auch Z könnte verwendet werden, um die Skalierung Ihrer Zeichnung zu beeinflussen, nur gedacht, dass ich Sie wissen lassen würde Falls du es nicht bemerkt hast. Wenn Sie neugierig sind, wie ich zu den Gleichungen gekommen bin, die ich Ihnen gegeben habe, erkläre ich Ihnen gerne mit Hilfe eines Diagramms. –

0

Vielleicht verkenne ich, aber ich glaube nicht, dass ein Gimbal tun wird, was Sie wollen. Ein Gimbal kann in jede 3D-Richtung zeigen, aber es kann sich nicht zu beliebigen Punkten im 3D-Raum bewegen. Wenn die Papierebene die von dem im Gimbal gehaltenen Stift überstrichene Menge schneidet, könnte der Stift einen Kreis zeichnen, aber nicht mehr. Selbst das Zeichnen eines Kreises ist nicht sicher, da in diesem Fall das Papier auch das von den Kardanringen überstrichene Volumen schneiden würde; Der Versuch, den Stift zu orientieren, würde einen Ring auf das Papier schlagen lassen.

Ich denke, was Sie wollen, ist ein plotter, kein Gimbal.

+0

Wenn man sich den Film ansieht, scheint er eher mit einem Laser als mit einem Pinsel zu malen. – ChrisW

+0

Ja - Ich werde einen Tintenstrahl (fester Strom, Hochdruck, gesteuert durch ein Magnetventil) in der Mitte des kleinsten Rings verwenden. Ich habe eine andere Maschine, an der ich arbeite - traditionellere X/Y-Plotter - und die Programmierung dafür ist ziemlich einfach (obwohl Präzision + Auflösung = Motorsteuerung war eine kleine Herausforderung. Einige Bilder hier: http://roypardi.com/dp/ –

+0

OK, ich habe den Laserspot im Film zuerst nicht gesehen und jetzt sehe ich, wovon du sprichst Ich werde meine Antwort hier jedoch als Warnung an andere hinterlassen Vor dem Posten prüfen. –

Verwandte Themen