Delta-Parallel-Roboter "deltaR" PDF Drucken E-Mail
Geschrieben von: Malte   
Sonntag, den 17. Juli 2011 um 18:28 Uhr

Hintergrund | Seit ich zum ersten Mal einen Deltaroboter in Aktion gesehen habe (es war dieser hier), war klar, dass ich mich früher oder später auch mal an einem solchen Aufbau versuchen muss. Im Prinzip ist die zugrundeliegende mechanische Struktur nicht kompliziert, sodass ich den Aufbau vor einigen Monaten mal als Nebenprojekt begonnen habe. Ich bin natürlich im Vergleich zum oben verlinkten Video an verschiedenen Stellen Kompromisse eingegangen, dafür war das Projekt dann aber relativ "straight forward" umzusetzen. Vor einigen Tagen nun hat mein deltaR - so habe ich ihn getauft - auch endlich die ersten Bewegungen gemacht. Um einen ersten einfachen Anwendungsfall zu haben, der einen anschaulichen Eindruck von der Genauigkeit des Roboters vermittelt, habe ich ihn als Plotter verwendet. Was die Präzision angeht ist, kann der Roboter zwar nicht ganz mit seinen deutlich aufwendiger konstruierten Artgenossen mithalten, im Prinzip funktioniert das System aber sehr gut. Im Folgenden beschreibe ich das Projekt etwas ausführlicher, allerdings werde ich den Artikel aus Zeitmangel nur nach und nach weiter ausbauen können.

 

Parallelkinematik | Roboterarme- und beine sind klassische Beispiele für Strukturen mit seriellen Kinematiken. Dabei sind mehrere Freiheitsgerade hintereinander geschaltet, um den Endpunkt dieser offenen Kette an verschiedene Positionen im Raum bewegen zu können. Die Freiheitsgrade einer solchen Struktur sind dabei in dem Sinne abhängig voneinander, dass ein Freiheitsgrad die Lage des ihm nachgeschalteten Freiheitsgrades beinflusst. Bei Parallelkinematiken wirken im Gegensatz dazu mehrere Antriebe parallel in einer geschlossenen Kette auf den Endpunkt der Struktur ein, Bewegungen in einem Freiheitsgrad wirken sich zwar auf die Lage des Endpunktes aber nicht auf die Lage der anderen Freiheitsgrade aus. Der bis heute wohl bekannteste Roboter mit einer Parallelkinematik ist der von seinem Erfinder Reymond Clavel so genannte "Delta Prallel Roboter". Clavel entwickelte ihn Anfang der 80er Jahre und führte sein Konzept 1991 in seiner Doktorarbeit "Conception d'un robot parallèle rapide à 4 degrés de liberté" ausführlich aus. Dadurch, dass bei diesem Roboter die üblicherweise schweren Aktuatoren statisch an der Basis sitzen, bleiben die Arme verhältnismäßig leicht und können sich dementsprechend schnell bewegen. Bei seriellen Kinematiken werden die Aktuatoren typischerweise mit bewegt (wobei es natürlich Ausnahmen gibt).

 

Aufbau | Im Folgenden einige Bilder vom Aufbau meines Deltaroboters. Als Materialien dienten im Wesentlichen Aluminium-Vierkantrohre und PVC Platten. Die Basis des Roboters hängt an drei Stützen, die zu den beweglichen Armen um 60° versetzt angeordent sind. Der Aufbau ist relativ hochbeinig, weil ich mir nicht ganz klar war und bin, was als Werkzeug an der Plattform angebracht werden soll. Tatsächlich sind die Stützen etwas zu dünn für die gewählten Dimensionen ausgefallen, woraus eine gewisse Schwingneigung resultiert. Der Roboter ist aber sehr modular konstruiert ist, es ist ohne größere Umstände möglich, die Stützen bei Zeiten mal durch stabiliere zu ersetzen.

Eine entscheidende Komponente bei einem Delta Roboter sind die Lager, mit denen die "Parallelogramm-Arme" mit der Plattform bzw. dem Arm der am Motor sitzt verbunden sind. Ich habe mich an dieser Stelle für Kugelgelenklager entschieden. Die Firma igus hat diese als Kunstoffkomponenten in großer Auswahl im Angebot. igus war so freundlich, mir die für meinen Aufbau benötigten Lager kostenlos zur Verfügung zu stellen. Nochmal vielen Dank dafür!

