2021 - VRAC

Partagez votre expérience en expliquant comment vous travailler sur votre robot.
Share your experience by explaining how you work on your robot.
Post Reply
User avatar
monowii
Posts: 9
Joined: Thu 13 Jun 2019, 22:17

2021 - VRAC

Post by monowii » Wed 01 Sep 2021, 20:57

Coucou le forum,

En 2021 on a tenté le tout pour le tout: recommencer de zéro le robot pour le même thème "Sail the World", et même encore mieux, faire 2 robots !
La seule chose qu'on a gardé c'est le phare et encore il a eu le droit à une modification afin de l'activer plus facilement.

Comme d'habitude, la fabrication des robots à commencer pile poil un mois avant la coupe :D
L'électronique était pourtant faite plus de 5 mois avant la coupe, mais il manquait un peu de motivation et de temps pour terminer la CAO on va dire.

(cliquez sur les images pour avoir la version originale non miniature)
Image
Image
Image
Image


__________________________________________________________________________________________________________________________________________
Les nouveautés de cette année

* 2 robots !

* un asservissement polaire !

* des moteurs de très bonne qualité et une odométrie beaucoup plus fiable
https://www.youtube.com/watch?v=9dYttZ5j-Ik

* des actionneurs qui prévoient beaucoup plus de marge d'erreur de positionnement du robot

* des roues encore plus grosses qui adhèrent encore plus

* un linux embarqué qui fait du traitement vidéo
Une raspberry pi 4, un shield CAN, une camera et quelques lignes de python plus tard, hop l'orientation de la girouette est faite!
Le linux gère aussi le lidar par USB.

* un système enfin fiable de détection des robots par lidar

* détection des mines prévues à certains endroits
Dans le petit port, il arrivait qu'une bouée aléatoire fasse son apparition ou qu'on en décale une.
On pouvait alors activer ou non une prévision de mine lors qu'on s'approchait des bordures du terrain et ainsi passer à l'étape suivante de la dépose pour éviter des blocages.

* Les cartes électroniques moins modulaire
On est repassé sur une bonne grosse carte centrale qui regroupe tous les actionneurs/capteurs (io_board), comparé à 2020 où on avait 2 cartes pour chaque bras, 2 cartes pour chaque groupe de 6 pompes.
On avait beaucoup moins de fils d'alim entre chaque carte, moins de nappe entre chaque carte pour le bus CAN, moins de composants en général.

* des insert dans quasi toutes les pièces 3D
Fini les écrous qu'il faut placer à la main et qui tombent en plein milieu du robot quand il faut démonter une pièce.
On utilise principalement des inserts M3 pour toutes les pièces et des inserts M5 pour le bloc moteurs.



__________________________________________________________________________________________________________________________________________
Les imprévus/difficultés

* une journée de galère avec les encodeurs à effet hall
Lors des premiers tests du petit robot, on avait l'odométrie qui "sautait" d'un coup de manière très aléatoire.
Après de longues investigations et grâce à la lecture de l'intensité du champ magnétique sur les encodeurs, on s'est aperçu que l'intensité était beaucoup trop faible.
On a d'abord pensé à des aimants ou des encodeurs défectueux, mais il s'est avéré que le champ magnétique était absorbé par le roulement à bille de la roue odo.
En effet on n’a pas utilisé exactement les mêmes roulements à billes entre le gros robot et le petit (surement un alliage acier plus ferromagnétique qui a fait cette grosse différence ?).
La solution à été de changer d'aimant de 8mm de diamètre vers des 6mm de diamètre, son champ magnétique étant moins fort il n’atteignais pas les roulements à bille et n'était donc plus absorbé !

* un asservissement polaire pas encore nickel/chrome
Coder une partie aussi vitale 15 jours avant la coupe ce n''était pas sans risque.
Il arrive qu'il fasse une rotation de 90deg ou 180deg dans le mauvais sens, se rend compte que ce n'est pas la bonne direction et corrige vers la bonne direction.
Encore pire, si le robot était un peu décalé et qu'il avait une consigne qui le faisait rentrer le mur, il se bloque sans atteindre sa consigne.
(C'est bien sûr arrivé qu'une seule fois pendant un match et nous pas réussit à reproduire même avec plus de 20 essais)
https://youtu.be/-7Uy96LrEiw?t=1716

