Portail des Équipes

Coupe de France de Robotique - Eurobot

Sommaire

Règlement 2023 et notre programme

Le brouillon du règlement de la coupe est disponible, sur le site de la coupe de France de robotique. Cela fait donc une semaine que nous réfléchissons activement au règlement.

C'est un règlement à l'opposée de celui de l'an dernier, avec une table presque sans obstacle qui incite à avoir des robots qui se déplace bien, voire très bien sur le terrain !

Alors, en attendant la version finale du règlement - la FAQ peut vous indiquer dans quel sens évolue le règlement - nous ébauchons nos robots.

Cette année nous sommes très tentés d'avoir deux robots. Le premier sera basé sur notre architecture de 2014 et sera chargé de marquer les points avec les gâteaux. Le second robot sera bien différent du premier et s'occupera des cerises. Voici ce que nous avons en tête avec les principales étapes du projet.

Robot des gâteaux

Basé sur le robot historique, nous réutiliserons les roues, les moteurs, le gyroscope et notre magnifique carte électronique maison. Il embarquera les 10 cerises du départ, devra pousser et tirer les gâteaux dans les assiettes et leur déposer une cerise dessus. Voici notre programme (pas forcément dans l'ordre) :

  • Programmation : gérer les accélérations et décélération au niveau des trajectoires
  • Programmation : Arrêt de l'asservissement en cas d'erreur trop grande
  • Mécanique : actionneur pour prendre une cerise du réservoir du robot et la déposer sur un gâteau
  • Mécanique : refaire le châssis, diminuer le périmètre non-déployé
  • Programmation - optionnel : Gérer la stratégie haut niveau avec le Raspberry Pi

Robot des cerises

Nous partons de zéro pour ce robot. Pour la localisation, nous tentons de rester sur l'architecture qui nous a si bien réussi : des codeurs sur les moteurs. Pour le reste, l'objectif est de changer un peu des technologies utilisées depuis 2014 sur nos robots. Ce sera donc un robot holonome, d'un diamètre modeste (nous visons 25cm). Le cœur de l'électronique sera un Raspberry Pi Pico et pour le pilotage des moteurs, nous hésitons entre des LMD18200 ou des modules de type Pololu. Sur ce robot, notre programme est très chargé :

  • Mécanique : base roulante holonome
  • Mécanique : intégration de l'électronique
  • Mécanique : intégration de la batterie
  • Électronique : prototypage sur plaque de test pour valider les capteurs/actionneurs
  • Électronique : conception de la carte
  • Programmation : lecture du gyroscope à partir du RPI Pico
  • Programmation : lecture des capteurs de couleur à partir du RPI Pico
  • Programmation : lecture des codeurs à partir du RPI Pico
  • Programmation : portage du code des servomoteurs (ou utilisation des PWM ?)
  • Programmation : portage des codes de déplacement sur RPI Pico (asservissement, construction des trajectoires, accélération et décélération, arrêt sur erreur trop grande)
  • Divers : système de préhension et de dépose des cerises
  • Divers : système d'évitement.

En gros

Un programme bien (trop ?) chargé. Alors nous essayons de ne pas trop traîner, nous avançons bien côté shopping. Nous espérons avoir fini de commander les composants nécessaire à la nouvelle roulante ce week-end. Ensuite, nous nous focaliserons sur le RPI Pico...

Analyse cinematique d'un robot holonome

Toujours pas de maquette d'un robot holonome en vue (même si nous avons retrouvé nos pièces), mais voici la présentation de la cinématique d'un robot holonome. Le raisonnement a été le suivant :

Nous pouvons connaître la rotation de nos moteurs, donc la composante selon un axe de la vitesse des roues. Pouvions-nous, à partir de ces vitesses déterminer la vitesse du robot ? C'est notre premier article.

Puisque c'est possible, exprimons ces vitesses. c'est le sujet du deuxième article.

Maintenant que nous pouvons connaître le déplacement du robot à partir des vitesses des roues, pouvions-nous faire l'inverse ? Trouver comment commander les trois moteurs en fonction d'un mouvement souhaité ? C'est notre 3ᵉ article !

Le tout est rangé dans "Nos études", bonne lecture !

Robot holonome

Nous n'avons toujours pas avancé sur la réalisation de la maquette du robot holonome. Cependant nous travaillons sur un potentiel robot holonome. L'un des points compliqués du robot holonome est de connaître sa position.

Sur un robot différentiel, l'utilisation de roues codeuses indépendantes donne de bons résultats (sur une sol plat). La solution utilisée sur nos robot dérive de celle-ci, avec un gyroscope et des codeurs à l'arrière des moteurs de propulsion. C'est cette solution que nous essayons d'appliquer à un robot holonome. Mais dans ce cas, les relations entre les vitesses des moteurs et la vitesse du robot est un peu plus compliquée.

Si vous êtes prêt pour un voyage avec de la trigonométrie, des tenseurs cinématiques et des matrices, voici notre article qui se penche sur le sujet.

Pour la rentrée 2022...

Bon ici, petit coup de mou. Le forum des associations de notre ville est prévu pour ce week-end... Nous espérions tenir un stand afin de recruter quelques membres et monter un club de robotique...

Nous avons appris vendredi dernier qu'il fallait être une association pleinement constituée pour pouvoir participer au forum 🙁 ...
Nous avons bien déposé tous les documents pour constituer une association vendredi dernier, à la Rache, mais nous ne croyons pas trop obtenir tous les documents ET convaincre la mairie de nous trouver un stand avant samedi prochain…

Bref, si vous êtes près de Riom (63200) et que la robotique vous intéresse, contactez-nous !

Pour l'occasion nous essayons d'avoir deux démonstrateurs pour montrer la différence de cinématique entre un robot différentiel et un robot holonome.

Pour l'instant, seul le démonstrateur différentiel est prêt...


Demonstrateur différentiel - dessus

Demonstrateur différentiel - dessous

Le démonstrateur holonome a pris du retard, car nous avons égaré des pièces chez nous, les accouplements des roues...

Du coup, en attendant de retrouver les pièces 😕 , nous travaillons sur la théorie de la localisation d'un robot holonome à partir des codeurs des moteurs. Article en cours avec (attention, teaser) de la trigo, des tenseurs cinématiques et des matrices - pour public averti !

Les activités de l'été 2022

Après la coupe, c'est souvent calme. Il a fallu rentrer, ranger, ranger et ranger. Nous avons passé un peu de temps à préparer les articles et les vidéos de nos matchs et toute la vie quotidienne qui nous avions laissée en suspend revient... Bref, il a bien fallu deux mois avant de pouvoir recommencer un peu de robotique.

Dans les dates importantes à venir, il y a la présentation du règlement Eurobot 2023, le 10 septembre 2022. Vous avez quelques informations sur le site CoupeDeRobotique.fr et le lien de la diffusion sur Youtube, ici.

D'un point de vue plus local, nous espérons avoir un stand au forum des associations de la ville de Riom, qui aura lieu le 4 septembre. En prévision de cet évènement, nous préparons quelques démonstrateurs.

Le plus abouti est celui pour le pont en H. L'idée c'est d'avoir d'un côté un moteur avec une pile, où les gens peuvent constater que la moteur change de sens de rotation en fonction de la polarité. De l'autre, d'avoir ce démonstrateur qui a deux modes de fonctionnement :

  1. Sans moteur branché, il est possible d'appuyer sur tous les boutons sans créer de court-circuit et de voir la propagation de la tension.
  2. Avec le moteur, (malheureusement sans protection), où en appuyant sur les bons boutons, il est possible de piloter le moteur dans les deux sens.

Demonstrateur "Pont en H"

Démonstrateur "Pont en H" avec le moteur

L'actuce pour éviter les court-circuit à vide.

Nous prévoyons également deux châssis avec des roues, pour présenter les problèmes de cinématique. Mais ce sera probablement l'objet d'un autre petit article.


C'est quoi ?

Prix de l'éco-conception

Nous terminons 10e au classement général, bien au-delà de nos espérances. Nous nous mettons à rêver de phases finales, mais sans nous faire trop d'espoir. Même avec un match optimal, notre robot aurait du mal à rivaliser avec les équipes mieux classées que nous.

Puis la réalité nous rattrape, nous sommes vieux ! Trop vieux pour participer aux phases finales.

Finalement nous apprenons que nous allons recevoir un prix. Ce n'est qu'en arrière scène que nous apprendrons que CapGemini nous remet le prix de l'éco-conception. Nous avons alors l'occasion de discuter avec eux et de comprendre pourquoi ils nous remettent ce prix. Car ce n'est pas simplement par que le robot est en bois que nous recevons ce prix.


L'équipe avec CapGemini !

Voici les différentes raisons :

Parce que le robot est en bois

Ben oui, quand même, ça aide... Le choix des matériaux peut avoir de gros impacts sur l'environnement...

Pour l'architecture électronique

La quasi-totalité de notre code fonctionne sur deux microcontrôleurs. L'un est un PIC 8bits à 48 MHz, le second un PIC 16bits à 48 MHz. Ce qui est relativement modeste comparé aux ressources déployées par d'autres équipes.

Soyons honnêtes, nous avions quand même un Raspberry Pi sur notre robot... Un ajout de dernière minute...

Pour nos actionneurs

Chaque actionneur, chaque action a été pensée pour être la plus simple possible. Que ce soit le "crochet" pour attraper la statuette, le mécanisme pour attraper les échantillons de l'abri de chantier ou même le système pour les carrés de fouilles,

Si nous devions définir l'éco-conception, nous dirions que c'est l'art de mettre en œuvre le minimum de moyens pour arriver au résultat désiré.

Quelques liens

Match 5 - Coupe de France 2022

La préparation

Nous voulons jouer prudents, et ne pas nous retrouver bloqués dans la même situation qu'au match précédent.

Nous collons une bande de papier sur notre mât balise pour éviter d'être invisible pour un autre robot.

Nous allons rajouter une trajectoire pour s'échapper d'un cas similaire et surtout indiquer à notre robot de ne pas s'acharner. S'il rencontre un robot face à lui sur le chemin vers les carrés de fouilles, il n'insiste plus, il va déposer la statuette.

L'autre point vient des carrés de fouille eux même. Notre précision est parfois trop mauvaise et nous voulons y remédier. Nous ajoutons deux capteurs de proximité (un seul servira) pour détecter le premier carré de fouille. c'est une modification notable et pour ne pas prendre de risque nous la testons bien. Même, nous ne l'utilisons que du côté jaune pour simplifier les tests.

Et puis, nous travaillons enfin sur ces échantillons que nous n'arrivions pas à attraper. Au lieu d'utiliser la chambre à air, nous utilisons des élastiques pour assurer une bonne adhérence entre notre robot et les échantillons.

Le match

Nous tombons jaune et allons pouvoir tester notre nouveau code en conditions réelles !

Le robot attrape la statuette, attrape les deux échantillons et dépose la statuette. Celle-ci ne bascule pas mais se retrouve quand même bien positionnée dans la zone de dépose.

Le code pour détecter les carrés de fouille s'active et le robot semble bien se comporter, même si la lecture du carré de fouille semble échouer.

Vient ensuite la rencontre du robot adverse. Nous l'apprendrons après le match, leur robot s'est décalé, il a détecté un échantillon mal tombé comme la bordure. Le robot vient donc bien loin dans notre zone et nous entendons un petit choc. Le robot adverse pousse notre carré avec une croix rouge...

Mais après ce choc, les deux robots se suivent et remplissent leurs missions en s'évitant honorablement !

Et à 1"48, le robot par vers la zone de dépose de la statuette et vous nous entendez dire "Oh non, oh non, oh non !". Le robot embarque avec lui un échantillons qui va se bloquer entre lui et la zone de dépose. Il arrivera à activer la vitrine, mais la dépose de la statuette ne nous rapportera pas de point : elle dépasse de la vitrine !

Pour plus de détails, regardez l'échantillon vert sur la vidéo, comment, sournoisement, étape par étape, il se déplace pour nous bloquer !

Le robot affiche le score qu'il pense avoir fait, soit 86 points alors qu'il n'en a marqué que 71.

Ce qui nous rapporte 79 points pour ce match et nous maintient 10e !


La vidéo est disponible en 720p ici (mp4 - 25 Mo).