Was ist Catkin?
Dieses Tool wurde für ROS, das Robotik -Betriebssystem, vom Team entwickelt, das die ROS -Tools erstellt. Es verfügt über eine Vielzahl von Tools, um Ihr Robotikprojekt zu erstellen. Wenn Sie ROS mit ROS entwickeln, ist es erforderlich, wenn Sie ROS entwickeln. Sie sollten sich bewusst sein, dass es in den letzten Jahren mehrere Generationen dieser Tools gegeben hat. Dies bedeutet, dass Sie die neuesten auswählen müssen! Catkin ist mit der vollen ROS -Noetic -Verteilung installiert; Sie müssen nur die Konfiguration erledigen. Sie müssen die korrekte Umgebung für das Ausführen von Catkin festlegen.
Einrichten des Verzeichnisses/der Umgebung
Erstellen Sie ein Verzeichnis mit Sub-Verzeichnis-SRC/ darin. Myrob/src. Die Beispiele stammen aus dem Anfänger -Tutorial.
Catkin_Make erstellt Cmakelisten.TXT im SRC -Verzeichnis. Diese weisen auf die anderen Dateien hin, die ein Projekt ausmachen.
Als nächstes möchten Sie Ihre Pakete erstellen.
Gehen Sie in das SRC -Verzeichnis
CATKIN_CREATPKG
$ catkin_createpkg Anfänger_Tutorials Std_msgs Ropy Roscpp
Beachten Sie den Fehler im Befehl. Dies schafft alles, als hätten Sie sich nicht irren. Sie finden das Ergebnis in den Dateien mit Grep.
$ grep -r Ropie
Ubuntu@noetic:/home/ubuntu/catkin_ws/src/anfänger_tutorials
$ grep -r Ropie.
./Cmakelisten.TXT: Ropy
./Cmakelisten.TXT:# CATKIN_DEPEND ROPY ROSCPP STD_MSGS
./Paket.XML: Ropy
./Paket.XML: Ropy
./Paket.XML: Ropy
Das nächste Kompilieren wird scheitern. Sie haben jetzt zwei Möglichkeiten, bearbeiten die Dateien oder entfernen das gesamte Verzeichnis. Das Skript ist normalerweise schnell, so dass es am einfachsten ist, den Befehl create zu entfernen und neu auszuführen. Sobald Sie diese Fehler gelöscht haben, bauen Sie das Paket fort. Wenn Sie es repariert haben, gehen Sie zum Arbeitsbereich und führen Sie Cattkin_Make erneut aus. Wenn Sie mit jedem Projekt fortfahren, werden Sie immer wieder zum Arbeitsbereich zurückkehren, um das gesamte Projekt zu erstellen. Dies stellt nur sicher, dass alles richtig existiert. Es gibt einige clevere Tricks, sodass Sie nicht jedes Mal das gesamte Projekt neu kompilieren müssen.
$ CD ~ CATKIN_WS/ $ CATKIN_MAKE
Wenn es diesmal erfolgreich ist, haben Sie gerade Ihr erstes Paket erstellt. Denken Sie daran, Ihr Paket zu reparieren.XML -Datei. Sie sollten Ihren Namen wahrscheinlich richtig einstellen und die Lizenz. Es gibt mehr Einstellungen, sie sind alle leicht zu verstehen.
Ein kleines Projekt
Machen Sie es nun noch einmal in einem neuen Verzeichnis und erstellen Sie Ihr Projekt. Oder noch besser: Nehmen Sie zum Üben ein Projekt von Github, sehen Sie, wohin es geht, und wechseln Sie es dann nach Ihren Wünschen. Dazu können Sie einen Arbeitsbereich für Catkin mit einem SRC -Verzeichnis erstellen. Im Quellverzeichnis kopieren Sie die Quellcode -Verzeichnisse. Aus dem Beispiel oben benötigen Sie zwei Schritte, klonen Sie das Verzeichnis und führen Sie Catkin_Make aus.
$ cd /src
$ git klone https: // github.com/crkaushik93/go-Chase-it-rsend-project-2.Git
$ cd…
$ CATKIN_MAKE
Um einen weniger tiefen Baum zu machen, können Sie jedes Unterabweis um einen Schritt hinaufziehen, dies ist jedoch optional, aber Sie sind optional. Der letzte Befehl sucht das SRC/ Verzeichnis und sucht alle Code.
Installation
Sie installieren normalerweise nicht nur Pakete auf dem Entwicklungssystem. Sie führen jedoch die Installation aus, um eine Installationsumgebung und eine Entwicklungsumgebung zu erstellen. Der Befehl CATKIN_MAKE erstellt diese für Sie. Wenn Sie weitermachen, sollten Sie einen für die Entwicklung und den anderen zum Testen beziehen. Eine direkte Installation erstellt Ihre Verzeichnisse, einschließlich der Skripte, um die Umgebungen zu initialisieren.
$ catkin_make install
Sie werden nicht die Dateien auf Ihrem System installiert, nur im Projektverzeichnis. Dies ist großartig, weil Sie nur das Setup ausführen und mit dem Test beginnen müssen.
$ Source Devel/setup_bash
Oder…
$ source install/setup_bash
Das erste ist, dass Sie Tests durchführen und herausfinden, welche Fehler Sie in Ihren Code eingebettet haben.
Nur Ros?
Ist dies also nur für ROS1 gültig? Ja, Catkin richtet sich nur auf die ROS1 -Bibliotheken. Eine Sache zu beachten ist jedoch, dass der größte Teil des Jobs CMake ist. Sie werden in der Lage sein, viele der Praktiken in andere Projekte zu übersetzen, die CMake verwenden. Sie müssen nur mehr Arbeit erledigen, da Catkin viele Aufgaben für Sie vereinfacht hat. Für ROS2 sind viele Dinge ähnlich, aber die Lösungen sind raffinierter und verfügen über mehr Funktionen, um zu steuern, wie viel Sie jedes Mal kompilieren. Sie können auch auf beiden ROS -Ebenen programmieren, es gibt eine Brücke zwischen den beiden!
Abschluss
Catkin ist eine sehr starke und vielseitige Gruppe von Tools, die Ihre Arbeit viel einfacher machen und Sie die Entwicklung Ihres Robotikcodes durchlaufen können. Die Praktiken sind jedoch eine hervorragende Möglichkeit, mehr über das Programmieren zu erfahren. Selbst wenn Ihr Roboterprojekt nur für Ihren engsten Kreis und prahlerische Rechte gilt, können Sie von Wissen für andere Projekte profitieren.