Inhaltsverzeichnis:

ROS MoveIt Roboterarm - Gunook
ROS MoveIt Roboterarm - Gunook

Video: ROS MoveIt Roboterarm - Gunook

Video: ROS MoveIt Roboterarm - Gunook
Video: With a Lidar strapped to its back, PuppyPi Pro can avoid any obstacle 👣🤖https://bit.ly/383HAeV 2024, Juli
Anonim
Image
Image

Dies wird eine Reihe von Artikeln über die Herstellung eines Roboterarms sein, der mit ROS (Robotic Operating System) und MoveIt gesteuert wird. Wenn Sie sich für Robotik interessieren, ist ROS ein großartiges Framework, das Ihnen hilft, schneller bessere Roboter zu bauen. Es ermöglicht Ihnen, Pakete für verschiedene Robotersysteme (Computer Vision, Kinematik, Bahnplanung, SLAM usw.) wiederzuverwenden, die andere Personen erstellt haben. ROS ist großartig, aber leider hat es eine steile Lernkurve.

Dieses Tutorial ist also eine Schritt-für-Schritt-Anleitung zur Herstellung Ihres ersten Roboterarms mit Bewegungsplanung, die sich an Anfänger und Fortgeschrittene richtet. Ich gehe davon aus, dass Sie keine ROS-Kenntnisse haben, aber Grundkenntnisse in Linux und Python sowie Arduino-Programmierkenntnisse haben.

Schritt 1: Bereiten Sie Ihre Umgebung vor

Meine Entwicklungsumgebung ist Ubuntu 16.04 LTS, das in einer Virtual Box (Windows 10-Hostcomputer) ausgeführt wird. Wenn Sie Ubuntu auf einer VM ausführen möchten, ist es in Ordnung, ich kann bestätigen, dass ROS Kinetic funktioniert, wenn auch mit einigen Macken (insbesondere 3D-Beschleunigung und USB-Unterstützung). Wenn Sie eine normale Ubuntu-Installation haben, würde es besser funktionieren.

Hinweis: Sie können ROS auf Raspberry Pi installieren, aber leider ist es nicht leistungsstark genug, um die Simulationen in Rviz auszuführen, geschweige denn in Gazebo.

1) Installieren Sie ROS Kinetic. Befolgen Sie diese Anleitung zur Installation von ROS Kinetic unter Ubuntu 16.04.

2) Installieren Sie MoveIt. Verschieben! ist ein Paket für ROS für mobile Manipulation, d.h. Roboterarme.

3) Überprüfen Sie, ob alles funktioniert. Lauf

roslaunch panda_moveit_config demo.launch rviz_tutorial:=true

Wenn Sie möchten, gehen Sie durch das Moveit Basic-Tutorial

4) Sie müssen auch das Paket urdf_tutorial installieren, wir verwenden es, um unsere laufende Arbeit zu visualisieren.

sudo apt-get install ros-kinetic-urdf-tutorial

Schritt 2: Urdf-Datei erstellen

Urdf-Datei erstellen
Urdf-Datei erstellen
Urdf-Datei erstellen
Urdf-Datei erstellen

Wenn Sie das MoveIt-Schnellstart-Tutorial befolgt haben, sollten Sie den catkin-Workspace in Ihrem Home-Verzeichnis erstellt haben (der Name des Workspace kann anders sein, der Standardwert aus dem moveit-Tutorial ist ws_moveit). Gehen Sie zu ~ws_moveit/src und klonen Sie dort mein Github-Repository.

github.com/AIWintermuteAI/ros-moveit-arm.git

Wenn Sie denselben Roboterarm wie ich verwenden oder einfach nur üben möchten, können Sie die urdf-Datei unverändert lassen, andernfalls müssen Sie sie ändern, damit sie Ihrem Armmodell entspricht.

Hier ist eine kurze Erklärung der urdf-Datei, ein Blick auf mein Beispiel und das Robotermodell in rviz wird Ihnen helfen, es besser zu verstehen und Ihre eigene urdf-Datei zu schreiben

