Ce qui est commun entre un revolver, des rondelles et un robot autonome

Nous aimons les robots. Nous sommes des étudiants d'universités techniques, des concepteurs, des ingénieurs en électronique, des programmeurs et nous aimons tous créer des robots. Il y a deux ans, notre équipe setUP est apparue sur la base du laboratoire de robotique Sberbank et a parallèlement participé au concours de création de robots mobiles autonomes Eurobot Open pour les jeunes passionnés de robotique. À l'heure actuelle, l'équipe a joué 2 saisons, est devenue deux fois vice-championne, est entrée sur la scène internationale. Nous n'avons pas dormi pendant des jours, programmé, soudé, assemblé et démonté nos robots, trouvé de sérieux problèmes une heure avant la compétition, puis ils ont quand même commencé. Nous avons également eu une expérience inoubliable et gagné un certain nombre de solutions intéressantes, dont nous voulons parler dans une série d'articles (avec de nombreux GIF, avec attention, le trafic).



Eurobot Open est un concours international de robots autonomes. Les tâches, le champ de bataille et les éléments du jeu changent chaque année, mais l'essence reste la même - l'équipe doit créer deux robots autonomes qui rivaliseront avec les robots de l'adversaire dans un petit champ pour des ressources limitées pendant 100 secondes. Cette courte proposition cache un grand nombre de tâches que l'équipe doit résoudre, car les robots doivent être rapides, manœuvrables, pouvoir effectuer des tâches de manière indépendante et ne pas faire face à l'ennemi. Et chaque année, il est nécessaire de développer de nouveaux robots. Néanmoins, l'expérience et les réalisations des dernières années peuvent apporter un grand avantage. D'année en année, nous avons besoin de systèmes de localisation, de prévisions des mouvements ennemis et d'éviter les collisions, de planificateurs d'itinéraires, de systèmes de gestion des comportements flexibles, de nos propres appareils électroniques et mécaniques. Oui, pour beaucoup de cela, il existe des algorithmes et des bibliothèques standard, cependant, la plupart d'entre eux doivent encore être fortement modifiés ou écrits à partir de zéro en raison de la spécificité de la fonctionnalité et des exigences de consommation des ressources.


Notre Ă©quipe lors de la finale russe Ă  Moscou.

Vidéo sympa sur notre participation en 2019:



Le principal thème de jeu en 2019 était l'énergie nucléaire. Mais cela ne signifie pas que les équipes devaient fabriquer un robot propulsé par un moteur nucléaire. Des tâches et des éléments de jeu différents ont reçu des noms thématiques. Le seul objet de jeu manipulé était les rondelles de hockey - les électrons. Ils ont différents poids, différentes couleurs et un, «or», de taille différente. Il est nécessaire de collecter un maximum de rondelles situées à différents endroits du champ, dans différentes positions, à différentes hauteurs, puis de les trier en zones sur le terrain, en fonction du type d'élément chimique qu'il s'agit.


Voilà à quoi ressemblaient les règles du jeu en 2019.

Les noms de code de nos robots cette année étaient Chip and Dale. Pourquoi? Je pense que la réponse est claire sur la photo:



Passons en revue les solutions techniques de base de nos robots la saison dernière. Cette année, nous avons essayé autant que possible d'unifier tout et nous avions deux robots jumeaux. Le schéma structurel de nos robots dans l'image ci-dessous.



Le niveau supérieur était représenté par un Odroid xu4 testé sur une seule carte avec ubuntu 16.04 et ROS Kinetic à bord. Toutes les tâches «difficiles» tournent dessus.

Au niveau inférieur, le STM32F407VGTX-DISC1 fonctionne, coincé dans un bouclier auto-conçu qui vous permet de connecter facilement une douzaine de moteurs, un serv et une guirlande de capteurs. Soit dit en passant, ils gagnent toujours une quantité impressionnante. Chacun de nos robots contient du lidar, 7 moteurs cc / bldc, 9 servos et environ 25 capteurs différents (couleurs, poids, distances, courants). Et tout cela, ainsi que 6 autres mécanismes volumétriques, ont été placés dans des robots compacts avec un périmètre de 850 et une hauteur de 350 mm. FreeRTOS, qui sert des tâches nécessitant une exécution en temps réel, le traitement de tous les capteurs et machines d'état, tourne sur STM lui-même.


Vue des omnicholes du robot.

Une caractéristique intéressante est l'utilisation d'une plate-forme omnidirectionnelle comme entraînement, ce qui nous permet de conduire dans toutes les directions et de chaque côté sans effectuer de virages inutiles, ce qui augmente considérablement la maniabilité du robot.

