Robotik

Catkin ROS

Catkin ROS
När du använder Robotics operativsystem vill du någon gång utveckla din programvara. För ROS1-versionen som underhålls fram till 2025 kommer du att använda Catkin för att sammanställa dina projekt. Om du inte planerar att programmera själv, notera att du kan behöva kompilera andras programvara så att lära dig grunderna är användbart i alla fall. För det fall att du redan har flyttat till ROS2 använder du colcon för att göra samma sak.

Vad är Catkin?

Detta verktyg är utvecklat för ROS, robotikoperativsystemet, av teamet som bygger ROS-verktygen. Den har en mängd verktyg för att bygga ditt robotprojekt. Att använda det är nödvändigt om du utvecklar robotar med ROS. Du bör vara medveten om att det har funnits flera generationer av dessa verktyg under de senaste åren. Det betyder att du måste välja det nyaste! Catkin installeras med den fullständiga ROS noetic-distributionen; allt du behöver ta hand om är konfigurationen. Du måste ställa in rätt miljö för att köra Catkin.

Ställa in katalogen / miljön

Skapa en katalog med underkatalog src / inuti den. MyRob / src. Exemplen är från nybörjarhandledningen.

catkin_make skapar CMakelists.txt i src-katalogen. Dessa pekar på de andra filer som utgör ett projekt.

Därefter vill du skapa dina paket.

Gå in i src-katalogen

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Notera felet i kommandot. Detta skapar allt som om du inte hade fel. Du hittar resultatet i filerna med 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

Nästa kompilering misslyckas. Du har nu två val, redigera filerna eller ta bort hela katalogen. Skriptet är vanligtvis snabbt så det enklaste är att ta bort och köra kommandot create igen. När du har tagit bort dessa misstag fortsätter du med att bygga paketet. Hur som helst, när du har fixat det, gå till arbetsytans rot och kör catkin_make igen. När du går vidare med valfritt projekt går du alltid tillbaka till arbetsytans rot för att göra hela projektet. Detta ser bara till att allt finns korrekt, det finns några smarta knep så att du inte behöver kompilera hela projektet varje gång.

$ cd ~ catkin_ws / $ catkin_make

Om det lyckas den här gången har du precis skapat ditt första paket. Kom ihåg att fixa ditt paket.xml-fil. Du bör antagligen ställa in ditt namn korrekt och licensen. Det finns fler inställningar, de är alla lätta att förstå.

Ett litet projekt

Gör det igen i en ny katalog och skapa ditt projekt. Eller ännu bättre: för övning, plocka upp ett projekt från GitHub, se vart det går och börja sedan ändra det efter eget tycke. För att göra detta kan du skapa en arbetsyta för catkin med en src-katalog. I källkatalogen kopierar du i källkodskatalogerna. Från exemplet ovan behöver du två steg, klona katalogen och kör catkin_make.

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

För att skapa ett mindre djupt träd kan du flytta varje underkatalog upp ett steg men detta är valfritt. Det sista kommandot söker i src / katalogen och hittar all kod.

Installerar

Du installerar vanligtvis inte bara paket i utvecklingssystemet. Du kör dock install för att skapa en installationsmiljö och en utvecklingsmiljö. Kommandot catkin_make skapar dessa åt dig. När du går vidare bör du källa en för utveckling och den andra för testning. En direktinstallation skapar dina kataloger, inklusive skript för att initiera miljöerna.

$ catkin_make installation


Du kommer inte att ha filerna installerade på ditt system, bara i projektkatalogen. Det här är bra eftersom allt du behöver göra är att köra installationen och börja testa.

$ source devel / setup_bash

Eller…

$ source install / setup_bash

Den första är att du ska testa och ta reda på vilka misstag du har inbäddat i din kod.

Endast ROS?

Så är detta endast giltigt för ROS1? Ja, catkin riktar sig bara till ROS1-biblioteken. En sak att notera är dock att det mesta av jobbet är cmake. Du kommer att kunna översätta många av metoderna till andra projekt som använder CMake. Du behöver bara göra mer arbete eftersom Catkin har förenklat många uppgifter för dig. För ROS2 är många saker likartade men lösningarna är mer förfinade och har fler funktioner för att styra hur mycket du kompilerar varje gång. Du kan också programmera i båda nivåerna av ROS, det finns en bro mellan de två!

Slutsats

Catkin är en mycket stark och mångsidig uppsättning verktyg som gör ditt arbete mycket enklare och låter dig komma igenom grinden för att utveckla din robotkod. Övningarna är dock ett utmärkt sätt att lära sig mer om programmering. Så även om ditt robotprojekt endast är för din närmaste krets och skryter, kan du dra nytta av kunskap för andra projekt.

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...