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 ropyubuntu@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_makeWenn 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.
Oder…
$ source install/setup_bashDie 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.