Što je Catkin?
Ovaj je alat za ROS, operativni sustav za robotiku, razvio tim za izgradnju ROS alata. Ima mnoštvo alata za izgradnju vašeg projekta robotike. Korištenje će biti potrebno ako razvijate robote pomoću ROS-a. Trebali biste biti svjesni da je ovih alata bilo nekoliko generacija tijekom posljednjih nekoliko godina. To znači da morate odabrati najnovije! Catkin je instaliran s potpunom ROS noetskom distribucijom; sve o čemu trebate voditi računa je konfiguracija. Trebate postaviti ispravno okruženje za pokretanje Catkina.
Postavljanje direktorija / okruženja
Stvorite direktorij s poddirektorijom src / unutar njega. MyRob / src. Primjeri su iz početnog vodiča.
catkin_make stvara CMakeliste.txt u direktoriju src. Oni upućuju na ostale datoteke koje čine projekt.
Dalje, želite stvoriti svoje pakete.
Idite u direktorij src
catkin_createpkg$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp
Zabilježite pogrešku u naredbi. Ovo stvara sve kao da se niste prevarili. Rezultat možete pronaći u datotekama pomoću 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
Sljedeća kompilacija neće uspjeti. Sada imate dva izbora, urediti datoteke ili ukloniti cijeli direktorij. Skripta je obično brza, pa je najjednostavnije ukloniti i ponovo pokrenuti naredbu create. Nakon što uklonite te pogreške, nastavljate s izradom paketa. U svakom slučaju, kada ste to popravili, idite na korijen radnog prostora i ponovno pokrenite catkin_make. Kako nastavljate s bilo kojim projektom, uvijek ćete se vraćati do korijena radnog prostora da biste napravili cijeli projekt. Ovo samo osigurava da sve postoji ispravno, postoje neki pametni trikovi tako da ne morate svaki put ponovno kompajlirati cijeli projekt.
$ cd ~ catkin_ws / $ catkin_makeAko ovaj put uspije, upravo ste kreirali svoj prvi paket. Ne zaboravite popraviti svoj paket.xml datoteku. Vjerojatno biste trebali pravilno postaviti svoje ime i licencu. Postoji više postavki, sve ih je lako razumjeti.
Mali projekt
Sada to ponovite u novom direktoriju i izradite svoj projekt. Ili još bolje: za vježbanje, preuzmite projekt s GitHub-a, pogledajte kamo ide, a zatim ga počnite mijenjati po svom ukusu. Da biste to učinili, možete stvoriti radni prostor za catkin pomoću src direktorija. U izvorni direktorij kopirate u direktorije izvornog koda. Iz gornjeg primjera potrebna su vam dva koraka, kloniranje direktorija i pokretanje catkin_make.
$ cd / src$ git klon https: // github.com / crkaushik93 / Go-Chase-It-RSEND-Project-2.git
$ cd ..
$ catkin_make
Da biste napravili manje duboko stablo, možete svaki poddirektorij pomaknuti za jedan korak gore, ali to nije obavezno. Posljednja naredba pretražit će src / direktorij i pronaći sav kôd.
Instaliranje
Pakete obično ne instalirate samo na razvojni sustav. Međutim, pokrećete instalaciju da biste stvorili okruženje za instalaciju i razvojno okruženje. Naredba catkin_make kreira ih za vas. Kako idete dalje, trebali biste nabaviti jedan za razvoj, a drugi za testiranje. Izravna instalacija stvorit će vaše direktorije, uključujući skripte za inicijalizaciju okruženja.
$ catkin_make instalirati
Datoteke neće biti instalirane na vašem sustavu, samo u direktoriju projekta. To je sjajno jer sve što trebate je pokrenuti instalaciju i započeti testiranje.
Ili…
$ source install / setup_bashPrvo je da pokrenete testiranje i otkrijete koje ste pogreške ugradili u svoj kod.
Samo ROS?
Dakle, vrijedi li ovo samo za ROS1? Da, catkin je namijenjen samo knjižnicama ROS1. Treba napomenuti da je većina posla cmake. Moći ćete prevesti mnoge prakse na druge projekte koji koriste CMake. Samo trebate više raditi jer vam je Catkin pojednostavnio mnoge zadatke. Za ROS2 mnoge su stvari slične, ali rješenja su profinjenija i imaju više značajki za kontrolu koliko svaki put kompajlirate. Također možete programirati na obje razine ROS-a, između njih postoji most!
Zaključak
Catkin je vrlo snažan i svestran set alata koji vaš rad čini mnogo jednostavnijim i omogućuje vam da prođete kroz temeljni razvoj svog robotičkog koda. Iako su prakse izvrstan način da naučite više o programiranju. Dakle, čak i ako je vaš projekt robota samo za vaš najbliži krug i prava hvalisanja, možete imati koristi od znanja za druge projekte.