Robotica

Het Robotics-besturingssysteem installeren

Het Robotics-besturingssysteem installeren
Als je aan de slag gaat met robotica, heb je al snel veel software nodig. Voor de serieuze ontwikkelaar of hobbyist, je zult het om de een of andere reden netjes verpakt nodig hebben. De eerste reden is gemak, later zal het nodig zijn omdat je platforms weinig geheugen hebben. Efficiënt zijn wordt een noodzaak wanneer u microcontrollers gaat gebruiken. Aangezien ROS in twee versies verkrijgbaar is en veel modules bevat, is installatie aan de oppervlakte triviaal, maar kan snel complex worden.

Wat heb je nodig en wanneer??

ROS2 bestaat uit vele bibliotheken, die u allemaal zult installeren tijdens het leren. Wanneer je meer gevorderd bent, plaats je alleen de benodigde onderdelen waar je ze nodig hebt. Om te beginnen heb je compilers, opdrachtregelprogramma's en simulators nodig. Voor externe systemen wilt u alleen de voltooide knooppunten en de communicatiekern van het systeem hebben. In de vroege stadia moet u enkele voorbeelden proberen en zien hoe u een robot of zelfs meerdere robots in actie kunt simuleren. Die tools zijn alleen beschikbaar in de desktopinstallatie.

Hoe helpt ROS??

De bibliotheken in ROS zijn bedoeld om u veel standaardfuncties voor robotactiviteiten te geven. Het heeft bibliotheken voor het hanteren van sensoren, motorbesturing en nog veel meer. De focus ligt op de communicatie tussen knooppunten, wat een kernconcept is van elke functie in het ROS-framework.

Je hebt opties!

U kunt het ros-base pakket installeren met uw favoriete pakketbeheerder. Het probleem is dat je veel versies van het ROS-systeem voor verschillende projecten kunt gebruiken. Gebruik een container om dit probleem te voorkomen. Je zult uiteindelijk op dezelfde manier installeren, alleen in de container. Het punt is uiteindelijk dat het ROS-systeem in verschillende versies verkrijgbaar is en dat ze alleen op een bepaalde distributieversie kunnen draaien. Hier is een korte tabel:

Ubuntu versie. ROS2 ver. ROS1 versie.
18.04 welsprekend melodieus
20.04 Foxy noetisch

Er zijn meer versies en meer afhankelijkheden, zie de lijst op de wiki op ros.org. Het punt is dat je ervoor moet zorgen dat je setup de ROS-versie ondersteunt. ROS gebruikt Python ook in hoge mate, ze testen voor Python 3 (en 2.7) zodat u kunt kiezen:. Er is ook een docker-afbeelding beschikbaar als u zich daar prettiger bij voelt. De afbeelding heet ros:foxy-ros-base-focal.

Afhankelijk van waar je mee werkt, heb je mogelijk een andere hoeveelheid software nodig, wat een tweede reden is om containers te gebruiken. Zoals u in de tabel kunt zien, moet u mogelijk ook ROS1 of ROS2 kiezen. Als je beide gebruikt, is het risico groot dat instellingen de boel verwarren voor je compilers en andere tools. Het einde van het leven voor ROS1 is 2025, dus start er geen nieuwe grote projecten mee.

Veel onderdelen binnen

Het Robotics-besturingssysteem heeft veel subsystemen. Je moet weten welke waar nodig is en wanneer je hem moet laten installeren. Zodra je begint met installeren, loop je tegen de keuze aan hoeveel je wilt installeren. Standaard gebruikt u uw pakketbeheerder om de volledige distributie te installeren. Dit heet ros-desktop-full, je hebt alles wat je nodig hebt. Het neemt ook veel ruimte in beslag op je schijf.

ROS-kern

De ROS Core maakt het mogelijk om uw programma's te compileren via de rclcpp- en rclpy-clientbibliotheken. Dit zijn de twee die de ROS-ontwikkelaars onderhouden. Er zijn meer klanten voor andere talen. Ze gebruiken de API om consistent gedrag op verschillende platforms te creëren. Op dit niveau zijn ook alle manieren waarop uw robotsysteem zal communiceren inbegrepen.

ROS-basis

De ros-base bevat veel tools voor ontwikkeling, maar bevat geen GUI-tools.

ROS-bureaublad

Bevat alle verschillende onderdelen van het systeem, inclusief vele voorbeelden. Het geeft je ook alle GUI-tools, inclusief simulatoren en manieren om de communicatie tussen knooppunten te testen. De enige extra dingen die je nodig hebt zijn speciale drivers en wat extra implementaties van i.e. de urdf-parser.

ROS Desktop installeren

De eenvoudigste manier om de ROS-desktop te installeren, is door apt te gebruiken voor Ubuntu en andere op Debian gebaseerde distributies. Op andere distributies moet je het zelf bouwen. Als je dat doet, wordt het resultaat in een enkele mapstructuur geplaatst. Dit betekent dat u die omgeving moet initialiseren door het installatiebestand te sourcen. Verwijderen is om de directorystructuur te verwijderen en te stoppen met het zoeken naar het installatiebestand. De sourcing die u ook met Debian-pakketten moet doen.

De ROS2-pakketten zijn beschikbaar als hun repository op hun repository. Om dat aan uw systeem toe te voegen, kopieert u hun sleutel.

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

En voeg dan hun repositories toe.

sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)]
http://pakketten.ros.org/ros2/ubuntu $(lsb_release -cs) hoofd"
> /etc/apt/sources.lijst.d/ros2-laatste.lijst'

Als dat is gebeurd, kunt u de bibliotheken bijwerken en installeren.

sudo apt update
sudo apt install ros-foxy-desktop

Als dit allemaal is geïnstalleerd, moet u de omgeving initialiseren in de shell die u gebruikt.

bron /opt/ros/foxy/setup.bash

Voeg deze regel toe aan je .bashrc-script, dus alle aanroepingen van bash staan ​​voor u klaar om te werken. Dit is ook waar het gebruik van een Linux-container van pas komt. Als je meerdere projecten hebt, die verschillende versies gebruiken, is het beter om alleen een virtuele machine te maken voor 'Foxy' en een andere voor elke die je nodig hebt.

Conclusie

Hoewel de basisinstallatie voor ROS2 eenvoudig is, moet je precies zijn over wat je wilt. Als je bij één distributie blijft, heb je geen problemen, maar begin je veel versies te gebruiken en heb je complicaties.

Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...
OSD-overlay tonen in Linux-apps en -games op volledig scherm
Het spelen van games op volledig scherm of het gebruik van apps in de modus volledig scherm zonder afleiding kan u afsnijden van relevante systeeminfo...
Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...