Arduino-gesteuerter vierbeiniger Roboter





Ich interessiere mich aktiv für Roboter und habe kürzlich einen Zweibeinroboter von Arduino hergestellt. Danach wollte ich einen vierbeinigen Roboter bauen, der Tiere wie Hunde oder Katzen nachahmt. In diesem Artikel werde ich über das Entwerfen und Zusammenbauen eines vierbeinigen Roboters sprechen.



Das Hauptziel dieses Projekts war es, das System so zuverlässig zu machen, dass ich mir während des Experiments mit verschiedenen Gängen keine Sorgen über mögliche Geräteausfälle machen musste. Dadurch konnte ich den Roboter an seine Grenzen bringen, indem ich ihm komplexe Gänge und verschiedene Bewegungen gab. Ein weiteres Ziel war die Herstellung eines relativ kostengünstigen Prototyps unter Verwendung von Standardkomponenten und 3D-Druck für das schnelle Prototyping. Zusammen bilden diese beiden Ziele eine solide Grundlage für verschiedene Experimente und die Entwicklung spezialisierterer Vierbeinroboter mit spezifischeren Zielen - Navigation, Vermeidung von Hindernissen, dynamische Bewegungsanpassung.



























Schritt 1: Allgemeine Informationen und Entwurfsprozess















Ich habe den Roboter in der kostenlosen 3D-Modellierungssoftware von Autodesk - Fusion 360 entwickelt. Zunächst habe ich die Servomotoren importiert, um die ich Beine und einen Oberkörper gezogen habe. Dann habe ich die Motorhalterungen so konstruiert, dass sie einen zweiten Befestigungspunkt haben, diametral gegenüber der Welle. Wellen auf jeder Seite des Motors verleihen der Struktur Festigkeit und verhindern die Möglichkeit eines Schräglaufs, wenn die Beine belastet werden. Die Lager werden in spezielle Halter eingesetzt und Schrauben werden als Welle in den Halterungen verwendet. Nachdem die Halter mit einer Mutter an den Wellen befestigt sind, bietet das Lager einen sicheren Drehpunkt auf der der Welle gegenüberliegenden Seite des Servomotors.



Ein weiteres Ziel während der Entwicklung war es, das Modell so kompakt wie möglich zu gestalten, um das Drehmoment der Servomotoren optimal zu nutzen. Die Arme wurden so dimensioniert, dass sie maximale Beweglichkeit bei minimaler Länge bieten. Wenn ich sie zu kurz machen würde, würden die Klammern miteinander kollidieren, was die Mobilität verringern würde. Wenn sie zu lang gemacht würden, müssten die Motoren unnötiges Drehmoment aufbringen. Zu guter Letzt habe ich das Robotergehäuse mit Aufsätzen für den Arduino und andere elektronische Komponenten entworfen. Ich habe oben im Panel zusätzliche Halterungen bereitgestellt, um das Projekt in Zukunft zu erweitern. Eines Tages wird es möglich sein, Abstandssensoren, Kameras oder andere Mechanismen für den Roboter hinzuzufügen, beispielsweise Greifer.



Schritt 2: Benötigte Materialien











Liste der erforderlichen Materialien, um Ihren eigenen Vierbeiner-Roboter zu erstellen, der von Arduino gesteuert wird. Alle Komponenten sind gemeinsam und verfügbar.



Elektronik:

  • Arduino Uno x 1.
  • Towerpro MG995 Servomotor x 12.
  • Arduino Sensor Shield (Ich habe Version 4, empfehle aber den Kauf von Version 5).
  • Verbindungskabel, 10 Stk.
  • MPU6050 IMU (optional).
  • Ultraschall-Abstandssensor (optional).




Komponenten:

  • Lager (8x19x7 mm, 12 Stk.).
  • Schrauben und Muttern M4.
  • Kunststoff für einen 3D-Drucker.
  • Plexiglas 4 mm.




Werkzeuge

  • 3D Drucker.
  • Laserschneider.




Der größte Teil des Abfalls wird für 12 Servomotoren ausgegeben. Ich empfehle immer noch, keine billigen Kunststoffmotoren zu verwenden, da diese zu leicht brechen. Bis auf die Werkzeuge kostete mich alles zusammen 60 Dollar.



Schritt 3: Bedruckte Komponenten















Die Komponenten des Roboters mussten speziell entwickelt werden - dafür haben wir die Möglichkeiten des digitalen Designs und des CAD genutzt. Die meisten Komponenten sind 3D-gedruckt und einige sind aus 4 mm Plexiglasplatte geschnitten. Gedruckt bei 40% Deckkraft, 2 Perimetern, 0,4 mm Düse, 0,1 mm Schichthöhe mit PLA. Einige der Komponenten erfordern aufgrund ihrer komplexen Form mit überhängenden Teilen Stützen, sind jedoch zugänglich und mit Drahtschneidern leicht zu entfernen. Sie können die Farbe nach Ihrem Geschmack wählen. Unten finden Sie eine Liste der Komponenten und STL-Links zum Drucken sowie 2D-Zeichnungen für den Cutter.



