PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboterarm



Joschi2111
19.09.2016, 19:22
Hey ich habe vor einen Roboterarm zu bauen . Sollte 5 Achsen haben die alle per einem XBox Controller gesteuert werden . Als Board will ich Arduino Uno verwenden . Bei den Motoren bin ich mir nicht ganz sicher sollte ich Servo- oder Schrittmotoren verwenden? Und ich bräuchte Hilfe bei der Mechanik , weiß jemand wo ich vielleicht Pläne für die Mechanik eines Roboterarmes herbekomme? Und hat jemand Verbesserungs Möglichkeiten?

i_make_it
19.09.2016, 21:01
https://www.youtube.com/watch?v=Or-NjQRiFdA
https://www.youtube.com/watch?v=f6wmyhf1ZTQ
https://www.youtube.com/watch?v=zggCrgvemJ0
https://www.youtube.com/watch?v=U-JHqcvZ3H0
https://www.youtube.com/watch?v=qbyI6fk8wdU
https://www.youtube.com/watch?v=B2fl8-L6xcA
https://www.youtube.com/watch?v=yw3ym_37ZOw
https://www.youtube.com/watch?v=dLpMsfpxmkA
https://www.youtube.com/watch?v=QNA4icYO7cw
https://www.youtube.com/watch?v=pnbJZ8LUGwg

https://www.youtube.com/watch?v=O5_gnh2r2Gw << muß man sich durchhangeln sind mittlerweile 13 Teile

Für einge davon braucht es keine Pläne.
Eventuell liefert Dir das schon mal Ideen.
Es weis ja niemand Was Du an Maschinen so hast. Sprich ob du Drehen, Fräsen und Schleifen kannst.
Und wenn ja welche Abmessungen und wie genau.

HaWe
20.09.2016, 06:40
den Uno mit seinen lächerlichen 2KB RAM halte ich für nicht besonders leistungsstark, und für inverse Kinematik, die man zur Ansteuerung von 5 Achsen auch für eine zielgerichtete Aktion an einem beliebigen Raumpunkt (x,y,z) und der dafür nötigen float-Arithmetik braucht auch nicht für besonders schnell. Vor allem Multitasking ist dafür schon sehr hilfreich, um die Achseln sowohl synchron als auch asynchron zu bewegen - das schafft dann zwar ein MEGA mit Multitasking Libs schon viel besser, aber erst ein Zero oder Due ist dafür wirklich einigermaßen gut aufgestellt (mit Scheduler-Lib und auch DueTimer und einem sehr schnellen SPI für eine wirklich schnelle Grafik-Ausgabe für Monitoring-Zwecke, welche die Aktionen an den Achsen nicht ausbremst).

Von Arduino.org gibt es übrigens einen fertigen 5DOF (6DOF?) Roboterarm samt einigen sehr simplen Basis-Libs, aber ohne jegliche inverse Kinematik, die muss man erst selber dazu programmieren.
http://www.arduino.org/products/tinkerkit/arduino-tinkerkit-braccio
Das mitgelieferte Shield samt seiner Libs ist angeblich auch MEGA- und/oder DUE-kompatibel.

i_make_it
20.09.2016, 13:54
Die übliche Vorgehensweise bie der Mechanik eines Roboterarms ist es zuerst einmal zu definieren was man mindestens erreichen will und dann was man als nice to have haben will.

In deinem Fall haben wir bisher nur 5 Achsen.
Auf Verdacht sage ich mal das soll ein 5-Achse Vertikal Knickarm werden.
Es könnte aber auch ein kathesisches Portal mit 2 Drehachsen werden oder ein Skara mit 5 Achsen.....

Also Bauart definieren, welche Lasten er handhaben können soll und die Größe des Arbeitsraums.

Anhand der Videos die in meinem vorhergehenden Post verlinkt sind, Siehst Du das man mit Modellbau Servos eine gewisse Größe abdecken kann aber das Handlinggewicht und die Positionsgenauigkeit sind nicht all zu berauschend.

Also kommen noch so Daten wie räumliche Positionsauflösung und das Verhalten beim Verfahren in dein Pflichtenheft (Wunschzettel) mit rein.
Mit RC-Servos ist ohne weiteres nur ein Pose to Pose möglich.
Oberallgeiers Archie zeigt das auch mit RC-Servos bessere Bewegungsabläufe möglich sind.