Zur Motorisierung habe ich auf einfache Modellbauservos zurückgegriffen. Um allerdings etwas mehr Drehmoment zur Verfügung zu haben, benutze ich eine XL-Varainte. Somit ist es ohne viel Aufwand möglich, die Arme auf bestimmte Drehwinkel einzustellen. Der Servo erhält ein PWM-Signal dessen Pulsweite den Drehwinkel vorgibt. Die Reglungselektronik im Servo kümmert sich dann darum, dass dieser Winkel eingestellt und unter Last gehalten wird - naja, so einigermaßen... Man darf dabei nämlich nicht zu viel erwarten, die Lageregelung ist nicht sehr präzise.

 

Steuerung | Die Hardware der Steuerung ist noch imporivisiert. Die Grundidee dabei ist, dass die Steuerungselektronik per serieller Schnittstelle (bzw. in der Endversion per USB) die x-, y-, und z-Koordinate erhält, die die Plattform anfahren soll. Daraus werden dann über die inverse Kinematik die Stellwinkel für die drei Servos berechnet und die entprechenden PWM-Signale ausgegeben. Die Berechnung der inversen Kinematik ist nicht übermäßig aufwendig, insofern ließ sie sich problemlos auf einem Atmel AVR Mega8 unterbringen, auch wenn sie in Bascom implementiert ist. Für die ersten Funktionstests der Controller Firmware habe ich mein miniAVR Board verwendet. Da es über keinen Taktgeber für den µC verfügt, läuft der AVR mit internem Takt bei 8 MHz. Unter dieser Bedingung braucht ein Berechnungsdurchgang für die komplette inverse Kinematik etwas über 6 ms, sodass diese bei ca. 150 Hz läuft. Das ist nicht extrem schnell, aber ausreichend für meinen einfachen Aufbau. Mit einem schnellerem AVR ließe sich das Ganze ohne weitere Programmänderungen um einen Faktor von 2.5 schneller machen. Zur Stromversorgung der Servos habe ich mir ein einfaches Schaltnetzteil besorgt, das immerhin 8 A liefert.

 

Video: deltaR als Plotter | Hier ein kleines Video von meinen Delta-Roboter. Es zeigt die Konstruktion und  - als kleinen Genauigkeitstest - den Versuch, damit zu malen. Um einen Stift an der Plattform des Roboters befestigen zu können, habe ich einen einfachen Stifthalter improvisiert. Es handelt sich um einen Kunstoffklotz mit einem Loch für den Stift. Der Stift selbst wird von einem zweiten Kunstoffteil beschwert, so dass er etwas Andruck auf dem Papier hat und außerdem nicht durchs Loch fallen kann. Das nebenstehende Bild zeigt die "Konstruktion". Der Stift ist etwas konisch, was die Konsequenz hat, dass er in dem Halter wackelt, wenn er auf dem Papier aufsetzt. Das verringert die Zeichengenauigkeit - die aufgrund der Servos ohnehin nicht so berühmt ist.

 

Video: deltaR mit Kinect gesteuert | Weil meine Kinect schon seit längerem in der Ecke steht, ohne dass ich damit sonderlich viel getan habe, und weil außerdem ja seit kurzem das offizielle Kinect SDK von Microsoft raus ist, habe ich mal versucht, meinen deltaR mithilfe des Kinect skeleton trackings zu steuern. Ich bin natürlich nicht der erste der das versucht, hier probierte man ähnliches (man bekommt allerdings keinen rechten Eindruck wie gut bzw. schelcht es da funktioniert). Bei mir zumindest funktioniert das nur so einigermaßen. Ich verwende in diesem Falle nur die Positionen der rechten und linken Hand. Sobald die rechte Hand 300 mm höher als die linke gehalten wird, wird die Position der linken Hand als Nullpunkt angenommen und alle weiteren Bewegungen darauf bezogen. Die deltaR-Plattform folgt dann den relativen Bewegungen der linken Hand, bis die rechte Hand weniger als 300 mm höher als die linke gehalten wird. Klingt etwas kompliziert - ist aber sehr simpel...

 

deltaR mit Kinect gesteuert, Greifen von Stahlkugeln | Hier noch eine kleine Erweiterung meines deltaRs. Ich habe einen Elektromagneten an die Plattform gebaut, mit dessen Hilfe er Stahlkugeln greifen kann.

 

AddThis Social Bookmark Button
Zuletzt aktualisiert am Dienstag, den 04. Oktober 2011 um 23:38 Uhr
 

Kommentare  

 
#21 kishore 2014-08-02 10:44
i would like t o know more about workspace of robot u done in mat lab how to program in mat lab help me

