Robotik

Catkin ROS

Catkin ROS
Når du bruger Robotics-operativsystemet, vil du på et tidspunkt ønske at udvikle din software. Til ROS1-versionen, der er i vedligeholdelse indtil 2025, bruger du Catkin til at kompilere dine projekter. Hvis du ikke planlægger at programmere dig selv, skal du bemærke, at du muligvis skal kompilere andres software, så det at lære det grundlæggende er nyttigt under alle omstændigheder. I det tilfælde, at du allerede er flyttet til ROS2, bruger du colcon til at gøre det samme.

Hvad er Catkin?

Dette værktøj er udviklet til ROS, robotikoperativsystemet, af teamet, der bygger ROS-værktøjerne. Det har en lang række værktøjer til at opbygge dit robotprojekt. Brug af det vil være nødvendigt, hvis du udvikler robotter, der bruger ROS. Du skal være opmærksom på, at der har været flere generationer af disse værktøjer i de sidste par år. Dette betyder, at du skal vælge det nyeste! Catkin er installeret med den fulde ROS noetic-distribution; alt hvad du behøver for at tage sig af er konfigurationen. Du skal indstille det korrekte miljø til at køre Catkin.

Opsætning af biblioteket / miljøet

Opret en mappe med underkatalog src / inde i den. MyRob / src. Eksemplerne er fra begyndervejledningen.

catkin_make opretter CMakelists.txt i src-biblioteket. Disse peger på de andre filer, der udgør et projekt.

Dernæst vil du oprette dine pakker.

Gå i src-biblioteket

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Bemærk fejlen i kommandoen. Dette skaber alt som om du ikke tog fejl. Du kan finde resultatet i filerne med grep.

$ grep -r kopi
ubuntu @ noetic: / home / ubuntu / catkin_ws / src / beginner_tutorials
$ grep -r kopi. ./ CMakeLists.txt: kopi
./ CMakeLists.txt: # CATKIN_DEPENDS ropy roscpp std_msgs
./pakke.xml: kopi
./pakke.xml: kopi
./pakke.xml: kopi

Den næste kompilering mislykkes. Du har nu to valg, rediger filerne eller fjern hele biblioteket. Scriptet er normalt hurtigt, så det nemmeste er at fjerne og genkøre kommandoen create. Når du har ryddet disse fejl, fortsætter du med at oprette pakken. Uanset hvad, når du har rettet det, skal du gå til arbejdsområdets rod og køre catkin_make igen. Når du går videre med ethvert projekt, går du altid tilbage til arbejdsområdets rod for at oprette hele projektet. Dette sørger kun for, at alt eksisterer korrekt, der er nogle smarte tricks, så du ikke behøver at kompilere hele projektet hver gang.

$ cd ~ catkin_ws / $ catkin_make

Hvis det lykkes denne gang, har du lige oprettet din første pakke. Husk at ordne din pakke.xml-fil. Du skal sandsynligvis indstille dit navn korrekt og licensen. Der er flere indstillinger, de er alle nemme at forstå.

Et lille projekt

Gør det igen i en ny mappe, og opret dit projekt. Eller endnu bedre: til praksis skal du hente et projekt fra GitHub, se hvor det går, og derefter begynde at ændre det efter eget smag. For at gøre dette kan du oprette et arbejdsområde til catkin med et src-bibliotek. I kildekataloget kopieres du i kildekodebibliotekerne. Fra eksemplet ovenfor har du brug for to trin, klon biblioteket og kør catkin_make.

$ cd / src
$ git klon https: // github.com / crkaushik93 / Go-Chase-It-RSEND-Project-2.git
$ cd ..
$ catkin_make

For at lave et mindre dybt træ kan du flytte hver underkatalog et trin op, men dette er valgfrit. Den sidste kommando søger i src / biblioteket og finder al kode.

Installation

Du installerer normalt ikke kun pakker på udviklingssystemet. Du kører dog installation for at oprette et installationsmiljø og et udviklingsmiljø. Kommandoen catkin_make opretter disse for dig. Når du går videre, skal du finde en til udvikling og den anden til test. En direkte installation opretter dine mapper, inklusive scripts til initialisering af miljøerne.

$ catkin_make installation


Du har ikke filerne installeret på dit system, kun i projektmappen. Dette er fantastisk, fordi alt hvad du skal gøre er at køre opsætningen og starte testningen.

$ kildeudvikling / setup_bash

Eller…

$ source installation / setup_bash

Den første er, at du kører test og finder ud af, hvilke fejl du har indlejret i din kode.

Kun ROS?

Så er dette kun gyldigt for ROS1? Ja, catkin er kun rettet mod ROS1-bibliotekerne. En ting at bemærke er dog, at det meste af jobbet er cmake. Du vil være i stand til at oversætte mange af fremgangsmåderne til andre projekter, der bruger CMake. Du behøver kun at udføre mere arbejde, da Catkin har forenklet mange opgaver for dig. For ROS2 er mange ting ens, men løsningerne er mere raffinerede og har flere funktioner til at kontrollere, hvor meget du kompilerer hver gang. Du kan også programmere i begge niveauer af ROS, der er en bro mellem de to!

Konklusion

Catkin er et meget stærkt og alsidigt sæt værktøjer, der gør dit arbejde meget enklere og giver dig mulighed for at komme igennem grinden ved at udvikle din robotkode. Praksis er dog en glimrende måde at lære mere om programmering på. Så selvom dit robotprojekt kun er til din nærmeste cirkel og skryterettigheder, kan du drage fordel af viden til andre projekter.

Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...
5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...