Dann spielen deine Produktionsmöglichkeiten ein Rolle.
Bohren, Drehen, Fräsen, Schleifen, 3D-Druck, Laserschneiden etc. Was davon geht, was nicht und in Welchen Dimensionen.

Danach spielt das Budget eine Rolle. Ein Kunststoff Gleitlager oder ein Kugellager? Lauter Kleinigkeiten die in der Summe schnell in die Tausende gehen können.
Dabei ist das bisher nur die Mechanik mit Motoren, ggf. Meßsystemen, Antriebsteilen, Lagerungen und den tragenden Elementen.
Danach kommen bei der Elektronik Motortreiber, Controller und so dazu.
Zum Schluß das Programmieren.

Die beiden Letzten Themenkreise kann man beim Bauen erst mal außen vor lassen, aber man sollte vorher schon planen nicht das man auf halben Weg feststellt, etwas kleiner und einfacher wäre für das eigene Nivau erst mal besser gewesen.

Wenn man damit durch ist, fängt man mit der Konstruktion an.
Was bekommt man wo und zu welchem Preis zu kaufen?
Dann kann man den Rest drum rum bauen.
Die konkreten Pläne sind dann nicht die riesen Schwierigkeit.

Man fängt mit Dem Greifer an, dann zum Handgelenk, Unterarm, Ellenbogen etc.
Der Greifer muß nur das Handlinggewicht halten können.
Das Handgelenk, beides zusammen.
und so weiter.
Also wird jedesmal die Last größer. Was vom Lager über die tragenden Teile bis zum Motor auswirkungen in der Dimensionierung hat.


http://hackaday.com/?s=robot+arm+project
Hier werden einige Robot arm Projekte vorgestellt.

Und hier noch einer:
http://www.instructables.com/id/DIY-robot-arm-/

Joschi2111
20.09.2016, 18:55
% Achsen vertikal knickarm arbeitsbereich 50x50 cm last ca 500 g

Schrittmotoren Kugellager Material Holz

i_make_it
21.09.2016, 06:10
Bei einem Handlinggewicht von 0,5kg und einer Armlänge von 0,5m könnte Holz als Werkstoff ggf. schon zu elastisch sein (verformung unter Last und somit veränderung des Tool Center Point gegenüber der selben Achsstellung im unbelasteten Zustand).

Unabhängig davon fängt man mit dem Greifer an mit dem man die 500g handhaben möchte.
Da gäbe es dann Elektromagnete, Sauggreifer, usw.
Ich gehe jetzt mal von einem Greifer mit zwei Fingern aus, der zentrisch greift.

Da gibt es jetzt die verschiedensten Möglichkeiten.

Ein Suchbegriff für Ideen wäre: "diy robot gripper" bzw. "robot gripper" bei der Google Bildersuche.

Was man immer wieder antrifft sind parallel Greifer.

Hier ein Beispiel für das Funktionsprinzip:
32064

Setzt man jetzt einen kraftschlüssigen Griff eines Alu Greifers an einem Alu Teil vorraus, hat man einen Reibungskoefizienten von µH=1,0.
Man kann also einfach mal 0,5kg * 10m/s² = 5N nehmen 10m/s² ist der aufgerundeter Wert für die Erdbeschleunigung (g=9,81m/s²).

Damit hat man eine Greifkraft die der Greifer aufbringen können sollte um 0,5kg festhalten zu können (es ist sinnvoll mit ungünstigen Werten zu rechnen, damit man immer auf der sicheren Seite ist. Bekommt der Greifer z.B. später Gummiauflagen, erhöht sich die Reibung und man käme mit weniger Kraft aus).
Mit dem Hebelarm vom Drehpunkt bis zur vordersten Stelle wo der Greifer ein Werkstück greifen kann, erhällt man ein Drehmoment das ein Motor oder dessen Getriebe aufbringen muß.

So eine Konstruktion wird natürlich bestimmt, durch die Teile die man zukufen muß.
Bei den Teilen die man selbst herstellt ist man frei in der Gestaltung (zumindest insoweit wie man sie Herstellen kann).

Joschi2111
21.09.2016, 16:13
Okverstanden eher alu als holz und was würdet ihr empfehlen servo oder Schrittmotor?

i_make_it
21.09.2016, 18:30
Modellbau Servos (RC-Servos) finde ich nicht so toll.
Standartservos haben eine feste Stellgeschwindigkeit und einen Bereich von meist 180°.
Also entweder Servos hacken und als Getriebemotroen nutzen oder Spezialservos kaufen.
Beim Handlinggewicht von 500g sind die meisten Servos eh außen vor und man braucht spezielle.

