Catkin Ros

Catkin Ros
Når du bruker robotikkoperativsystemet, vil du på et tidspunkt ønske å utvikle programvaren din. For ROS1 -versjonen som er i vedlikehold til 2025, vil du bruke Catkin for å kompilere prosjektene dine. Hvis du ikke planlegger å programmere deg selv, må du merke deg at du kanskje må samle andres programvare, så det er nyttig å lære det grunnleggende er nyttig. For tilfelle du allerede har flyttet til Ros2, vil du bruke Colcon til å gjøre det samme.

Hva er Catkin?

Dette verktøyet er utviklet for ROS, Robotics Operating System, av teamet som bygger ROS -verktøyene. Det har et mangfold av verktøy for å bygge ditt robotiske prosjekt. Å bruke 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 -noetisk distribusjon; Alt du trenger å ta vare på er konfigurasjonen. Du må angi riktig miljø for å kjøre Catkin.

Sette opp katalogen/miljøet

Lag en katalog med underkatalog SRC/ Inside It. MYROB/SRC. Eksemplene er fra nybegynneropplæringen.

Catkin_make skaper cmakelister.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 nybegynner_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 ropy
ubuntu@noetic:/home/ubuntu/catkin_ws/src/nybegynner_tutorials
$ grep -r ropy.
./CMakelists.TXT: Ropy
./CMakelists.TXT:# CATKIN_DEFIVERS ROPY ROSCPP STD_MSGS
./pakke.XML: Ropy
./pakke.XML: Ropy
./pakke.XML: Ropy

Neste kompilering vil mislykkes. Du har nå to valg, redigerer filene eller fjerner hele katalogen. Skriptet er vanligvis raskt, så det enkleste er å fjerne og kjøre Create Command på nytt. Når du har ryddet disse feilene, fortsetter du med å bygge pakken. Uansett, når du har fikset det, kan du gå til arbeidsområdet og løpe catkin_make igjen. Når du går videre med et hvilket som helst prosjekt, vil du alltid gå tilbake til arbeidsområdet 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_make

Hvis det lykkes denne gangen, har du nettopp opprettet din første pakke. Husk å fikse opp pakken din.XML -fil. Du bør sannsynligvis angi navnet ditt riktig og lisensen. Det er flere innstillinger, de er alle enkle å forstå.

Et lite prosjekt

Nå, gjør det igjen i en ny katalog og lag prosjektet ditt. Eller enda bedre: For å øve, hente et prosjekt fra GitHub, se hvor det går, og begynn å endre det til din smak. For å gjøre dette, kan du opprette et arbeidsområde for Catkin med en SRC -katalog. I kildekatalogen kopierer du i kildekodekatalogene. Fra eksemplet, over trenger du to trinn, klon 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/ Directory og finne all kode.

Installere

Du installerer vanligvis ikke bare pakker på utviklingssystemet. Imidlertid kjører du installasjon for å lage et installasjonsmiljø og et utviklingsmiljø. Catkin_make -kommandoen oppretter disse for deg. Når du går videre, bør du kilde til en for utvikling og den andre for testing. En direkte installasjon vil opprette katalogene dine, inkludert skriptene for å initialisere miljøene.

$ catkin_make installasjon


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.

$ kildeutvikling/setup_bash

Eller…

$ kildeinstallasjon/setup_bash

Den første er for deg å 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 kunne 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 robotikkkoden din. Praksisene er imidlertid en utmerket måte å lære mer om programmering. Så selv om robotprosjektet ditt bare er for din nærmeste krets og skryterettigheter, kan du dra nytte av kunnskap for andre prosjekter.