kishoekumardavi
Zitieren
 
 
#20 sourabh 2014-02-11 09:39
Good work,
I am not able to solve inverse kinematics.
help
Zitieren
 
 
#19 malte 2013-12-29 15:09
Hi! To be honest, I choose the length of links quite arbitrarily. I had a look at several photos of delta robots and tried to estimate their dimensions. In my case I choose the long links (the forearms) to have 340 mm length and the short links (the upper arms) to have 170 mm length. The joints at the base plate are affixed at 55 mm radius. But once again, there is no theoretical rationale behind these values. Thanks for your interest! Best, Malte.
Zitieren
 
 
#18 haris 2013-12-25 08:30
HI,
it is really nice. the end product has great aesthetic looks.
I am also doing a similar project with delta robotics. I am really stuck up with deciding on the dimensions of the links. could you please provide the dimensions or the specific reference so that i can compute them. you mentioned about some error in dimensions could you please brief on that.
these information will be very useful for my project work.
you can contact me @ .
THANKS in advance.
awaiting for your reply
Zitieren
 
 
#17 Malte 2012-12-09 15:51
Hallo!

@Pika: I think it's relatively simple to use the Kinect skeleton data to control a robot - if the robot itself works well. But you will of course need a PC to which the Kinect has to be connected, you can't interface the Kinect directly to an Arduino. To dive into Kinect programming (in C#) here's a nice quick start guide: http://channel9.msdn.com/Series/KinectQuickstart

@#15: wie du siehst immer noch nicht, sorry. Ich muss mal sehen ob ich sonst erstmal nur den Quellcode hier einfach online stelle - offenbar ist es ja vor allem der, der besonders gefragt ist...

@Hartmut: im Moment suche ich keinen Job. Kann aber natürlich jederzeit so sein, dann denke ich an dein Angebot! Danke!
Zitieren
 
 
#16 Pika 2012-12-08 00:29
Hi,
i will make A Robot Controlled By kinect as a Graduation Project
i need to know if i can controlled it remotely by arduino kit
and what's i must know to work on it
Can i get data from kinect which make me simulate my gesture in ArmRobot !!
Zitieren
 
 
#15 2012-11-24 09:14
Zitat:
Ich arbeite nebenbei an einem Artikel über diesen Roboter, der alles, also Konstruktion, Elektronik, inverse Kinematik und den Quellcode enthalten wird. Im vorhinein möchte ich nur sehr ungern halbgare Teile von dem Projekt veröffentlichen . Ich bitte um Verständnis und noch etwas Geduld :-).


ist der artikel schon veröffentlicht ??
Zitieren
 
 
#14 2012-10-05 20:12
Suchst Du nen passenden Job? Bitte bei info@majatronic .de melden. Schau Dir unsere Seite autonox24.com an

Beste Grüsse
Hartmut
Zitieren
 
 
#13 2012-05-21 19:16
Hi,

cooles Projekt!
Ich wollte mich vielleicht an etwas ähnlichem versuchen,desha lb beschäftige ich mich derzeit mit der Berechnung der inversen Kinematik.
Wäre es vielleicht möglich, als Referenz einen Auszug aus deinem Code zubekommen? Nur zu Studienzwecken! !
Danke im Voraus...!
Zitieren
 
 
#12 2012-02-05 01:17
Hallo Schweppes,

die Arme habe ich selbst aus Alu-Stangen bzw. -Rohren hergestellt. Bei den "Oberarmen" handelt es sich um eloxiertes Vierkantrohr wie man es zB im Baumarkt bekommt. Die "Unterarme" sind Alustangen vom lfd. Meter. Die Enden der Stangen wurden abgedreht und dann ein Gewinde darauf geschnitten. Wenn man die Unterarme mehrteilig aufbaut ist es wichtig, dass man den Abstand der Lagerpunkte genau einstellen kann. Bei zwei gleichsinnigen Gewinden ist dies problematisch (da die Lagerköpfe in einer Ebene liegen müssen, kann man ihren Abstand bei gleichsinnigen Gewinden nur in ganzzahligen Vielfachen eines halben Gewindeganges einstellen), deshalb ist eine Gewindestange nur bedingt geeignet. Ich habe die Stangen deshalb mit gegensinnigen Gewinden versehen.

Viel Spass beim Bauen!
Malte
Zitieren
 

Kommentar schreiben

Sicherheitscode
Aktualisieren

 

Suche

Benutzer

Wir haben 4 Gäste online

unterstützt von

batronix logo

spacer

rotacaster logo

spacer

spacer

spacer

Meine Tweets

Extern

youtube logo twitter logo email logo

spacer

spacer

spacer

Reklame