PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Trajektorien eines 3-Achs Roboters in Position und Geschwin.



Henryy
23.01.2010, 15:41
Hallo,

Ich stehe vor der Aufgabe, Endeffektor-Trajektorien eines 3-Achs Roboters zu realsisieren – sowohl im Hinblick auf Position, als auch Geschwindigkeit. Als Aktoren dienen drei Schrittmotoren.

Die Target-Trajektorie im kartesischen Raum ist sehr komplex und beschreibt eine kontinuierliche Bewegung. Nach Übersetzung dieser Trajektorie in den Raum der Aktorkoordinaten mithilfe inverser Kinematik erhält man eine lange Liste, bestehend aus den Target-Winkeln der drei Motoren und den zugehörigen Zeitpunkten (Abtastfrequenz ist 100 Hz). Meine Aufgabe ist nun, die durch diese Liste spezifizierte Motorbewegung zu realisieren – bei leider sehr geringen Vorkenntnissen im Feld der Microcontroller.

Welches technische Setup wäre zur Lösung dieser Aufgabe zu empfehlen? Eine mögliche Variante sähe ich darin, drei Treiber-Module mit Schritt/Richtungs-Eingang zu verwenden – in Kombination mit einem universellen Microcontroller, der so programmiert wird, dass er die gegebenen Target-Trajektorien in die zugehörigen Schritt/Richtungssignale umrechnet und an die Treiber-Module ausgibt. Falls dieses Setup sinnvoll ist - welcher Controller könnte sich dafür eignen, d.h. über genügend Rechengeschwindigkeit, Speicher und auch Encoder-kanäle verfügen?

In Anbetracht meiner geringen Erfahrung in diesem Bereich würde ich allerdings eine Lösung vorziehen, die einfacher zu implementieren ist.

Für mögliche Vorschläge bedanke ich mich herzlich im Voraus!

TheDarkRose
23.01.2010, 18:40
Also wenn es einfach sein soll, dann köntest du EMC2 (www.linuxcnc.org) hernehmen. nicht erschrecken, ist nicht nur für CNC fräsen gedacht sondern du kannst eben auch Roboterarme damit steuern. Wenn du dort ins Manual (http://www.linuxcnc.org/docview/html/) unter Kinematik (http://www.linuxcnc.org/docview/html/motion_kinematics.html) siehst du wie du deine inverse Kinematik implementieren kannst.
Dann kannst du einfach über den Druckerport drei L297/L297 (oder jede andere Schrittmotorttreiberkarte mit Richtungs- und Taktsignaleingängen) für deine drei Schrittmotoren ansteuern.

Henryy
24.01.2010, 11:08
Geschwindigkeitsgeregelte Konturbewegung scheint über entsprechenden G-Code tatsächlich realisierbar. Das Problem ist nur: einen kompletten PC neben den Roboter zu stellen, wäre ein wenig "Overkill" für meine Anwendung. Die Target-Trajektorie ändert sich nie und soll einfach nur automatisch abgefahren werden, sobald man auf den Startknopf drückt. Eine etwas niedriger dimensionierte Lösung wäre mir daher wesentlich lieber...

Trotzdem vielen Dank für den Tipp!

021aet04
24.01.2010, 12:17
Du kannst auch ein ITX Board o.Ä. nehmen. Ist zwar auch ein PC, verbraucht aber weniger und Monitor, Tastatur,... kannst du wegnehmen und wenn du etwas ändern willst einfach anschließen.

MfG Hannes