Roboter-Arm (mit Blender & Dragonframe)

Roboter-Arm (mit Blender & Dragonframe)

Kontakt: MediaDock, MediaDock

Wir haben im MediaDock mehrere 6-Achsen-Roboter Arme von Annin Robotics. Einer davon kann per Blender-Schnittstelle angesteuert werden und durch eine Verknüpfung mit der Software Dragon Frame Kamerafahrten ausführen und aufzeichnen.

Diese Lösung eignet sich vor Allem wenn du…
…mit Fotografie und Video arbeiten willst (z.B. Stopp-Motion).
…automatisierte Fahrten ausführen willst, bei denen die genaue Abfolge der Bewegung wichtig ist.

Falls diese Lösung nicht zu deinen Bedürfnissen passt, kannst du dich hier über die andere Steuerungssoftware informieren.

Start & Kalibration

Um ein neues Projekt zu starten, öffnest du zuerst Blender. Dabei wird ein File aufgemacht, welches bereits für die Arbeit mit dem Arm präpariert ist.

Sobald Blender läuft, verbindest du den Arm über seine USB C-Buchse mit den PC. Danach muss der Roboter angeschaltet werden. Schliesse ihn dafür mit dem entsprechenden Netzteil an eine Stromquelle an. Achtung: Wenn der Roboter am Stromnetz hängt, darf die Abdeckung des grauen Gehäuses auf keinen Fall mehr entfernt werden.

Anschliessend findest du den AN/AUS-Schalter an der Seite des Gehäuses.

Um den Roboter nutzen zu können, muss er kalibriert sein. Im rechten Bildrand deines Blender-Projektes findest du ein Fenster. Wähle dort den Reiter «Motion Control» aus und klicke dann den Button «Startup».

Danach wird der Port des Roboters abgefragt. Dieser sollte bereits stimmen und kann durch «Ok»bestättigt werden.

Die Maschine wird nun alle 6 Achsen nach einem bestehenden Config-File ausrichten. Falls der Arm sich nicht verbinden lässt oder du siehst, dass die Position des Armes nach der Kalibration nicht mit dem im Projekt angezeigten Model übereinstimmt, melde dich bei einer MediaDock-Mitarbeiter*in.

Bewegung programmieren

Der Arm wird schliesslich programmiert, in dem du das Model im Projektbereich positionierts und die resultierenden Positionen auf einer Timeline speicherst. Dazu wählst du das «Move»- oder «Rotate»-Werkzeug am linken Bildrand aus, klickst auf das Abbild des Roboters und positionierst ihn.

Du wirst sehen, dass sich das blau gefärbte Objekt nach deiner Bewegung ausrichtet. Der ausgegraute Geist bleibt jedoch statisch und zeigt die tatsächliche Position des physischen Arms an.

Wenn du mit der Pose zufrieden bist, wechsle auf das «Select Box»-Werkzeug in der Leiste am Linken Bildrand. Damit wählst du dann das gesamte Arm-Model aus.

Mit dem Shortcut «I» oder einem Rechtsklick kannst du das «Insert Keyframe Menu» öffnen. Dort wählst du den Befehl «Visual Location and Rotation» an.

Dadurch erstellst du einen Keyframe auf deiner Timeline, die du am unteren Bildschirmrand findest. Du kannst die Keyframes dort auch anklicken und verschieben.

Nach der ersten Kalibration findest du im «Motion Control»-Fenster die Befehle, die du währen der Arbeit mit dem Roboter ebenfalls brauchen wirst.

«Transfer»/»Sync»: Nachdem du die Arm-Armatur in Blender positioniert hast, kannst du die Position mit «Transfer» auf den physischen Arm anwenden. Dieser bewegt sich dadurch in die von dir festgelegte Pose. Im Gegensatz dazu lässt «Sync» das Arm-Model zur Position des Geistes (und damit der tatsächlichen Position des Armes) springen.

«Power off»: Dieser Befehl trennt die Verbindung zwischen Arm und Software. Das ist unbedingt notwendig, wann immer du Blender schliessen willst – auch, wenn du keine Änderungen am Projekt vorgenommen hast.

«Calibrate robot»: Falls du den Roboter über längere Zeit nutzt und eine re-Kalibrierung durchführen willst, kannst du das mit diesem Button tun.

«Use FK/IK»: Hierbei geht es darum, die Armatur des Armes unterschiedlich ansteuern zu können.

