Inhaltsverzeichnis:

Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO - Gunook
Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO - Gunook

Video: Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO - Gunook

Video: Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO - Gunook
Video: Lego Technic Automatic Candle snuffer #Shorts 2024, Juni
Anonim
Image
Image
Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO
Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO
Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO
Erstellen eines ferngesteuerten selbstbalancierenden Arduino-Roboters: B-Robot EVO

Von jjrobotsjjrobotsFolgen Sie mehr vom Autor:

Pybot: Python + 3D-gedruckter Roboterarm
Pybot: Python + 3D-gedruckter Roboterarm
Pybot: Python + 3D-gedruckter Roboterarm
Pybot: Python + 3D-gedruckter Roboterarm
Einfaches motorisiertes rotierendes Display (Arduino-basiert + gesteuert von Ihrem Smartphone)
Einfaches motorisiertes rotierendes Display (Arduino-basiert + gesteuert von Ihrem Smartphone)
Einfaches motorisiertes rotierendes Display (Arduino-basiert + gesteuert von Ihrem Smartphone)
Einfaches motorisiertes rotierendes Display (Arduino-basiert + gesteuert von Ihrem Smartphone)
Roboterarmgreifer
Roboterarmgreifer
Roboterarmgreifer
Roboterarmgreifer

Über: Wir lieben Roboter, DIY und lustige Wissenschaft. JJROBOTS zielt darauf ab, Open-Roboter-Projekte den Menschen näher zu bringen, indem Hardware, gute Dokumentation, Bauanleitungen + Code, Informationen zur "Funktionsweise" bereitgestellt werden … Mehr über jjrobots »

------------------------------------------------

UPDATE: Hier gibt es eine neue und verbesserte Version dieses Roboters: Der B-Robot EVO, mit neuen Features

------------------------------------------------

Wie funktioniert es?

B-ROBOT EVO ist ein ferngesteuerter, selbstbalancierender Arduino-Roboter, der mit 3D-gedruckten Teilen erstellt wurde. Mit nur zwei Rädern ist B-ROBOT in der Lage, durch die Verwendung seiner internen Sensoren und der Ansteuerung der Motoren jederzeit das Gleichgewicht zu halten. Sie können Ihren Roboter steuern und ihn bewegen oder drehen, indem Sie Befehle über ein Smartphone, Tablet oder PC senden, während er sein Gleichgewicht hält.

Dieser selbstausgleichende Roboter liest seine Trägheitssensoren (Beschleunigungsmesser und Gyroskope, die auf dem MPU6000-Chip integriert sind) 200 Mal pro Sekunde aus. Er berechnet seine Haltung (Winkel zum Horizont) und vergleicht diesen Winkel mit dem Zielwinkel (0º, wenn er das Gleichgewicht halten möchte, ohne sich zu bewegen, oder einen positiven oder negativen Winkel, wenn er sich vorwärts oder rückwärts bewegen möchte). Mit der Differenz zwischen dem Zielwinkel (sagen wir 0º) und dem tatsächlichen Winkel (sagen wir 3º) steuert er ein Kontrollsystem an, um die richtigen Befehle an die Motoren zu senden, um sein Gleichgewicht zu halten. Die Befehle an die Motoren sind Beschleunigungen. Wenn der Roboter zum Beispiel nach vorne geneigt ist (Winkel des Roboters beträgt 3º), sendet er einen Befehl an die Motoren, vorwärts zu beschleunigen, bis dieser Winkel auf Null reduziert wird, um das Gleichgewicht zu erhalten.

Schritt 1: Ein bisschen mehr in die Tiefe…

Ein bisschen mehr in die Tiefe…
Ein bisschen mehr in die Tiefe…
Ein bisschen mehr in die Tiefe…
Ein bisschen mehr in die Tiefe…
Ein bisschen mehr in die Tiefe…
Ein bisschen mehr in die Tiefe…

Das physikalische Problem, das B-ROBOT löst, wird Inverted Pendulum genannt. Dies ist der gleiche Mechanismus, den Sie benötigen, um einen Regenschirm über Ihrer Hand zu balancieren. Der Drehpunkt liegt unter dem Massenmittelpunkt des Objekts. Weitere Informationen zum umgekehrten Pendel finden Sie hier. Die mathematische Lösung des Problems ist nicht einfach, aber wir müssen sie nicht verstehen, um das Gleichgewichtsproblem unseres Roboters zu lösen. Was wir wissen müssen, ist, wie wir das Gleichgewicht des Roboters wiederherstellen müssen, damit wir einen Steuerungsalgorithmus implementieren können, um das Problem zu lösen.

Ein Steuerungssystem ist in der Robotik (einer industriellen Automatisierung) sehr nützlich. Im Grunde ist es ein Code, der Informationen von Sensoren und Zielbefehlen als Eingaben empfängt und folglich Ausgangssignale erzeugt, um die Roboteraktoren (in unserem Beispiel die Motoren) anzusteuern, um das System zu regeln. Wir verwenden einen PID-Regler (Proportional + Derivative + Integral). Diese Art der Steuerung hat 3 Konstanten zum Einstellen von kP, kD, kI. Aus Wikipedia: „Ein PID-Regler berechnet einen ‚Fehler‘-Wert als Differenz zwischen einem gemessenen [Eingang] und einem gewünschten Sollwert. Der Controller versucht, den Fehler zu minimieren, indem er [einen Ausgang] anpasst.“Sie teilen dem PID also mit, was gemessen werden soll (der „Eingang“), wo diese Messung sein soll (der „Sollwert“,) und die Variable, die Sie anpassen möchten, um dies zu erreichen (der „Ausgang“).

Der PID passt dann den Ausgang an und versucht, den Eingang gleich dem Sollwert zu machen. Als Referenz, ein Wassertank, den wir bis zu einem Füllstand füllen möchten, wären Eingang, Sollwert und Ausgang der Füllstand gemäß dem Wasserstandssensor, der gewünschte Wasserstand und das in den Tank gepumpte Wasser. kP ist der proportionale Teil und ist der Hauptteil der Kontrolle, dieser Teil ist proportional zum Fehler. kD ist der Ableitungsteil und wird auf die Ableitung des Fehlers angewendet. Dieser Teil hängt von der Dynamik des Systems ab (abhängig vom Roboter, den Gewichtsmotoren, Trägheitsmomenten…). Der letzte, kI, wird auf das Integral des Fehlers angewendet und wird verwendet, um stetige Fehler zu reduzieren. kI entfernt den Offset zwischen Soll-Sollwert und Istwert).

Beim B-ROBOT wird der Lenkbefehl des Benutzers zum Motorausgang addiert (ein Motor mit positivem Vorzeichen und der andere mit negativem Vorzeichen). Wenn der Benutzer zum Beispiel den Lenkbefehl 6 sendet, um nach rechts zu drehen (von -10 bis 10), müssen wir 6 zum linken Motorwert addieren und 6 vom rechten Motor subtrahieren. Wenn sich der Roboter nicht vorwärts oder rückwärts bewegt, ist das Ergebnis des Lenkbefehls eine Drehung des Roboters

Schritt 2: Was ist mit der Fernbedienung?

"loading="faul"

Empfohlen: