Implémentation de tâches robotiques sur la plateforme KUKA youBot, partie 1

Chers lecteurs de Geektimes, vous êtes accueilli par le Student Design Bureau (département d'ingénierie robotique ou RED) du département MIS de l'ITMO University. Nous avons déjà été écrit sur le blog de notre université.

Dans le cadre du programme de développement universitaire, RED poursuit plusieurs objectifs, dont l'un est la participation à la robotique compétitive des étudiants au niveau international. En tant que plate-forme de lancement, les compétitions internationales populaires de RoboCup ont été sélectionnées . Il existe plusieurs types de compétitions à RoboCup, du robofootball aux compétitions de robots à vocation sociale, qui ont lieu dans différents pays depuis 1997. Des équipes russes ont également participé à des compétitions et remporté des prix.

Sur la base de l'équipement technique de RED et de l'analyse de l'environnement concurrentiel, l'une des catégories de compétitions possibles était RoboCup @ Work , où de nombreux manipulateurs industriels rivalisent pour effectuer leurs tâches typiques. Ce choix est largement dû au fait que le département dispose de quelques robots industriels youBot créés par KUKA. youBot est une plateforme mobile omnidirectionnelle sur laquelle est installé un manipulateur à cinq degrés de liberté, avec une poignée à deux doigts. Le forfait comprend: Télémètre laser URG-04LX-UG01 de Hokuyo Automatic Co. avec une plage de mesure de 5600 mm à 240 °, avec laquelle vous pouvez implémenter la localisation et la cartographie; Dispositif de reconnaissance de mouvement ASUS Xtion, similaire à Microsoft Kinect. Les créateurs présentent le robot parfaitement adapté au domaine de l'éducation.





Vous pouvez installer un système d'exploitation à bord du contrôleur youBot (dans notre cas, Ubuntu 12.04), ce qui vous permet de démarrer le contrôle immédiatement sur un ordinateur intégré au robot. La communication avec le robot se fait via un module Wi-Fi.

Travailler avec youBot est une excellente occasion de découvrir les manipulateurs industriels. Mais d'abord, nous devons nous tester et tester youBot en entreprise.

Il a été décidé d'implémenter sur youBot une tâche évidente pour ce type de manipulateurs en mouvement - trouver et capturer l'objet cible. L'algorithme du programme est le suivant:
  1. Localisation et cartographie: détermination de l'emplacement du site cible sur lequel se trouve l'objet, parmi les obstacles (les obstacles sont des planches basses - «murs») avec l'approche ultérieure du site.
  2. : , , .
  3. .

Le problème de localisation est résolu en utilisant le télémètre laser ci-dessus, et la tâche de reconnaissance est résolue en utilisant l'ASUS Xtion. Tout ce que nous devons faire est d'écrire des programmes qui traitent les données de ces capteurs (l'avantage est qu'il existe des bibliothèques ouvertes prêtes à l'emploi à ces fins), ainsi que de mettre en œuvre en quelque sorte la capture d'objets. De plus, vous devez combiner les trois parties de la tâche en un seul système.

Nous avons décidé de contrôler votre robot, de traiter les données et de communiquer entre les capteurs et le robot à l'aide du système d'exploitation du robot. Il y avait déjà des articles sur Habr sur ROS et sur les robots travaillant avec son aide. Par exemple, il raconte une merveilleuse implémentation d'un robot hexapode, allant de l'analyse du fer et la conception d'un modèle à la combinaison de tous les nœuds sous contrôle ROS.

Juste au cas où, nous rappelons que ROS est un cadre pour travailler avec des robots qui facilite le développement et l'intégration de divers composants logiciels. ROS est utilisé à la fois dans des projets amateurs et éducatifs, et pour le développement de programmes de robots industriels. Il est à noter que la deuxième version de ROS est en cours de développement , ce qui promet d'inclure encore plus de fonctionnalités pour le développement de robots.

ROS fournit de nombreux services d'un système d'exploitation standard: abstraction matérielle, contrôle des périphériques de bas niveau, passage de messages entre les processus et gestion des paquets. ROS se compose de deux parties: le noyau du logiciel ros lui - même et ros-pkg , un ensemble de packages ( package), à l'intérieur duquel se trouvent toutes les données, bibliothèques, exécutables et configurations, combinés logiquement en un module utile.

Les concepts de base des composantes de la communication dans les ERO sont des noeuds ( noeuds ), message ( messages ) et sujets ( sujet) Un nœud est un processus en cours d'exécution qui peut communiquer avec d'autres processus. Sujet - un canal nommé qui relie différents nœuds. ROS est basé sur une architecture graphique, où le traitement des données a lieu dans des nœuds qui peuvent recevoir et transmettre des messages entre eux. Ces messages sont publiés dans des rubriques qui divisent les messages en groupes d'intérêt. Lorsqu'un certain nœud a besoin de recevoir des messages avec certaines données, ce nœud s'abonne à une rubrique spécifique. En raison de cela , il existe une relation entre les noeuds « abonné-éditeur» ( éditeur-abonné ).

Dans notre cas, le noyau ROS s'exécute sur le contrôleur youBot lui-même, et là un graphe de traitement des données est organisé entre trois nœuds de programme (localisation, reconnaissance d'objet et capture). Ces nœuds publient des données sur leur travail dans les rubriques appropriées, qu'il s'agisse d'informations sur le robot atteignant la plate-forme cible ou sur les coordonnées de l'objet. Pour trois rubriques, le nœud de contrôle principal est signé, qui surveille le travail des trois autres et publie les commandes dans une rubrique spéciale, à laquelle les nœuds gérés sont abonnés. Par conséquent, le graphique de contrôle ressemble à ceci:



Pour accélérer le travail, nous nous sommes divisés en trois équipes, chacune devant implémenter l'un des trois nœuds.

Dans le prochain article, nous expliquerons comment nous avons réussi à implémenter la localisation et ce que nous avons utilisé pour cela.
Reste avec nous.

Source: https://habr.com/ru/post/fr392419/


All Articles