Komponenten für den 3D-Druck:

  • Halterung des Femurservomotors x 2.
  • Spiegelhalterung für Femurservomotor x 2.
  • Knie-Servomotorhalterung x 2.
  • Spiegel Servomotor Kniehalterung x 2.
  • Lagerhalter x 2.
  • Spiegellagerhalter x 2.
  • Beine x 4.
  • Servomotorhalter x 4.
  • Lagerhalter x 4.
  • Arduino-Hardware x 1.
  • Distanzsensorhalterung x 1.
  • Eckbefestigungen x 4.
  • Lagerhülse x 4.
  • Servowaschanlage x 24.




Komponenten für das Laserschneiden:

  • Servo-Montageplatte x 2.
  • Oberseite x 1.




Insgesamt müssen 30 Teile gedruckt werden, mit Ausnahme der verschiedenen Unterlegscheiben, und die Gesamtzahl der digital hergestellten Teile beträgt 33. Ich habe alles in 30 Stunden gedruckt.



content.instructables.com/ORIG/FBK/9YPN/KFZEKVED/FBK9YPNKFZEKVED.rar



content.instructables.com/ORIG/FZS/65E0/KFZEKVEE/FZS65E0KFZEKVEE.pdf



Schritt 4: Vorbereiten der Lagerhalter















Wenn Sie mit der Montage bestimmter Komponenten beginnen, wird der gesamte Prozess beschleunigt. Sie können mit den Haltern beginnen. Schleifen Sie dazu zuerst die Löcher im Halter und setzen Sie dann das Lager bündig ein. Ich musste einige Unterlegscheiben in 3D drucken, da die mit den Motoren gelieferten Schrauben zu lang waren und die Motoren während des Betriebs treffen würden.



Schritt 5: Bereiten Sie die Servomotorhalterungen vor















Um die Kniestütze zusammenzubauen, setzen Sie einfach die Schraube in das Loch ein und ziehen Sie sie mit der Mutter fest. Dieses Gelenk fungiert als zweite Achse des Motors. Führen Sie die beiden Schrauben durch die Löcher in der Oberschenkelstütze und ziehen Sie sie mit den Muttern fest. Nehmen Sie dann die gebogene Servohalterung und befestigen Sie sie mit zwei Muttern am erhöhten Teil der Halterung. Nehmen Sie zum Schluss die Lagerhülse und setzen Sie das Lager ein. Möglicherweise müssen Sie die Innenfläche der Hülse etwas schleifen. Die beigefügten Fotos zeigen die verschiedenen Montagestufen.



Schritt 6: Zusammenbau der Beine































Sobald Sie alle Zahnspangen und Halter zusammengebaut haben, können Sie mit dem Zusammenbau Ihrer Beine beginnen. Schrauben Sie zuerst die Servomotoren mit Schrauben und Muttern auf die Halterungen. Richten Sie die Motorwelle so aus, dass die Schraube von der anderen Seite hervorsteht.



Verbinden Sie dann den Oberschenkelservomotor mit dem Halter mit dem Knieservomotor. Ziehen Sie die Mutter noch nicht fest - später müssen Sie möglicherweise etwas kürzen. Befestigen Sie auf der anderen Seite die Halter mit zwei Lagern mit Muttern an den hervorstehenden Schrauben.



Sammle alle vier Beine so ein.



Schritt 7: Zusammenbau des Rumpfes



Jetzt können Sie mit dem Zusammenbau des Rumpfes beginnen. Es enthält vier Servomotoren, die den dritten Grad an Beinfreiheit bieten. Beginnen Sie mit 4 M4-Schrauben, mit denen die Motoren an der lasergeschnittenen Platte befestigt sind.



Montieren Sie die Servomotoren so, dass die Achsen nach außen zeigen - siehe Fotos.



Verschrauben Sie dann die Eckhalterungen auf beiden Seiten der Platte. Sie helfen dabei, die Motorhalterung sicher an der Oberseite zu befestigen.



Wenn alle Halter gesichert sind, befestigen Sie die Motorplatte an der oberen Platte. Beginnen Sie mit den äußeren Schrauben vorne und hinten. Die Schrauben in der Mitte halten gleichzeitig die Arduino-Halterung. Siehe Fotos am Anfang des Abschnitts. Befestigen Sie die Arduino-Platte so an der oberen Platte, dass die Schrauben durch die Löcher in den Eckhaltern gehen.



Schritt 8: Alles zusammenfügen



































Wenn die Beine und der Oberkörper zusammengebaut sind, kann der Roboter zusammengebaut werden. Befestigen Sie die Beine an den vier Servomotoren mit den Winkelhalterungen, die an der femoralen Servomotorhalterung angebracht sind. Verwenden Sie zum Schluss Lagerhalter, um die gegenüberliegende Achse an der Oberschenkelhalterung zu stützen. Fädeln Sie die Achse durch das Lager und sichern Sie sie mit einer Mutter. Befestigen Sie die Lagerhalter mit Schrauben und Muttern an der Oberseite.



Der vierbeinige Roboter ist bereit.



Schritt 9: Drähte und Elektronik











































