So planen Sie einen einfachen Roboter mit Linux

So planen Sie einen einfachen Roboter mit Linux
Sobald Sie ROS installiert haben, möchten Sie möglicherweise einen Roboter bauen. Ein guter Weg, um in diesem Projekt erfolgreich zu sein, besteht darin, zu planen, was Sie tun möchten. In diesem Fall kommt Ros zur Rettung. Mit ROS können Sie das einrichten, was Sie erstellt haben, und visualisieren Sie das Ganze. Bei der Arbeit mit Robotern gibt es viele Szenarien, die Sie möglicherweise berücksichtigen müssen. Der Roboter muss mit der Umgebung interagieren, z. B. das Vermeiden des Sofas und den Weg zurück aus der Küche. Der Roboter sollte auch Arme und Beine haben, wenn Ihre Bedürfnisse dies erfordern. Sie können all dies mit ROS simulieren und für den Codierungsteil können Sie auch die Interna Ihres Systems simulieren.

Wie baut man einen ROS -Roboter??

Damit das System gut funktioniert und in der Lage ist, das zu befolgen, was das Gerät in bestimmten Situationen tun wird, benötigen Sie Standarddefinitionen für jeden Teil. In ROS sind diese Komponenten Knoten, Dienste und Themen. Kurz gesagt, Sie erstellen einen Knoten für jeden Hauptbedarf. Zum Beispiel ist Bewegung ein Knoten, Vision ist ein weiterer Knoten und die Planung ist ein dritter Knoten. Die Knoten enthalten Dienste, mit denen Informationen an andere Knoten gesendet werden können, und Dienste können auch Anfragen und Antworten behandeln. Ein Thema kann Werte an viele andere Knoten übertragen. Das Erreichen dieser Begriffe in den Griff bekommen und wie Sie sie verwenden sollten, ist der erste Schlüssel zur Beherrschung der ROS2 -Entwicklung.

Navigation mit Turtlessim nachahmen

Wenn Sie in ROS anfangen, werden Sie wahrscheinlich einen Roboter kaufen, der in Ihrem Haus herumläuft oder rollt. Dazu muss der Roboter einen Blick auf den Bereich haben, in dem er navigiert. Dazu können Sie eine kartenähnliche Anwendung verwenden, um das Verhalten Ihres Roboters zu testen. Die Designer hinter dem Turtlebot haben eine Anwendung mit dem Namen Turtlessim ausgedacht, die dies für Sie tun kann. Wie bei allen anderen Teilen von ROS2 können Sie diese Tools mit einem Unterkommando aus der Befehlszeile starten. Sie haben dann Aktivitäten für verschiedene Funktionen. Der erste Teil besteht darin, das Fenster zu starten, in dem Sie die Simulation sehen können, und dies wird als Knoten bezeichnet.

$ ROS2 Run Turtlesim Turtlesimnode

Ein Fenster erscheint mit einer Schildkröte in der Mitte. Um die Schildkröte mit Ihrer Tastatur zu steuern, müssen Sie einen zweiten Befehl ausführen, der offen bleibt und bestimmte Tasten weiter drückt. Dies ist ein zweiter Knoten, der mit dem ersten kommuniziert.

$ ROS2 Run Turtlessim TurtleLeopkey

Jetzt können Sie die Schildkröte bewegen und sehen, wie sie sich bewegt. Sie können auch Fehler bekommen, z. B. das Schlagen der Wand. Diese Fehler werden im Terminal angezeigt, an dem der Turtlesimnode ausgeführt wird. Dies ist die einfachste Verwendung des Simulationsmoduls. Sie können auch angegebene Formen laufen, ein Quadrat wird bereitgestellt und mehr Schildkröten hinzufügen. Um weitere Schildkröten hinzuzufügen, können Sie den Befehl rqt verwenden.

Dienste mit RQT definieren

Das RQT -Programm bietet Dienste für die Simulation. Das Q steht für QT, was zum Umgang mit der Schnittstelle dient. In diesem Beispiel führen Sie eine neue Schildkröte hervor.

$ rqt

Die RQT -Schnittstelle ist eine lange Liste von Diensten für die Simulation, die Sie ausführen. Um eine neue Schildkröte zu erstellen, wählen Sie das Dropdown-Menü "Spawn" aus, geben Sie der Schildkröte einen neuen Namen und klicken Sie auf "Anruf".'Sie werden sofort eine neue Schildkröte neben dem ersten sehen. Wenn Sie auf das Dropdown-Menü "Spawn" klicken, sehen Sie auch eine neue Reihe von Einträgen in Bezug.

Sie können auch Befehle neu gestalten, um die neue Schildkröte auszuführen. Der Befehl dazu ist wie folgt:

$ ROS2 Run Turtlesim TurtleLeteleopkey -ROS -Args -remap Turtle1/Cmdvel: = Turtle2/Cmdvel

Legen Sie den Namen "Turtle2" nach Ihrer früheren Wahl ein.

Fortgeschrittene Besichtigung mit RVIZ

Verwenden Sie RVIZ für fortgeschrittenere und 3D -Anzeigen. Dieses Paket simuliert alle Knoten in Ihrem Design.

$ ROS2 RUN RVIZ2 RVIZ2

In der grafischen Schnittstelle haben Sie drei Panels mit der Aussicht in der Mitte. Sie können Umgebungen über das Panel "Anzeigen" erstellen. Sie können Wände, Windkräfte und andere physikalische Eigenschaften hinzufügen. Hier fügen Sie auch Ihre Roboter hinzu.

Seien Sie sich bewusst, dass Sie vor diesem Punkt verstehen müssen, wie das URDF -Format verwendet wird. Das URDF -Format definiert einen Roboter, sodass Sie Körper, Arme, Beine und vor allem Kollisionszonen einstellen können. Die Kollisionszonen sind vorhanden, damit die Simulation entscheiden kann, ob der Roboter kollidiert ist.

Das Erlernen eines Roboters im URDF-Format ist ein großes Projekt. Verwenden Sie daher einen vorhandenen Open-Source-Code, um mit den Emulatoren zu experimentieren.

Simulieren Sie die Physik mit Pavillon

Im Pavillon können Sie die Physik der Umgebung, die Ihren Roboter umgibt, simulieren. Gavebo ist ein Komplementprogramm, das zusammen mit RVIZ gut funktioniert. Mit Pavillon können Sie sehen, was tatsächlich passiert. Mit RVIZ verfolgen Sie, was der Roboter erkennt. Wenn Ihre Software eine nicht vorhandene Wand erkennt, zeigt Gavebo leer und Rviz zeigt, wo in Ihrem Code die Wand erstellt wurde.

Abschluss

Simulation Ihres Roboters und seiner Umgebungen ist erforderlich, um Fehler zu finden und die erforderlichen Verbesserungen des Betriebs Ihres Roboters zu erhalten, bevor Sie ihn in freier Wildbahn herausbringen. Dies ist ein langwieriger Prozess, der lange nach dem Testen des Bots in kontrollierten Umgebungen und im wirklichen Leben fortgesetzt wird. Mit angemessenem Wissen über die Infrastruktur der internen Systeme Ihres Roboters können Sie verstehen, was Sie richtig und falsch gemacht haben. Lernen Sie schnell, alle Fehler zu schätzen, die Sie finden, da Sie Ihr System auf lange Sicht robuster machen können.