Bei «Inverse Kinematics» (IK) gibt es einen Controller-Punkt am Ende eines Skelets (im Fall des Armes ist das die Stelle, an dem die Kamera sitzt). Um eine Zielposition zu definieren, bewegts du diesen Punkt, wobei sich der Rest des Objektes automatisch anpasst, um diese Position zu erreichen.

«Forward Kinematics» (FK) hingegen ist ein System, bei dem übergeordnete Gelenke untergeordnete Gelenke drehen. Hier hast du daher die Möglichkeit, einzelne Punkte im Model anzuwählen und diese zu bewegen.

Sobald du mit all deinen Keyframes zufrieden bist, wählst du den ersten Punkt im «Motion Control»-Fenster an. «Start capturing» macht dein File für die zweite Software, Dragonframe, nutzbar. Wann immer du etwas an deinem Blender-Projekt ändern möchtest, switche zurück zu «Stop capturing».

Aufnahmen

Nachdem du «Start capturing» angewählt hast, kannst du die Software Dragonframe öffnen. Dort öffnest und benennst du eine neue Szene. Wenn das Projekt aufgeht, wird ein Pop-up erscheinen, bei dem du auf «Open Connections…» klickst. Hier ändern wir zwei Einstellungen. Gehe zuerst in den Tab «Cameras».

Dort wählst du sowohl bei «Video Assist Source» als auch bei «Capture Source» die richtige Kamera aus. In unserem Setup ist das die Logitech BRIO. Danach solltest du den Live-Feet der Webcam im kleinen Vorschaufenster auf der rechten Seite sehen können. Wechsle anschliessend zum Tab «Captures».

Hier deaktivierst du die Einstellung «Go Motion Enabled». Bestätige die Änderungen, indem du auf «Ok» drückst.

Im Dragonframe-Projekt klickst du dann auf den Reiter «Arc Motion Control».

Hier verknüpfst du dein Blender-File, damit du auf die programmierte Arm-Bewegung zugreifen kannst. Das tust du, indem du auf die vier horizontalen Linien am linken Bildrand klickst. Da wählst du «Import» und schliesslich «Arc Move (arcm)» aus.

Im anschliessend aufpoppenden Fenster kannst du das aktuelle Blender-Dokument auswählen.

Nachdem die Bewegung importiert würde, kannst du die Startposition des Arms überprüfen. Klicke dafür auf die «-1.00» am oberen Rand der Timeline.

Wenn du hier nun den Wert «1.00» eingibst, bewegt sich der Arm zur ersten Position. Falls nötig kannst du hier auch andere Zahlen eingeben und damit weitere Positionen deiner Fahrt ansteuern und prüfen.

Sieht alles ok aus gehst du zurück zum Tab «Animation».

In der Tabelle am rechts neben dem Kamera-Feed steuerst und überprüfst du deine aufnahmen.

Um ein Capture auszulösen, wählst du das entsprechende Frame in der Liste aus und drückst die Enter-Taste. Falls das Pop-up «Moco Not Ready To Capture» auftaucht, wählst du «Yes» an.

Anschliessend wirst du noch gefragt, ob deine Aufnahmen als «Video Assist Image» oder «High Resolution Photo» gemacht werden sollen. Danach wird der Arm die jeweilige Position einnehmen und die Kamera ein Foto schiessen. Willst du mehrere Aufnahmen in Sequens machen, wähle das Menu «Capture» und den Befehl «Shoot Multiple Frames».

Dort kannst du festlegen, wieviel Shoots du nacheinander auslösen willst. Du kannst deine Fotos jederzeit überprüfen, in dem du zu vorherigen Einträgen in der Tabelle zurückkehrst. Einmal ausgewählt, kannst du Bilder auch nochmal aufnehmen, in dem du wieder die Enter-Taste drückst.

Bist du mit allen Frames zufrieden, kannst du das Projekt als Bilderserie oder Video exportieren. Die Optionen dazu findest du unter dem Menü-Punkt «File». Hier kannst du unter anderem File-Typ, Name und Speicherort für dein Output festlegen.

Wurden deine Daten exportiert, kannst du Dragenframe beenden. Zurück in Blender ist es wichtig, dass du unbedingt den Befehl «Power off» ausführst, bevor du das Projekt schliesst und gegeben falls speicherst.