Robotique

Chaton ROS

Chaton ROS
Lorsque vous utilisez le système d'exploitation robotique, vous souhaiterez à un moment donné développer votre logiciel. Pour la version ROS1 qui est en maintenance jusqu'en 2025, vous utiliserez Catkin pour compiler vos projets. Si vous ne prévoyez pas de programmer vous-même, notez que vous devrez peut-être compiler le logiciel d'autres personnes, donc apprendre les bases est utile dans tous les cas. Dans le cas où vous avez déjà migré vers ROS2, vous utiliserez colcon pour faire la même chose.

Qu'est-ce que Catkin?

Cet outil est développé pour ROS, le système d'exploitation robotique, par l'équipe qui construit les outils ROS. Il dispose d'une multitude d'outils pour construire votre projet robotique. Son utilisation sera nécessaire si vous développez des robots en utilisant ROS. Il faut savoir qu'il y a eu plusieurs générations de ces outils au cours des dernières années. Cela signifie que vous devez choisir le plus récent! Catkin est installé avec la distribution complète de ROS noetic ; il ne vous reste plus qu'à vous occuper de la configuration. Vous devez définir le bon environnement pour exécuter Catkin.

Configuration du répertoire/environnement

Créez un répertoire avec le sous-répertoire src/ à l'intérieur. MonRob/src. Les exemples sont tirés du tutoriel débutant.

catkin_make crée des CMakelists.txt dans le répertoire src. Ceux-ci pointent vers les autres fichiers qui composent un projet.

Ensuite, vous voulez créer vos packages.

Allez dans le répertoire src

catkin_createpkg
$ catkin_createpkg débutant_tutorials std_msgs ropy roscpp

Notez l'erreur dans la commande. Cela crée tout comme si vous ne vous trompiez pas. Vous pouvez trouver le résultat dans les fichiers avec 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
./paquet.xml : filiforme
./paquet.xml : filiforme
./paquet.xml : filiforme

La prochaine compilation échouera. Vous avez maintenant deux choix, éditer les fichiers ou supprimer tout le répertoire. Le script est généralement rapide, le plus simple est donc de supprimer et de réexécuter la commande de création. Une fois que vous avez effacé ces erreurs, vous continuez en construisant le package. Quoi qu'il en soit, lorsque vous l'avez corrigé, accédez à la racine de l'espace de travail et exécutez à nouveau catkin_make. Au fur et à mesure que vous avancez dans un projet, vous remonterez toujours à la racine de l'espace de travail pour créer l'ensemble du projet. Cela garantit seulement que tout existe correctement, il existe des astuces intelligentes pour que vous n'ayez pas à recompiler l'ensemble du projet à chaque fois.

$ cd ~catkin_ws/ $ catkin_make

Si cela réussit cette fois, vous venez de créer votre premier package. N'oubliez pas de réparer votre colis.fichier xml. Vous devriez probablement définir votre nom correctement et la licence. Il y a plus de paramètres, ils sont tous faciles à comprendre.

Un petit projet

Maintenant, recommencez dans un nouveau répertoire et créez votre projet. Ou mieux encore : pour vous entraîner, récupérez un projet sur GitHub, voyez où il va, puis commencez à le modifier à votre guise. Pour ce faire, vous pouvez créer un espace de travail pour catkin avec un répertoire src. Dans le répertoire source, vous copiez dans les répertoires du code source. À partir de l'exemple ci-dessus, vous avez besoin de deux étapes, clonez le répertoire et exécutez catkin_make.

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

Pour créer un arbre moins profond, vous pouvez déplacer chaque sous-répertoire d'un cran vers le haut mais ceci est facultatif. La dernière commande recherchera le répertoire src/ et trouvera tout le code.

Installation

Vous n'installez généralement pas les packages uniquement sur le système de développement. Cependant, vous exécutez install pour créer un environnement d'installation et un environnement de développement. La commande catkin_make les crée pour vous. Au fur et à mesure que vous avancez, vous devez en rechercher un pour le développement et l'autre pour les tests. Une installation directe créera vos répertoires, y compris les scripts pour initialiser les environnements.

$ catkin_make installer


Vous n'aurez pas les fichiers installés sur votre système, uniquement dans le répertoire du projet. C'est génial car tout ce que vous avez à faire est d'exécuter la configuration et de commencer les tests.

$ source devel/setup_bash

Ou alors…

$ source install/setup_bash

La première consiste à exécuter des tests et à découvrir les erreurs que vous avez intégrées dans votre code.

Seulement ROS?

Alors, est-ce uniquement valable pour ROS1? Oui, catkin s'adresse uniquement aux bibliothèques ROS1. Une chose à noter cependant est que la plupart du travail est cmake. Vous serez en mesure de traduire de nombreuses pratiques à d'autres projets utilisant CMake. Vous n'avez qu'à faire plus de travail puisque Catkin a simplifié de nombreuses tâches pour vous. Pour ROS2, beaucoup de choses sont similaires mais les solutions sont plus raffinées et ont plus de fonctionnalités pour contrôler combien vous compilez à chaque fois. Vous pouvez également programmer dans les deux niveaux de ROS, il y a un pont entre les deux!

Conclusion

Catkin est un ensemble d'outils très puissant et polyvalent qui simplifie grandement votre travail et vous permet de passer à travers le développement de votre code robotique. Les pratiques, cependant, sont un excellent moyen d'en apprendre davantage sur la programmation. Ainsi, même si votre projet de robot est réservé à votre cercle le plus proche et à vos droits de vantardise, vous pouvez bénéficier de connaissances pour d'autres projets.

Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...