* les roues en silicone qui ramassent trop de poussière
On pense que ça vient du moule en impression 3D qui laisse l'empreinte des couches 3D sous forme de mini stries sur la surface de la roue et que la poussière vient se loger dedans.
On a pas spécialement aidé en ne nettoyant pas trop la table et en faisant rouler le robot par terre.

* les roues en silicone qui se sont détendus lors de blocage du robot contre un mur et les roues en impression 3D ont fondu au niveau de l'arbre du moteur
Happy ending, c'est les roues/pneu qui ont fondu et pas le terrain :D
https://youtu.be/4GzkwMop-ps?t=2652

* les gobelets qu'on a utilisés lors de notre préparation n'avaient pas la surface en vinyle en dessous
Lors des matchs à la coupe, on a eu une grande surprise, il arrivait régulièrement que lors de la dépose des gobelets dans le grand port, ils n'avaient pas leurs surface de dessous parfaitement en contact avec le sol (environ 1mm), les points n'étaient donc pas validé par les arbitres.
Le vinyle sous les gobelets adhéraient beaucoup plus que seulement le dessous du gobelets à nu.
Image

* la tirette de démarrage qui reste bloqué dans le robot
et qui le fait décoller au début d'un match! Heureusement c'est arrivé qu'une seule fois
https://www.youtube.com/watch?v=ig4MHUossfo&t=6376

* la carte de débogage (debug_board) qui n'a jamais fonctionné
Cette carte devait être un programmateur/débogueur central des cartes, l'idée c'était que sa soit une sorte de ST-LINK relié au SWD des 4 cartes qui ont un STM32.
Un gros commutateur rotatif devait permettre de sélectionner la carte à déboguer et un gros USB type-B devait sortir sur le toit du robot qui lui devait être le ST-LINK.
Pour le ST-LINK on l'a dessoudé d'une nucleo64 et placé sur la debug_board, mais la communication USB n'a jamais fonctionné.
On n'a pas de réponse au pourquoi ça n’a pas fonctionné, mais sur le schématique officiel du ST-LINK ils utilisent un USB mini B (contre seulement un type B pour nous).
On n'a également pas placé le transistor commandé par USB_RENUM et qui va sur le D+, et on n'a pas de pin ID relié avec 100k à GND sur l'USB type B.

* des gobelets qui n'auraient pas du se trouver dans la zone de départ
En 8ème de finale lors du match contre RCT, ils avaient une botte secrète plutôt inattendu: une turbine cachée dans le robot qui permet de pousser des gobelets.
Et hop en moins de 2 secondes, une mine dans notre zone de départ, mais "c'était pour nous aider avec une mine répétable et pas aléatoire au lieu de juste foncer dedans" :(
Le système anti-mines n'a pas pu nous sauver, on ne peut pas retirer les mines dans les coins..
https://www.youtube.com/watch?v=7C_RBSw67g4&t=4588
Image



__________________________________________________________________________________________________________________________________________
Caractéristiques des robots

Base roulante commune aux 2 robots
* 2x moteurs FAULHABER 3242G012CR avec encodeurs IER3-1024 et réducteurs 32GTP 1:14, avec un drivers Pololu Dual VNH5019
* 2x encodeurs rotatifs à effet hall 14-bit: AMS AS5047U
* bloc roue odométrique avec 2 rails MGN9, 2 roulements à bille 6705-25x32x4mm, o-ring 50x40x5mm
* roues impression 3D et pneus en silicone shore 20A
* ball casters: 4x KSM-8FL, capacité 8kg

ImageImageImage
ImageImageImage

Pneumatique
* 4x ventouses DP S30, 1.5 soufflet, diamètre 30mm
* 4x pompes 12V
* tubes SMC en polyuréthane, diamètre 4mm
* 4 raccords en T QSMT-4 FESTO
* 4 électrovannes CJAV08-2B05A1 5V

Image

Servomoteurs et moteurs pas à pas
* MG996R (5 pour le gros robot, 4 pour le petit robot)
* DS3218 20kg/cm 270deg (4 pour le gros robot)
* RDS3235 35kg/cm 270deg (2 pour le gros robot)
* 28BYJ-48 5V, avec driver MP6500 (5 pour le gros robot)

Électronique
* Carte actionneurs/capteurs (io_board): 2 STM32F446RE
* Carte écran (strategy_board): STM32F469NI Discovery kit
* Carte puissance (power_board): STM32F446RE, 3x relais 16A bistable
* Raspberry Pi 4 avec shield CAN PiCAN 2 et camera SaintSmart FOV160 5-Megapixel
* 2 convertisseurs DC-DC buck 20A 300W

Capteurs de couleurs
* TCS34725 (2 pour le gros robot)

Batteries
* CONRAD NiMh 12V 4200mAh (1 par robot)
* CONRAD NiMh 7.2V 3000mAh (1 par robot)

Programmation
* Pour les STM32: mbed + VSCode avec PlatformIO
* Pour le linux: Qt Creator + OpenCV + Python



__________________________________________________________________________________________________________________________________________
Nos autres contributions

https://github.com/VRAC-team/la-maxi-li ... es-eurobot - Compilation de ressources (cours/vidéos/composants/discussions/liens) pour Eurobot
https://github.com/VRAC-team/eurobot_video_slicer - Téléchargement et extraction automatique des matchs depuis les vidéos youtube, contient tout les les timestamps de la coupe 2021



__________________________________________________________________________________________________________________________________________
Conclusion

C'était encore une fois une super coupe, des beaux robots, une orga tip top comme d'habitude 8)
On est hyper content d'arriver à égaler notre dernière performance de 2020, avec plus d'équipes cette fois
Très content aussi du 2ème plus haut score de la coupe ! (169 max RCVA, 166 max VRAC, 165 max A.I.G.R.I.S.)
On a bien sûr eu une légère amertume des 8ème de finale, mais vite apaisé par les matchs amicaux qui s'en sont suivis après les finales :D

