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 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
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_makeOm 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.
Eller…
$ source install / setup_bashDen 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.