Links sind die Teile des Roboters, wie ein Handgelenk oder eine Plattform. Sie haben folgende Eigenschaften:

zur visuellen Darstellung in rviz und Pavillon verwendet. Verwendet hochwertige Netze

zur Kollisionsprüfung bei der Bahnplanung verwendet. Empfohlen, minderwertige Meshes zu verwenden, aber aus Gründen des Tutorials verwende ich dasselbe wie für Visuals.

Gelenke in urdf sind Verbindungen zwischen Links, die beschreiben, wie sie zueinander positioniert sind und wie sie sich bewegen. Sie haben folgende Eigenschaften:

die Drehrichtung des Gelenks (entlang der x-, y- oder z-Achse)

minimaler und maximaler Fugengrad im Bogenmaß. Gilt nur für Gelenke vom Typ "Revolut" ("kontinuierliche" Gelenke haben keine Grenzen, da sie sich kontinuierlich drehen)

die Position des Gelenks in Bezug auf den Ursprung

beschreibt, welche zwei Links mit dem Gelenk verbunden sind

Wenn Sie denselben Roboterarm wie ich verwenden, müssen Sie 3D-Netze des Arms in den Paketordner urdf_tutorial kopieren. Mach es mit diesem Befehl

sudo cp /opt/ros/kinetic/share/urdf_tutorial/meshes/

Wenn Sie Ihre eigenen Meshes verwenden, stellen Sie sicher, dass sie um den Ursprung (xyz 000 in Ihrer bevorzugten 3D-Modellierungssoftware) zentriert sind, bevor Sie sie in das binäre (!) stl-Format exportieren.

Jetzt können Sie rviz starten, um die Ergebnisse mit diesem Befehl zu visualisieren

roslaunch urdf_tutorial display.launch model:=arm.urdf

(starten Sie es aus dem Ordner mit der urdf-Datei, die Sie gerade erstellt haben)

Überprüfen Sie die Gelenke und die Glieder, stellen Sie sicher, dass sie sich drehen und genau so positioniert sind, wie sie es sollen. Wenn alles in Ordnung ist, fahren Sie mit dem nächsten Schritt fort.

Schritt 3: Roboterkonfiguration mit MoveIt Setup Assistant erstellen

Roboterkonfiguration mit MoveIt Setup Assistant erstellen
Roboterkonfiguration mit MoveIt Setup Assistant erstellen

Wenn Ihre urdf-Datei jetzt fertig ist, ist es an der Zeit, sie in ein Roboterkonfigurationspaket zu konvertieren.

Starten Sie den MoveIt Setup-Assistenten mit dem folgenden Befehl

roslaunch moveit_setup_assistant setup_assistant.launch

Der Vorgang ist im offiziellen MoveIt-Tutorial sehr gut beschrieben, das Sie hier finden können

Nachdem Sie das Konfigurationspaket erstellt haben, gehen Sie zu Ihrem catkin-Workspace-Ordner und führen Sie aus

Kätzchen machen

um das Paket zu bauen. Jetzt können Sie es mit dem folgenden Befehl starten

roslaunch my_arm_xacro demo.launch rviz_tutorial:=true

wo Sie "my_arm_xacro" in den Namen Ihres Pakets ändern müssen.

Schritt 4: Fertig

Fertig!
Fertig!
Fertig!
Fertig!

Wenn Sie das Paket erfolgreich gestartet haben, sehen Sie Ihr Robotermodell mit interaktiven Markierungen. Sie können es in der Simulation steuern, indem Sie die Marker verwenden und dann "Planen und Ausführen" drücken, damit der kinematische Solver den richtigen Weg zum gewünschten Zustand findet.

Das war der erste Schritt, wir haben ein Modell unseres Roboterarms erstellt und können die Leistung von ROS nutzen, um Bewegungen in der Simulation zu berechnen und auszuführen! Nächster Schritt - mach es mit dem echten Roboter, dafür müssen wir eine einfache Robotersteuerung schreiben…

Empfohlen: