Hva er Catkin?
Dette verktøyet er utviklet for ROS, robotikkoperativsystemet, av teamet som bygger ROS-verktøyene. Den har en rekke verktøy for å bygge robotprosjektet ditt. Bruk av det vil være nødvendig hvis du utvikler roboter ved hjelp av ROS. Du bør være klar over at det har vært flere generasjoner av disse verktøyene de siste årene. Dette betyr at du må velge det nyeste! Catkin er installert med full ROS noetic-distribusjon; alt du trenger å ta vare på er konfigurasjonen. Du må angi riktig miljø for å kjøre Catkin.
Sette opp katalogen / miljøet
Opprett en katalog med underkatalog src / inne i den. MyRob / src. Eksemplene er fra begynnerveiledningen.
catkin_make oppretter CMakelists.txt i src-katalogen. Disse peker på de andre filene som utgjør et prosjekt.
Deretter vil du lage pakkene dine.
Gå i src-katalogen
catkin_createpkg$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp
Legg merke til feilen i kommandoen. Dette skaper alt som om du ikke tok feil. Du kan finne resultatet i filene med grep.
$ grep -r kopiubuntu @ noetic: / home / ubuntu / catkin_ws / src / beginner_tutorials
$ grep -r kopi. ./ CMakeLists.txt: ropy
./ CMakeLists.txt: # CATKIN_DEPENDS ropy roscpp std_msgs
./pakke.xml: ropy
./pakke.xml: ropy
./pakke.xml: ropy
Neste kompilering mislykkes. Du har nå to valg, redigere filene eller fjerne hele katalogen. Skriptet er vanligvis raskt, så det enkleste er å fjerne og kjøre Create-kommandoen på nytt. Når du har fjernet disse feilene, fortsetter du med å bygge pakken. Uansett når du har løst det, går du til arbeidsområdet rot og kjører catkin_make igjen. Når du går videre med et hvilket som helst prosjekt, vil du alltid gå tilbake til arbeidsområdets rot for å lage hele prosjektet. Dette sørger bare for at alt eksisterer riktig, det er noen smarte triks, slik at du ikke trenger å kompilere hele prosjektet hver gang.
$ cd ~ catkin_ws / $ catkin_makeHvis det lykkes denne gangen, har du nettopp opprettet din første pakke. Husk å ordne opp pakken.xml-fil. Du bør sannsynligvis angi navnet ditt riktig og lisensen. Det er flere innstillinger, de er alle enkle å forstå.
Et lite prosjekt
Gjør det igjen i en ny katalog og opprett prosjektet. Eller enda bedre: for å øve, ta et prosjekt fra GitHub, se hvor det går, og begynn å endre det etter eget ønske. For å gjøre dette kan du opprette et arbeidsområde for catkin med en src-katalog. I kildekatalogen kopierer du i kildekodekatalogene. Fra eksemplet ovenfor trenger du to trinn, klone katalogen og kjør catkin_make.
$ cd / src$ git klon https: // github.com / crkaushik93 / Go-Chase-It-RSEND-Project-2.git
$ cd ..
$ catkin_make
For å lage et mindre dypt tre kan du flytte hver underkatalog opp ett trinn, men dette er valgfritt. Den siste kommandoen vil søke i src / katalog og finne all kode.
Installasjon
Du installerer vanligvis ikke bare pakker på utviklingssystemet. Imidlertid kjører du install for å opprette et installasjonsmiljø og et utviklingsmiljø. Kommandoen catkin_make lager disse for deg. Når du går videre, bør du skaffe en for utvikling og den andre for testing. En direkte installasjon vil opprette katalogene dine, inkludert skriptene for å initialisere miljøene.
$ catkin_make install
Du vil ikke ha filene installert på systemet ditt, bare i prosjektkatalogen. Dette er flott fordi alt du trenger å gjøre er å kjøre oppsettet og begynne å teste.
Eller…
$ source install / setup_bashDen første er at du skal kjøre testing og finne ut hvilke feil du har innebygd i koden din.
Bare ROS?
Så er dette bare gyldig for ROS1? Ja, catkin er bare rettet mot ROS1-bibliotekene. En ting å merke seg er at det meste av jobben er cmake. Du vil være i stand til å oversette mange av praksisene til andre prosjekter som bruker CMake. Du trenger bare å gjøre mer arbeid siden Catkin har forenklet mange oppgaver for deg. For ROS2 er mange ting like, men løsningene er mer raffinerte og har flere funksjoner for å kontrollere hvor mye du kompilerer hver gang. Du kan også programmere i begge nivåer av ROS, det er en bro mellom de to!
Konklusjon
Catkin er et veldig sterkt og allsidig sett med verktøy som gjør arbeidet ditt mye enklere og lar deg komme deg gjennom å utvikle robotikkoden din. Praksisene er imidlertid en utmerket måte å lære mer om programmering. Så selv om robotprosjektet ditt kun er for din nærmeste krets og skryterett, kan du dra nytte av kunnskap for andre prosjekter.