Robotik

Kätzchen ROS

Kätzchen ROS
Wenn Sie das Robotics Operating System verwenden, möchten Sie irgendwann Ihre Software entwickeln. Für die ROS1-Version, die bis 2025 gewartet wird, verwenden Sie Catkin, um Ihre Projekte zu kompilieren. Wenn Sie nicht vorhaben, selbst zu programmieren, beachten Sie, dass Sie möglicherweise die Software anderer Personen kompilieren müssen, sodass das Erlernen der Grundlagen auf jeden Fall nützlich ist. Für den Fall, dass Sie bereits zu ROS2 gewechselt sind, verwenden Sie colcon, um dasselbe zu tun.

Was ist Catkin?

Dieses Tool wurde für ROS, das Robotik-Betriebssystem, vom Team entwickelt, das die ROS-Tools entwickelt. Es verfügt über eine Vielzahl von Tools zum Erstellen Ihres Robotikprojekts. Die Verwendung ist erforderlich, wenn Sie Roboter mit ROS . entwickeln. Sie sollten sich bewusst sein, dass es in den letzten Jahren mehrere Generationen dieser Tools gegeben hat. Dies bedeutet, dass Sie das neueste auswählen müssen! Catkin wird mit der vollständigen ROS-Noetic-Distribution installiert; Sie müssen sich nur um die Konfiguration kümmern. Sie müssen die richtige Umgebung für die Ausführung von Catkin . einstellen.

Verzeichnis/Umgebung einrichten

Erstellen Sie ein Verzeichnis mit dem Unterverzeichnis src/ darin. MyRob/src. Die Beispiele stammen aus dem Anfänger-Tutorial.

catkin_make erstellt CMakelisten.txt im src-Verzeichnis. Diese verweisen auf die anderen Dateien, aus denen ein Projekt besteht.

Als nächstes möchten Sie Ihre Pakete erstellen.

Gehe in das src-Verzeichnis

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Beachten Sie den Fehler im Befehl. Dies schafft alles, als ob Sie sich nicht geirrt hätten. Das Ergebnis finden Sie in den Dateien mit grep.

$ grep -r ropy
ubuntu@noetic:/home/ubuntu/catkin_ws/src/beginner_tutorials
$ grep -r ropy. ./CMakeLists.txt: ropy
./CMakeLists.txt:# CATKIN_DEPENDS ropy roscpp std_msgs
./Paket.xml: ropy
./Paket.xml: ropy
./Paket.xml: ropy

Die nächste Kompilierung schlägt fehl. Sie haben nun zwei Möglichkeiten, die Dateien zu bearbeiten oder das gesamte Verzeichnis zu entfernen. Das Skript ist normalerweise schnell, daher ist es am einfachsten, den Befehl create zu entfernen und erneut auszuführen. Sobald Sie diese Fehler behoben haben, fahren Sie mit dem Erstellen des Pakets fort. Wie auch immer, wenn Sie das Problem behoben haben, gehen Sie zum Workspace-Stamm und führen Sie catkin_make erneut aus. Wenn Sie mit einem Projekt fortfahren, gehen Sie immer zurück zum Stamm des Arbeitsbereichs, um das gesamte Projekt zu erstellen. Damit ist nur sichergestellt, dass alles richtig existiert, es gibt einige clevere Tricks, damit man nicht jedes Mal das ganze Projekt neu kompilieren muss.

$ cd ~catkin_ws/ $ catkin_make

Wenn es diesmal gelingt, hast du gerade dein erstes Paket erstellt. Denken Sie daran, Ihr Paket zu reparieren.xml-Datei. Sie sollten wahrscheinlich Ihren Namen und die Lizenz richtig einstellen. Es gibt noch mehr Einstellungen, sie sind alle leicht zu verstehen.

Ein kleines Projekt

Machen Sie es jetzt noch einmal in einem neuen Verzeichnis und erstellen Sie Ihr Projekt. Oder noch besser: Holen Sie sich zum Üben ein Projekt von GitHub, sehen Sie, wo es hingehört, und beginnen Sie dann, es nach Ihren Wünschen zu ändern. Um dies zu tun, können Sie einen Arbeitsbereich für catkin mit einem src-Verzeichnis erstellen. Im Quellverzeichnis kopieren Sie in die Quellcodeverzeichnisse. Aus dem obigen Beispiel benötigen Sie zwei Schritte, das Verzeichnis klonen und catkin_make ausführen.

$ cd /src
$ git-Klon https://github.com/crkaushik93/Go-Chase-It-RSEND-Project-2.git
$ CD…
$ catkin_make

Um einen weniger tiefen Baum zu erstellen, können Sie jedes Unterverzeichnis einen Schritt nach oben verschieben, aber dies ist optional. Der letzte Befehl durchsucht das Verzeichnis src/ und findet den gesamten Code.

Installation

Normalerweise installieren Sie Pakete nicht nur auf dem Entwicklungssystem. Sie führen jedoch install aus, um eine Installationsumgebung und eine Entwicklungsumgebung zu erstellen. Der Befehl catkin_make erstellt diese für Sie. Wenn Sie fortfahren, sollten Sie einen für die Entwicklung und den anderen zum Testen verwenden. Eine direkte Installation erstellt Ihre Verzeichnisse, einschließlich der Skripte zum Initialisieren der Umgebungen.

$ catkin_make install


Sie haben die Dateien nicht auf Ihrem System installiert, sondern nur im Projektverzeichnis. Das ist großartig, denn alles, was Sie tun müssen, ist das Setup auszuführen und mit dem Testen zu beginnen.

$ source devel/setup_bash

Oder…

$ source install/setup_bash

Die erste besteht darin, dass Sie Tests durchführen und herausfinden, welche Fehler Sie in Ihren Code eingebettet haben.

Nur ROS?

Gilt dies also nur für ROS1?? Ja, catkin richtet sich nur an die ROS1-Bibliotheken. Zu beachten ist jedoch, dass die meiste Arbeit cmake ist. Sie können viele der Praktiken auf andere Projekte übertragen, die CMake verwenden. Du musst nur mehr Arbeit machen, da Catkin viele Aufgaben für dich vereinfacht hat. Für ROS2 sind viele Dinge ähnlich, aber die Lösungen sind raffinierter und haben mehr Funktionen, um zu steuern, wie viel Sie jedes Mal kompilieren. Sie können auch in beiden Ebenen von ROS programmieren, es gibt eine Brücke zwischen den beiden!

Fazit

Catkin ist ein sehr starkes und vielseitiges Tool-Set, das Ihre Arbeit viel einfacher macht und Ihnen hilft, Ihren Robotik-Code zu entwickeln. Die Übungen sind jedoch eine hervorragende Möglichkeit, mehr über das Programmieren zu lernen. Auch wenn Ihr Roboterprojekt also nur für Ihren engsten Kreis und Prahlereien gedacht ist, können Sie vom Wissen für andere Projekte profitieren.

Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...
Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...