Schrittmotoren gehen da schon eher.
Bei den größeren Modellen aus den von mir verlinkten Videos, sieht man auch das da manchmal Stepper zum Einsatz kommen.
Ich persöhnlich bin eher ein Fan von DC Getriebemotoren und Drehgebern. (beruflich nehme ich Servomotoren mit Resolver und Drehgebern)
Servomotoren und RC-Servos haben übrigens nichts miteinander zu tun.
https://de.wikipedia.org/wiki/Servo
https://de.wikipedia.org/wiki/Servomotor

Joschi2111
22.09.2016, 20:27
und was würdest du nehmen?

i_make_it
23.09.2016, 07:14
Ich nehme meist, DC Motoren mit CPC-Encodern.
Allerdings heist daß das ich mich auch um alles kümmern muß.
Also H-Brücke, Motorstromüberwachung, Encoder auswerten, PID Regler, Drehzahl und Positions Regelung.

Für Dich dürften Stepper erst mal ganz praktisch sein.
Da hast Du keinen Regelkreis sondern eine Steuerstrecke.
Motor 1, 100 Schritte, linksdrehend, fertig.
Solange es keinen Schrittverlust gibt funktioniert das auch.
Der Aufwand ist halt erst mal deutlich geringer.

Aus dem Bereich für 3D-Drucker und Selbstbau CNC-Maschinen gibt es auch schon Motortreiber und Boards wie RAMPS(Arduini Shield) und RUMBA für Verschiedene Leistungsklassen.

Regelungstechnik ist ein eigenes Feld, je nach Vorwissen, Verständniss und Talent kann das auch mal etwas länger dauern bis man da durchsteigt und eigene Regler implementieren kann die dann auch richtig arbeiten und richtig parametrisiert sind.
Somit kann der Frustfaktor duch die Zeit die man einem Detail hängt recht groß werden.

Es ist also rein von Deinen Ansprüchen, Fähigkeiten und Vorlieben abhängig.
Es bringt Dir nichts wenn ich mit meinem Hintergrund Dir jetzt pauschal sage "DC Motor mit Encoder" und Du dran verzweifelst.
Willst Du es aber so machen, dann empfielt sich parallel zur mechanischen Konstruktiuon (Bei der ja die benötigte Motorleistung raus kommt) mit einem Motor zu experimentieren.

Also im unbelasteten Zustand den Motor antreiben und und seine Drehzahl und Winkelstellung per Encoder auszuwerten und anschließend zu Regeln.
Wenn das klappt kommt eine variable Bremskraft dazu damit man die Änderung im Verhalten bei verschiedenen Belastungen in die Regelung mit einbeziehen kann.
Dann kann man z.B. ein kleines Aufzugmodell bauen um so sachen wie Sanftanlauf und Bremsen zu üben (Federn des Aufzugs).
Dann kann man mit dynamisch variablen Lasten arbeiten. Z.B. eine Motorwippe die eine Kugel balanciert.
Dabei kommen dann als Solldaten sowohl Position als auch Geschwindigkeit der Kugel ins Spiel.
Suchbegriff: "ball on beam balancer"
https://www.youtube.com/watch?v=eOvNkMFb-8s
Wenn man am Ende einen Motor im 4 Quadranten Betrieb Regeln kann, hat man an der Stelle den Stand erreicht den auch die Industrie hat.
Somit käme dann ein DIY Roboterarm regelungstechnisch bei den Antrieben einem Kaufgerät gleich.

Die schnellsten Erfolge hat man mit einem RC-Servoboard einer Hand voll Servos und etwas Holz oder Plastik. Da hat man die Mechanik in ein paar Stunden zusammengebaut und ein erstes Fahrprogramm ebensoschnell. Allerdings hat man das dann schnell ausgereitzt oder muß sehr tief in die Trickkiste greifen damit das Verhalten wie bei einem richtigen Roboterarm aussieht. (Archies Bewegungsabläufe)

https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu/page2?p=577672&viewfull=1#post577672
Vergleiche die Bewegungen aus Post 20 mal mit dem Video aus dem ersten Post.
https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=574445&viewfull=1#post574445

arras
30.11.2016, 02:31
Werte Bastelfreunde,

