Robotica

Katje ROS

Katje ROS
Wanneer u het Robotics-besturingssysteem gebruikt, wilt u op een gegeven moment uw software ontwikkelen. Voor de ROS1-versie die in onderhoud is tot 2025, gebruik je Catkin om je projecten samen te stellen. Als je niet van plan bent om zelf te programmeren, houd er dan rekening mee dat je misschien andermans software moet compileren, dus het is in ieder geval handig om de basis te leren. In het geval dat u al naar ROS2 bent verhuisd, gebruikt u colcon om hetzelfde te doen.

Wat is katje??

Deze tool is ontwikkeld voor ROS, het besturingssysteem voor robotica, door het team dat de ROS-tools bouwt. Het heeft een groot aantal tools om uw robotica-project te bouwen. Het gebruik ervan is nodig als u robots ontwikkelt met ROS. U moet zich ervan bewust zijn dat er de afgelopen jaren verschillende generaties van deze tools zijn geweest. Dit betekent dat je de nieuwste moet kiezen! Catkin wordt geïnstalleerd met de volledige ROS noetic-distributie; u hoeft alleen maar voor de configuratie te zorgen. U moet de juiste omgeving instellen voor het uitvoeren van Catkin.

De directory/omgeving instellen

Maak een map aan met de submap src/ erin. MijnRob/src. De voorbeelden komen uit de beginnershandleiding.

catkin_make maakt CMakelists aan.txt in de src-map. Deze verwijzen naar de andere bestanden waaruit een project bestaat.

Vervolgens wilt u uw pakketten maken.

Ga in de src-map

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Let op de fout in de opdracht. Dit creëert alles alsof je je niet vergis. Het resultaat vind je in de bestanden met grep.

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

De volgende compilatie zal mislukken. Je hebt nu twee keuzes, bewerk de bestanden of verwijder de hele map. Het script is meestal snel, dus het gemakkelijkst is om de opdracht create te verwijderen en opnieuw uit te voeren. Zodra je die fouten hebt gewist, ga je verder met het bouwen van het pakket. Hoe dan ook, als je het hebt opgelost, ga je naar de root van de werkruimte en voer je catkin_make opnieuw uit. Naarmate je verder gaat met een project, ga je altijd terug naar de hoofdmap van de werkruimte om het hele project te maken. Dit zorgt er alleen voor dat alles correct bestaat, er zijn enkele slimme trucs zodat je niet elke keer het hele project opnieuw hoeft te compileren.

$ cd ~catkin_ws/ $ catkin_make

Als het deze keer lukt, heb je zojuist je eerste pakket gemaakt. Vergeet niet je pakket op te knappen.xml-bestand. U moet waarschijnlijk uw naam correct instellen en de licentie. Er zijn meer instellingen, ze zijn allemaal gemakkelijk te begrijpen.

Een klein project

Doe het nu opnieuw in een nieuwe map en maak je project aan. Of beter nog: pak om te oefenen een project op van GitHub, kijk waar het naartoe gaat en begin het naar wens te veranderen. Om dit te doen, kunt u een werkruimte voor katjes maken met een src-map. In de bronmap kopieer je in de broncodemappen. Van het bovenstaande voorbeeld heb je twee stappen nodig, kloon de map en voer catkin_make . uit.

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

Om een ​​minder diepe boom te maken, mag je elke submap een stap omhoog verplaatsen, maar dit is optioneel. Het laatste commando zal de src/ directory doorzoeken en alle code vinden.

Installeren

U installeert pakketten meestal niet alleen op het ontwikkelsysteem. U voert echter install uit om een ​​installatieomgeving en een ontwikkelomgeving te maken. De opdracht catkin_make maakt deze voor u. Naarmate je verder gaat, moet je er een zoeken voor ontwikkeling en de andere voor testen. Een directe installatie maakt uw mappen aan, inclusief de scripts om de omgevingen te initialiseren.

$ catkin_make install


U zult de bestanden niet op uw systeem hebben geïnstalleerd, alleen in de projectdirectory. Dit is geweldig, want u hoeft alleen maar de installatie uit te voeren en te beginnen met testen.

$ source devel/setup_bash

Of…

$ source install/setup_bash

De eerste is dat u tests uitvoert en erachter komt welke fouten u in uw code hebt ingesloten.

Alleen ROS?

Dus, is dit alleen geldig voor ROS1? Ja, katje is alleen gericht op de ROS1-bibliotheken. Een ding om op te merken is echter dat het grootste deel van het werk cmake is. Je zult veel van de praktijken kunnen vertalen naar andere projecten die CMake . gebruiken. U hoeft alleen maar meer werk te doen, aangezien Catkin veel taken voor u heeft vereenvoudigd. Voor ROS2 zijn veel dingen vergelijkbaar, maar de oplossingen zijn verfijnder en hebben meer functies om te bepalen hoeveel u elke keer compileert. Je kunt ook in beide niveaus van ROS programmeren, er is een brug tussen de twee!

Conclusie

Catkin is een zeer sterke en veelzijdige set tools die uw werk veel eenvoudiger maakt en u door de sleur van het ontwikkelen van uw robotica-code heen helpt. De oefeningen zijn echter een uitstekende manier om meer te leren over programmeren. Dus zelfs als uw robotproject alleen voor uw naaste kring en opschepperij is, kunt u profiteren van kennis voor andere projecten.

Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...
Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...