Mis on Catkin?
Selle tööriista on robootika operatsioonisüsteemi ROS jaoks välja töötanud meeskond, kes ehitab ROS-i tööriistu. Teie robootikaprojekti loomiseks on sellel palju tööriistu. Selle kasutamine on vajalik, kui arendate ROS-i kasutavaid roboteid. Peaksite teadma, et neid tööriistu on viimase paari aasta jooksul olnud mitu põlvkonda. See tähendab, et peate valima uusima! Catkin on installitud täieliku ROS-noeetilise jaotusega; kõik, mida peate hoolitsema, on konfiguratsioon. Catkini käitamiseks peate määrama õige keskkonna.
Kataloogi / keskkonna seadistamine
Looge kataloog, mille sees on alamkataloog src /. MyRob / src. Näited pärinevad algajate õpetusest.
catkin_make loob CMakelists.txt src kataloogis. Need osutavad teistele failidele, mis projekti moodustavad.
Järgmisena soovite luua oma paketid.
Minge src kataloogi
catkin_createpkg$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp
Pange tähele viga käsus. See loob kõik nii, nagu poleks te eksinud. Tulemuse leiate failidest grepiga.
$ 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
./ pakett.xml: ropy
./ pakett.xml: ropy
./ pakett.xml: ropy
Järgmine kompileerimine ebaõnnestub. Nüüd on teil kaks valikut, failide redigeerimine või kogu kataloogi eemaldamine. Skript on tavaliselt kiire, nii et lihtsaim on käsk loomine eemaldada ja uuesti käivitada. Kui olete need vead kõrvaldanud, jätkate paketi ülesehitamist. Mõlemal juhul, kui olete selle parandanud, minge tööruumi juure ja käivitage uuesti catkin_make. Mis tahes projektiga edasi liikudes lähete kogu projekti tegemiseks alati tagasi tööruumi juurte juurde. See tagab ainult selle, et kõik on õigesti olemas, on mõned nutikad trikid, nii et te ei pea kogu projekti iga kord uuesti kompileerima.
$ cd ~ catkin_ws / $ catkin_makeKui see seekord õnnestub, olete just loonud oma esimese paketi. Ärge unustage oma pakett korda teha.xml-fail. Tõenäoliselt peaksite oma nime ja litsentsi õigesti määrama. Seadeid on rohkem, neid kõiki on lihtne mõista.
Väike projekt
Nüüd tehke see uuesti uues kataloogis ja looge oma projekt. Või veel parem: harjutamiseks võtke GitHubist üles projekt, vaadake, kuhu see läheb, ja hakake siis seda oma maitse järgi muutma. Selleks saate luua src-kataloogiga catkinile tööruumi. Lähtekataloogis kopeerite lähtekoodi kataloogidesse. Ülaltoodud näites vajate kahte sammu, kloonige kataloog ja käivitage catkin_make.
$ cd / src$ giti kloon https: // github.com / crkaushik93 / Go-Chase-It-RSEND-Project-2.git
$ cd…
$ catkin_make
Vähem sügava puu tegemiseks võite iga alamkataloogi ühe sammu võrra ülespoole viia, kuid see pole kohustuslik. Viimane käsk otsib src / kataloogi ja leiab kogu koodi.
Paigaldamine
Tavaliselt ei installita pakette ainult arendussüsteemi. Siiski käivitate installimise installikeskkonna ja arenduskeskkonna loomiseks. Käsk catkin_make loob need teie jaoks. Edasi liikudes peaksite hankima ühe arendamiseks ja teise testimiseks. Otsene installimine loob teie kataloogid, sealhulgas keskkondade lähtestamiseks skriptid.
$ catkin_make install
Teie süsteemis pole faile installitud, ainult projekti kataloogis. See on suurepärane, sest kõik, mida peate tegema, on käivitada seadistamine ja alustada testimist.
Või…
$ source install / setup_bashEsimene on teie jaoks testimise käivitamine ja saate teada, millised vead olete oma koodi sisse põiminud.
Ainult ROS?
Kas see kehtib ainult ROS1 puhul? Jah, catkin on suunatud ainult ROS1 raamatukogudele. Üks asi on siiski märkida, et suurem osa tööst on cmake. Saate tõlkida paljusid tavasid teistesse CMake'i kasutavatesse projektidesse. Peate tegema rohkem tööd, kuna Catkin on teie jaoks paljusid ülesandeid lihtsustanud. ROS2 puhul on paljud asjad sarnased, kuid lahendused on täpsemad ja neil on rohkem funktsioone, et kontrollida iga kord, kui palju kompileerite. Programmeerida saab ka ROS-i mõlemal tasemel, nende kahe vahel on sild!
Järeldus
Catkin on väga tugev ja mitmekülgne tööriistakomplekt, mis muudab teie töö palju lihtsamaks ja võimaldab teil robootikakoodi väljatöötamisel lihvida. Praktikad on küll suurepärane viis programmeerimise kohta lisateabe saamiseks. Nii et isegi kui teie robotiprojekt on mõeldud ainult teie lähimale ringile ja uhkustusõigustele, võite teiste projektide teadmistest kasu saada.