A très vite à la coupe d'Ile de France !

Image
Image
Image

Série 1 (Cybernétique en Nord 2 (111) - VRAC (96)): https://www.youtube.com/watch?v=ZFVgK0XuA1k&t=5632
Série 2 (VRAC (163) - IUT Toulon (42)): https://www.youtube.com/watch?v=wFiX42pIlPI&t=3571
Série 3 (Eceborg (65) - VRAC (133)): https://www.youtube.com/watch?v=4GzkwMop-ps&t=2574
Série 4 (SharkFIT (33) - VRAC (166)): https://www.youtube.com/watch?v=JxFavgg8Ro8&t=5482
Série 5 (VRAC (62) - RCVA (160)): https://www.youtube.com/watch?v=-7Uy96LrEiw&t=1675
Série 6 (VRAC (78) - AREM (52)): https://www.youtube.com/watch?v=ig4MHUossfo&t=6376
1/8 Finales (Robot Club Toulon RCT (130) - VRAC (62)): https://www.youtube.com/watch?v=7C_RBSw67g4&t=4588

Match amical VRAC - A.I.G.R.I.S.: https://www.youtube.com/watch?v=qK4xKjrqQsM
Match amical VRAC gros robot(feat RCT) - RCT (feat VRAC petit robot): https://www.youtube.com/watch?v=ohPw0GkKZmQ
Match amical VRAC - RCVA: https://www.youtube.com/watch?v=gokGqig4cmE

__________________________________________________________________________________________________________________________________________
Remerciements

Un grand merci à nos sponsors qui nous ont régalé !
Claas
Faulhaber
Traco Power

Un grand merci aussi à l'IUT de Cachan et au CRAC de nous avoir laissé utiliser leurs locaux, ainsi qu'à l'Innov'Lab.

Image
Last edited by monowii on Thu 02 Sep 2021, 11:19, edited 3 times in total.

User avatar
Rejulk
Posts: 112
Joined: Wed 27 May 2009, 11:26
Contact:

Re: 2021 - VRAC

Post by Rejulk » Thu 02 Sep 2021, 11:01

Un grand merci pour ce post ultra détaillé!
Bravo! :D
Régis LM - Twitter Perso
Depuis 2019 : Encadrant de l'équipe trophées "La Team Muffins"
2010 à 2018 : Bénévole du Secteur Robotique de Planète Sciences
2005 à 2008 - Participant coupe avec le Club Sérinus

Post Reply