Ich entschied mich für eine Erweiterungskarte, um die Sensorabschirmung anzuschließen, wo Kontakte für die Servomotoren vorhanden sind. Ich würde die 5. Version empfehlen - es gibt einen separaten Anschluss zum Anschließen der externen Stromversorgung. Aber mein Board hatte diese Option nicht. Ich habe es studiert und festgestellt, dass es 5 V Strom von der Arduino-Platine bezieht (wenn es um so leistungsstarke Verbraucher wie Servomotoren geht, ist dies eine schreckliche Idee, die den Arduino beschädigen kann). Ich habe dieses Problem gelöst, indem ich den 5-V-Pin zurückgebogen habe, damit er nicht mit der Arduino-Stromschiene verbunden wird. Auf diese Weise können Sie den 5-V-Pin extern mit Strom versorgen, ohne den Arduino zu beschädigen.



Im Folgenden sind die Anschlüsse für die Servomotoren und die Platinenkontakte aufgeführt. Hinweis: Hip1Servo sind Hip-Servomotoren, die an den Oberkörper angeschlossen sind. Hip2Servo - Hüftservomotoren, die mit dem Bein verbunden sind. KneeServo - Knieservomotoren.



Bein 1 (vorne links):



Hip1Servo - 2

Hip2Servo - 3

KneeServo - 4



Bein 2 (vorne rechts):



Hip1Servo - 5

Hip2Servo - 6

KneeServo - 7



Bein 3 (hinten links):



Hip1Servo - 8

Hip2Servo - 9

KneeServo - 10



Fuß 4 (hinten rechts):



Hip1Servo - 11

Hip2Servo - 12

KneeServo - 13



Schritt 10: Ersteinrichtung











Vor dem Programmieren komplexer Bewegungen müssen für jeden Servomotor Ausgangspositionen eingestellt werden. Sie geben dem Roboter einen Bezugspunkt, von dem aus er verschiedene Bewegungen ausführen kann.



Um eine versehentliche Beschädigung der Motoren zu vermeiden, können Sie zuerst die Eckwinkel von den Motoren entfernen. Laden Sie dann den Code auf Arduino hoch (Link unten). Der Code dreht alle Servomotoren in die 90 ° -Position. Schrauben Sie dann die Halterungen zurück, so dass alle Beine absolut eben sind und die am Oberkörper angebrachten Servomotoren senkrecht zur oberen Platte stehen.



Einige Gelenke sind möglicherweise nicht perfekt ausgerichtet. Dann müssen Sie die Werte des ZeroPositions-Arrays in der 4. Zeile des Codes korrigieren. Jede Zahl stellt die Nullposition des entsprechenden Servomotors dar (ihre Reihenfolge entspricht der in der Arduino-Verbindungsliste aufgeführten). Spielen Sie mit den Werten, bis Ihre Beine perfekt gerade sind.



Zum Beispiel habe ich folgende Werte erhalten:



int zeroPositions[12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};




content.instructables.com/ORIG/F9K/WO73/KFZEKX13/F9KWO73KFZEKX13.ino



Schritt 11: Ein wenig über Kinematik















Um den Roboter zu zwingen, nützliche Aktionen - Gehen, Laufen und andere - für die Servomotoren auszuführen, müssen Sie die Bewegungsbahnen programmieren. Dies sind die Trajektorien, auf denen sich der Effektor bewegt (in unserem Fall das Bein). Dies kann auf zwei Arten erreicht werden:

  1. . , – .
  2. , . . , , . , , . . , , pos, , , , .




12:







Sobald Sie die Verbindung hergestellt und initialisiert haben, können Sie mit der Programmierung Ihres Roboters beginnen und ihm coole Trajektorien für interessante Aufgaben geben. Ändern Sie im Code in der 4. Zeile die Werte in die Werte, die Sie im Initialisierungsschritt ausgegeben haben. Nach dem Hochladen des Codes sollte der Roboter loslaufen. Wenn Sie feststellen, dass die Richtungen einiger Verbindungen umgekehrt sind, ändern Sie den entsprechenden Wert im Array in Zeile 5 (-1 bis 1 und umgekehrt).



content.instructables.com/ORIG/FA6/3ZNJ/KFZEKX4Y/FA63ZNJKFZEKX4Y.ino



Schritt 13: Zusammenfassung und Zeitpunkt der Experimente



























Der Roboter kann Schritte von 2 bis 5 cm Länge ausführen. Die Gehgeschwindigkeit variiert ebenfalls. Der Roboter ist eine zuverlässige Plattform zum Experimentieren mit Gängen und anderen Dingen wie Springen oder Ausführen komplexer Aufgaben. Ich empfehle, die Bewegungsbahnen zu ändern, unterschiedliche Gangarten zu erleben und zu beobachten, wie sie sich auf die Arbeit des Roboters auswirken. Ich habe verschiedene Halterungen am Oberkörper vorgesehen, damit dort Sensoren wie ein Entfernungsmesser oder ein Trägheitssensor angebracht werden können. Sie können versuchen, dort etwas Halt zu finden.



All Articles