Qu'est-ce que le ROS ?
ROS (Robot Operating System) est un framework conçu pour la construction de systèmes robotiques. Ce n'est pas un véritable système d'exploitation au sens traditionnel, mais plutôt un méta-système d'exploitation qui s'exécute sur un système d'exploitation hôte (tel que Linux).
Il fournit une couche middleware qui fait abstraction du matériel et offre un ensemble de services, d'outils et de bibliothèques pour faciliter le développement de logiciels de robot.
Quels sont les composants clés du ROS ?
Le framework ROS est composé de plusieurs composants, notamment :
- Noyau ROS est le composant central qui fournit des services essentiels pour la communication entre les nœuds ROS dans un système distribué, tels que la transmission de messages, la gestion des paramètres et la dénomination.
- Nœuds ROS sont des programmes individuels qui communiquent entre eux via le noyau ROS à l'aide d'un système de messagerie de publication-abonnement.
- Sujets ROS activer la communication entre les nœuds ROS. Ce sont des bus nommés à travers lesquels les nœuds échangent des messages. Un nœud peut publier des messages sur un sujet, et tous les nœuds intéressés peuvent s'abonner à ce sujet pour recevoir les messages. Les rubriques suivent un modèle de messagerie de publication-abonnement, permettant une communication asynchrone.
- Messages ROS sont les structures de données utilisées pour la communication entre les nœuds ROS et définissent les informations échangées sur un sujet.
- Services SRO fournir aux nœuds un moyen d'envoyer des requêtes et de recevoir des réponses. Ils utilisent un modèle demande-réponse, assurant un échange direct de messages. Un nœud peut offrir un service, en spécifiant un type de service qui définit les formats de message de demande et de réponse. D'autres nœuds peuvent alors appeler le service pour faire des requêtes et recevoir des réponses.
- Fichiers de lancement ROS simplifier le processus de démarrage de plusieurs nœuds et de configuration de leurs paramètres. Un fichier de lancement est un fichier XML qui décrit les nœuds à exécuter, leurs paramètres et les connexions entre eux. En utilisant des fichiers de lancement, vous pouvez démarrer plusieurs nœuds avec une seule commande, ce qui facilite la gestion de systèmes robotiques complexes.
Dans le cadre du ROS, le Récepteurs RTK peut être traité comme un nœud ROS et peut communiquer avec d'autres nœuds d'un système ROS à l'aide de rubriques, messages et services ROS.
Quelle plateforme choisir pour ROS Core ?
ROS Core peut fonctionner sur un PC, un ordinateur portable, un ordinateur ou une variété de plateformes embarquées : NVIDIA Jetson, Raspberry Pi, BeagleBone, Intel NUC, Odroid etc.
Le choix entre eux pour exécuter ROS dépend de plusieurs facteurs, qui sont énumérés ci-dessous. Voici quelques recommandations pour vous aider à choisir entre eux pour exécuter ROS Core :
- Exigences de calcul: Si votre application robotique nécessite un calcul haute performance, alors NVIDIA Jetson ou un PC peut être le meilleur choix. Les deux offrent des CPU et des GPU hautes performances, qui sont idéaux pour les tâches de calcul intensives telles que la vision par ordinateur et l'apprentissage automatique.
- Consommation d'énergie: Si votre application robotique est alimentée par batterie ou nécessite une faible consommation d'énergie, alors Raspberry Pi ou NVIDIA Jetson peuvent être le meilleur choix. Les deux offrent des options de faible consommation d'énergie et Raspberry Pi est connu pour son efficacité énergétique.
- Prix: Si le coût est un facteur majeur, alors Raspberry Pi est l'option la plus rentable et est largement utilisée pour les projets de prototypage et de loisirs. NVIDIA Jetson et PC sont des options plus chères, mais ils offrent des capacités de calcul plus puissantes.
- Facteur de forme: NVIDIA Jetson ou Raspberry Pi sont les plateformes les plus compactes et légères. Les deux offrent de petits facteurs de forme et conviennent à la construction de systèmes robotiques compacts.
Alors, choisissez Raspberry Pi si vous avez besoin d'une option rentable (apprenez comment se connecter simpleRTK2BCartes /3B vers un Raspberry Pi) ou NVIDIA Jetson si les capacités informatiques sont plus importantes (consultez étape par étape tutoriel comment connecter le récepteur RTK à NVIDIA Jetson).
Quel environnement de développement pour ROS choisir ?
Les environnements de développement les plus couramment utilisés sont Ubuntu, le studio de développement ROS (ROSDS), Visual Studio Code, Eclipse, CLion, etc.
Ubuntu est un système d'exploitation bien pris en charge et largement utilisé avec une grande communauté d'utilisateurs qui contribuent au développement et au support de ROS.
ROS lui-même est principalement développé et testé sur Ubuntu, ce qui signifie qu'il est optimisé pour cette plate-forme et que la plupart des packages et bibliothèques ROS sont disponibles sous forme de packages pré-construits pour Ubuntu. N'oubliez pas que :
- ROS mélodique est compatible avec Ubuntu 18 (vérifier Guide d'installation mélodique)
- ROS Noétique est compatible avec Ubuntu 20 (vérifier Guide d'installation de Noetic)
Quels récepteurs et antennes RTK peuvent être utilisés dans ROS ?
Tous ArduSimple Récepteurs RTK et antennes sont compatibles avec ROS.
Lors du choix spécifique Récepteurs RTK et antennes, tenez compte des exigences de votre application, telles que la précision de positionnement, les options de connectivité et les facteurs environnementaux, pour sélectionner l'équipement le plus adapté.
Pour accélérer votre intégration des données GPS dans votre projet ROS, nous avons préparé Tutoriel d'utilisation ArduSimple produits en ROS.