Ainsi, par exemple, dans la prochaine vidéo du match organisé en France, on peut voir comment, malgré le fait que nous ayons été bloqués (en raison d'une violation flagrante des règles par un adversaire), le robot est sorti du piège à bijoux.



Cependant, en raison de l'omni, la précision de l'odométrie des roues est très boiteuse: les roues ne sont pas parfaitement rondes, les rouleaux jouent et ont un petit point de contact. Pour résoudre ce problème, vous pouvez périodiquement battre dans le mur, réinitialiser l'erreur ou appliquer des systèmes de réglage externes. Relativement souvent, des lidars sont placés sur des robots pour cela. Une autre solution est apparue il y a quelques années: un endroit a été ajouté au champ où vous pouvez placer la caméra. L'année dernière, nous avons voyagé uniquement à travers une caméra externe avec détection de marqueurs aruco appliqués au robot, mais en cela nous avons simultanément travaillé sur la localisation à l'aide d'un lidar sur le robot et d'une caméra externe (la localisation et la navigation seront bientôt un autre gros article intéressant). Nous n'avons pas eu le temps de tester le lidar, nous avons donc contourné la caméra et utilisé le lidar comme support pour les marqueurs d'aruc. Avantages du système - nous connaissons la position de tous les robots sur le terrain. Parmi les inconvénients - une sensibilité élevée à la lumière externe et une précision d'étalonnage, qui, malheureusement, nous ont échoué plus d'une fois. Mais en général, la combinaison de l'odométrie et du détecteur d'arude nous permet de nous positionner avec une précision de plusieurs millimètres sur un champ de 2x3 mètres.


Notre carte télémétrique développée.

Les règles interdisent les collisions avec d'autres robots (pour cela, ils peuvent également être disqualifiés), il est donc important que le robot remarque à temps les obstacles sur son chemin. Habituellement, pour surveiller la zone proche, des télémètres IR à seuil ordinaire ou Sharp GP2Y0A21YK sont installés, qui sont extrêmement sensibles à la surface, par exemple, ils peuvent travailler sur de l'aluminium poli à partir d'un demi-mètre et ne voient toujours pas le carbone au point. Les télémètres à ultrasons sont également souvent utilisés, mais ils sont sensibles à l'angle de la surface réfléchissante et ont peur des interférences mutuelles. Récemment, les télémètres ToF, par exemple, VL53l0x ou VL53l1x, gagnent rapidement en popularité. Après avoir essayé ces capteurs une fois, il est difficile de les refuser - ils ont une faible dépendance au matériau de l'obstacle, une grande précision, une compacité, un prix bas. Cependant, l'année dernière, nous avons essayé d'utiliser le VL53l0x et un certain nombre de nuances sont apparues. Que peut-il se passer lorsque vous mettez une douzaine et demie douzaine de télémètres sur i2c, parmi un tas de moteurs et de serv? De plus, les capteurs ne peuvent pas définir une adresse constante, eh bien, et la cerise dans leur accrochage fantôme. Par conséquent, cette année, nous sommes passés au rs485, ce qui a grandement simplifié l'utilisation des télémètres. Dans les photographies du robot, les lumières bleues sont elles.

Ici, nous empêchons de toutes les manières possibles le robot de passer directement entre deux points, et il s'avère obstinément plus intelligent que nous:



En utilisant un système de localisation externe, un planeur à part entière, ainsi qu'un impressionnant dispositif anti-collision près de la zone vous permettent de faire ces choses à une vitesse de 1 m \ s. Dans les prochains articles, nous allons essayer de dire le maximum sur les choses les plus intéressantes de nos décisions (et ouvrir les bases), mais aujourd'hui nous voulons parler de la fonctionnalité de la mécanique cette année.

La conception de la mécanique pour Eurobot se distingue par sa spécificité. Premièrement, puisqu'il s'agit d'un concours, tout devrait fonctionner le plus rapidement possible et fiable à cent pour cent. Deuxièmement, la tâche est définie de telle sorte que plus vous voulez gagner de points, plus les mécaniciens doivent concevoir de difficultés. Et plus la mécanique est compliquée, plus la probabilité de son échec est grande, ce qui, selon la loi de Murphy, se produira au moment le plus inopportun.

Les tâches peuvent sembler simples à première vue, mais ce n'est pas du tout le cas: la tâche de manipuler des objets (prendre, réorienter, fixer) est encore extrêmement difficile à résoudre. Contrairement aux manipulateurs industriels, qui sont généralement situés statiquement, qui ont toutes les coordonnées déplacées et qui fonctionnent dans des conditions idéales, tout est plus frais: j'ai mis le robot sur le terrain, j'ai tiré la clé et le robot fonctionne jusqu'à la fin de la course. La possibilité d'une sorte d'ajustement de coordonnées et de débogage supplémentaire est pratiquement absente. Il est nécessaire de prendre en compte d'éventuelles erreurs de localisation ou inexactitudes graves dans la fabrication du champ (par exemple, le robot pense qu'il est devant la rondelle qu'il prévoit de prendre, mais en fait il est décalé de 15 mm par rapport à la coordonnée souhaitée), alors mettez le manipulateur avec une prise soignée, passer d'un point à un autre ne fonctionnera pas: dans les conditions réelles de compétition, vous aurez de sérieux problèmes.


Disposition des mécanismes dans le robot.

Nous avons réussi à construire deux robots identiques, chacun d'eux ayant résolu toute la gamme des tâches possibles dans le cadre du concours. Le robot abritait un convoyeur de type rotatif avec 6 rondelles, et à tout moment nous pouvions en décharger une. Sur le terrain, les rondelles sont dans deux positions: allongées sur le sol et debout sur une étagère spéciale. Pour chaque option a été conçu son propre mécanisme de collecte. Les rondelles de l'étagère ont été assemblées à l'aide d'un rouleau à rabat spécial qui a jeté les rondelles sur la rampe, le long de la rampe que la rondelle a enfoncée dans la cellule inférieure du revolver, après quoi sa couleur a été détectée, le revolver a défilé et le robot s'est rendu à la rondelle suivante.

Le châssis de support du robot était en tôle d'aluminium et 204 pièces imprimées, 6 pièces de Dynamixel AX-12A, un Dynamixel MX-64 et deux de neuf grammes, 3 pièces de maxonmotor 16 mm et un maxonmotor 22mm étaient responsables des mécanismes. Le châssis était composé de trois omnicholes maxonmotor de 22 mm et 60 mm . Tout cela est assaisonné avec 106 roulements.

Pourquoi des dynamixels et pas des servos standard? Ils ont de nombreuses protections, un contrôle numérique et de nombreux paramètres, une connexion série pratique et généralement de bonne qualité. Notre expérience montre également que les servos bon marché par saison changent plusieurs fois de cercle, tandis que les servos coûteux coûtent presque le même montant.



Étant donné que la plupart des rondelles au sol n'étaient pas dans des coordonnées spécifiques, mais étaient situées au hasard dans une certaine zone, il était difficile d'utiliser les manipulateurs, de sorte qu'un mécanisme spécial pour absorber les rondelles a été développé.



Les rondelles sont déchargées dans deux zones: sur la balance, où les rondelles peuvent tomber dans n'importe quelle position, et dans la zone d'accélérateur, où les rondelles sont placées en position verticale. Ici, le robot décharge idéalement tout dans l'accélérateur sur le terrain (ce qui représentait 90% des cas):



Cependant, dans les courses décisives, cela n'a malheureusement fonctionné qu'une seule fois.

Lors du déchargement dans l'accélérateur, il est possible de jeter les rondelles immédiatement sur une surface inclinée, de les déposer d'abord sur une surface horizontale, puis de les pousser sur une surface inclinée. La deuxième option vous permet de lancer deux buts de plus et de marquer plus de points. Par conséquent, cette option a été choisie, ce qui s'est avéré être une erreur critique. Il était extrêmement difficile de monter jusqu'au mur, de jeter la rondelle, de la jeter avec un rouleau et de la répéter N fois plus. Les rondelles peuvent se tenir de travers, ne pas accélérer, s'écraser contre le mur et, plus important encore, bloquer le passage des rondelles suivantes.



Comme le montre l'expérience des compétitions et, en particulier, les décisions constructives des autres équipes, plus les décisions en mécanique sont simples, mieux c'est. La solution actuelle nécessitait le travail coordonné et débogué d'un grand nombre de mécanismes complexes, dont la défaillance a entraîné un dysfonctionnement de l'ensemble du système, et cela, comme le montre la théorie de la fiabilité , n'est pas très cool. De plus, la mécanique a nécessité un ajustement régulier et des réparations mineures, ce qui a arrêté le processus de débogage du logiciel sur le robot. Où il vaut mieux faire un robot avec une seule ventouse sur un seul levier de liaison, ce qui met les rondelles en tas, mais remplit dans cent pour cent des cas comme prévu. D'un autre côté, la participation à des compétitions peut être considérée non seulement comme des compétitions de notation, mais comme un bon moyen de mettre en œuvre les solutions d'ingénierie les plus intéressantes et les plus intéressantes.

D'une manière générale, malgré les performances peu réussies en France, nous sommes satisfaits des résultats. Nous avons appris beaucoup de leçons: que l'état de préparation d'une tâche n'est pas un paramètre binaire, que la vitesse de développement est souvent inversement proportionnelle au nombre de personnes impliquées, que des mécanismes et modules simples et spécialisés dans une petite tâche peuvent être meilleurs que complexes et, en théorie, de belles idées. Et se prépare pour la nouvelle saison.

Liens vidéo et examen plus approfondi: page des règles officielles d'Eurobot . Examen détaillé des mentors de l'équipe .

L'Eurobot n'est pas la seule chose que les stagiaires peuvent faire au Sberbank Robotics Laboratory, il y a d'autres stages, par exemple dans la manipulation intellectuelle d'objets, les robots mobiles, la robotique anthropomorphique sur la plateforme iCub. Et vous pouvez faire des recherches conjointes, rédiger un diplôme, une maîtrise (si cela recoupe le sujet du laboratoire). Envoyez votre CV et candidature sous forme gratuite à robotics@sberbank.ru
Notre télégramme: t.me/SetUpSber

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


All Articles