ich kann mit Erfahrungen aus meinen Robot-Arm aushelfen: Die wichtigen Fragen nach dem Motortyp - Stepper / Servo - habe ich so gelöst: Als Basis habe ich einen 400pro Umdrehungen Steps Stepper genommen, der über einen Riemenantrieb für die Grehung von 340 Grad ausreichend ist. Wichtig herbei ist die Auflösung.
Bei einem Step macht der Stepper weniger als 1 Grad. Der treibt ein Zahnrad mit 16 Zähnen an, das wiederum einen Zahnriemen mit 240 Zähnen antreibt.

Somit ist reichlich Power da, anders als bei der Servo-Lösung, die ich ehemals angedacht hatte.

Darauf habe ich 4 Servos als Antrieb für den Arm ausgewählt, die alle mit 180 Grad und hohe (15 kgr) Drehmomente ausgezeichnet waren. Als letzter Arm-Antreib habe ich wieder einen kleinen Stepper genommen, der mehrere Umdrehungen als "Hand" auführen kann und den Finger-Servo bedienen kann.
An die Elektronk stellte ich einen Mikrocontroller Amega 168, der sowohl die Steuerung der Schrittmotoren, aber auch die 4 Servos bedienen soll.
Die Stepper sind im Rampenbetrieb lauffähig. Die Steuerung der Motoren ist fertig, lediglich der China-Import (6 Adern Schleifern) läst auf sich warten...
Über einen I2C-Bus habe ich alle Sensoren (LCD2004,DAC (PCF8591), Gyros(GY-271) und 4 Magnet-Sensoren (AS5048B) für die Servos angeschlossen.
Soweit der Status-Bericht.
Gruß
arras

oberallgeier
30.11.2016, 07:41
.. ich kann mit Erfahrungen aus meinen Robot-Arm aushelfen: Die wichtigen Fragen nach dem Motortyp - Stepper / Servo - habe ich so gelöst ..
Über einen I2C-Bus habe ich alle Sensoren (LCD2004,DAC (PCF8591), Gyros(GY-271) und 4 Magnet-Sensoren (AS5048B) für die Servos angeschlossen ..Bitte ein paar Bilder; das wäre sehr informativ zu der guten Beschreibung. Vielleicht auch einmal nen Meterstab einblenden, damit man ne Vorstellung über die Größe bekommt. Bei all den Aktoren scheint mir das schon ne größere Hand zu sein.

Was macht ein/der Gyro an der Hand ?

arras
30.11.2016, 16:47
Erst einmal ein "Guten Tag" !

Also, was ein Gyro an der Hand macht, ist mir auch neu. Spass beiseite. Der Gyro dient - in Verbindung mit anderen Ortsbestimmungen - jederzeit eine genaue Lage des Arms zu bestimmen. Daher auch die 4 Magnet-Sensoren (Hallgeneratoren) an den Servo-Motoren. Die haben eine sehr gute Auflösung von 14 Bit (AS5048B). Somit sind sie in der Lage, jede Änderung der Servos mitzumachen, was man ansonsten nicht so genau weiss. Ziel ist es, die Finger genau zu positionieren (genau genug, um eine Schraube (M3) zu drehen).

Für die erste Ausbaustufe des Roboter-Arm soll das reichen. Später soll ein weiteres Mikro die Sprachsteuerung bedienen. Hierzu habe ich ein System vom 30 Worten entwickelt, das bereits sehr gute Eigenschaften der Spracherkennung bedient.

Was die Größe angeht, kann ich helfen: Der Basisaufbau ist ein Drehteller vom HAMA (28 cm Durchmesser), der Arm besteht aus Alu-U-Profilen (Maße: Länge pro Teileinheit 12 bis 20 cm). Ausgefahren hat etwa einen Meter. Die Gelenke sind aus Teilen von Freetech, von Servos auch Graupner. Gekostet hat er so um die 180 €. Preistreibend sind die Stepper mit ca. 40 € (mit eingerechnet das Getriebe für den kleinen Stepper), die Servos (4 St.) mit 60 € und die Hallgeneratoren (ca: 60 €). Die Elektronik war dagegen billig: Ein ATmega 168, ein Steckbrett, und Kleinteile für noch nicht einmal 10 €. Und was am meisten gekostet war: die Zeit für das Beschaffen der Teile. Rentnerzeit ist gratis.
Bis auf weiteres..
Gruß
arras