Robotique

Les meilleures distributions de robotique

Les meilleures distributions de robotique
Pour le développement de la robotique, il existe de nombreuses collections disponibles au choix. Par habitude, les utilisateurs de Linux recherchent des distributions pour trouver la solution parfaite pour leur projet. Bien qu'il existe des distributions, vous pouvez passer à côté si vous ne recherchez pas de bibliothèques communes pour vous aider dans certaines tâches. Les outils que vous utilisez déjà sont également une considération à prendre au sérieux.

Étant donné que travailler avec des robots sera un effort de développement, la plupart des outils dont vous aurez besoin seront des kits d'outils de développement. L'Open Source Robotics Foundation (OSRF) a une excellente page Web avec des ressources. Ils prennent en charge et maintiennent le système d'exploitation robotique (ROS). Il s'agit d'une vaste collection d'outils que vous pouvez installer à la fois sur votre système existant ou en tant que conteneur.

Le raisonnement derrière une distribution

Lorsque vous commencerez à expérimenter avec des robots, vous découvrirez de nombreuses choses auxquelles vous ne vous attendiez pas lorsque vous avez commencé. Vous rendez-vous compte à quel point l'interprétation des images est importante pour le développement de la robotique? Dans une distribution, vous disposez de tous les outils dont vous aurez besoin avant de savoir que vous en avez besoin.

Cela permet de démarrer plus rapidement et d'éviter les complications à mesure que les projets évoluent. Vous occuperez inutilement de l'espace disque mais la taille totale du système n'est pas grande pour un ordinateur moderne. Au fur et à mesure que vous avancez dans votre projet, assurez-vous de savoir quoi mettre dans le robot et non. Vos restrictions d'espace disque y sont beaucoup plus strictes.

ROS - Le choix le plus important et évident

Comme mentionné précédemment, ROS dispose d'une vaste bibliothèque de fonctions. Ceux-ci vont du contrôle du matériel, de la messagerie entre les sous-systèmes aux bibliothèques de vision et aux simulateurs. Le projet est bien soutenu par l'OSRF. Ils sont à leur tour soutenus par de nombreux leaders de l'industrie, et leur filiale commerciale accompagne les mêmes entreprises dans leurs efforts.

Malgré la vaste gamme de choix et le haut niveau de sophistication, un nouvel utilisateur peut commencer à utiliser certains composants standard. Grâce aux méthodes coopératives de l'OSRF, de nombreux robots ont été construits à l'aide du ROS. Beaucoup sont des produits de consommation que vous pouvez acheter pour un montant raisonnable et démarrer votre projet pour une tâche spécifique. Les produits actuellement disponibles sont un sur les roues, les jambes et les ailes sur les drones volants. Vous pouvez même trouver des habitants de l'eau, y compris des sous-marins.

Ce projet vous accompagnera jusqu'à une utilisation industrielle si vous souhaitez vous y rendre. Il y a un peu de courbe d'apprentissage pour commencer, mais vous avez quand même beaucoup à apprendre sur la robotique. En fait, lorsque vous planifiez votre premier projet, vous manquerez très certainement de nombreuses fonctionnalités dont vous n'avez besoin que pour une utilisation basique.

Boîte à outils de programmation de robotique mobile

Comme vous le verrez lorsque vous commencerez avec les robots, une grande partie du travail consistera à programmer. Cette boîte à outils vous aide avec le SLAM (localisation et cartographie simultanées) et d'autres outils de planification de chemin. De nombreux outils ont à voir avec la vision. une pièce intéressante de cette trousse à outils est le support pour le matériel Kinect. Les bibliothèques libfreenect sont les sous-jacentes de ce projet. Pour l'ajouter à votre installation Ubuntu, vous pouvez récupérer le PPA et l'installer avec apt. Compiler le vôtre nécessite gcc-7 ou plus récent, clang-4 ou plus récent. Pour plus d'informations et ce que vous devez faire lorsque vous utilisez ROS, rendez-vous sur leur page GitHub.

YARP

Nommée 'Yet Another Robot Platform', elle est basée sur l'idée que vous utilisez autant que possible les outils existants. YARP est une collection de bibliothèques C++ qui définit des protocoles de communication pour tous les niveaux de projets robotiques. Vous avez trois composants de YARP, YARPos, YARPsig et YARPdev. Ils sont tous concernés par la façon d'envoyer des données entre les composants de votre projet. Le composant YARPos crée des interfaces vers le système d'exploitation que vous exécutez. Cela facilite le changement de système d'exploitation ou de matériel d'un composant tout en conservant les mêmes flux de données YARP. Ceci est nécessaire pour exécuter les autres parties du système. YARPsig gère les tâches de traitement du signal, il s'interface avec OpenCV et des bibliothèques similaires. Il ne fait pas le traitement. YARPdev fournit des interfaces à toutes sortes d'appareils dont vous avez besoin. Pensez aux caméras, aux microphones, aux pilotes de moteur et plus encore. YARP fera l'interface avec le système global. Vous l'utiliserez également pour configurer vos appareils. YARP vous aidera à planifier tous les autres logiciels afin que vous puissiez utiliser ce qui existe. En fait, vous avez également la possibilité d'exécuter certains composants sous ROS tandis que d'autres exécutent YARP. De nombreuses options sont disponibles et vous pouvez passer progressivement de l'une à l'autre.

Conclusion

Lorsque vous débutez en robotique, vous aurez besoin de nombreux composants logiciels. Chaque contrôleur et ordinateur embarqué ont des besoins et des systèmes différents. Chaque caméra a un nouveau pilote. Toutes les données doivent se déplacer entre les sous-systèmes et les composants. ça devient vraiment compliqué. Pour démarrer plus rapidement, vous devez avoir un système qui coordonne tout. Pour ce faire, vous disposez d'une fonction de coordination pour les messages et les données. Ceux-ci sont organisés en « sujets », « nœuds » et « services ». La raison de ces différentes fonctions est que parfois, vous voulez exécuter des commandes, parfois vous voulez rendre les données disponibles à de nombreuses autres parties du système et vous pourrez également envoyer toutes les données au système en général.

C'est là que vous avez besoin d'une distribution ou d'une plate-forme qui garde tout cela coordonné. ROS est le système qui fonctionne avec la plupart, sinon tous les matériels et types de projets. N'oubliez pas de comprendre ce que vous essayez de réaliser avec votre conception. Ceci est particulièrement important lorsque vous apprenez. Si vous avez un objectif, alors toutes les étapes ont une raison et une association. C'est la base de l'apprentissage; Pour voir le lien entre la raison et l'action.

Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...
Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...
Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...