Capsicum - le robot qui garde le cap !

15 août 2023

Ce robot est basé sur l’architecture de 2014, même moteurs, même gyroscope, même base mécanique, même carte électronique.

Le but était de reprendre la compétition en douceur en visant uniquement les actions simples mais en étant capable de les réaliser de manière répétable.

Nous construisons donc Capsicum actionneur après actionneur. Ce qui en résultera sera un tas de baguettes de bois actionnés par des servomoteurs. Un seul actionneur nécessite 2 servomoteurs. Tous nos autres actionneurs utilisent un unique servomoteur. Robustesse, simplicité.

 Les résultats

Capsicum se hisse à la 10e place au classement général et nous obtenons le prix de l’éco-conception de la part du Jury. Le choix du jury est principalement motivé par :

  • la mécanique en bois ;
  • la carte électronique utilisant des microcontrôleurs peu puissants ;
  • la simplicité de nos actionneurs.

 Stratégie

  1. Le robot sort de sa zone de départ avec sa réplique et attrape la statuette.
  2. Le robot fait tomber les échantillons, les pousse sous l’abri de chantier puis dépose la réplique
  3. Le robot tente de lire et pousse les carrés de fouille. Il tente encore et encore tant que le temps imparti n’est pas écoulé ou qu’il n’a pas réussi à identifier tous les carrés de fouille.
  4. Le robot va à la vitrine et dépose la statuette.
  5. La vitrine s’active et rentre intégralement la statuette dans son enveloppe.
  6. Le robot rentre à sa zone de départ.

Description de la stratégie 2022

Voici la vidéo du second match qui illustre assez bien toutes ces actions.


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

 Électronique

Le robot utilise la carte électronique conçue en 2013 pour le robot 2014. C’est à dire :

  • Moteurs MFA 919D11:1
  • Codeurs HEDR-5420-ES21
  • Gyroscope ADXRS453
  • Roues Qfix 50 mm
  • Châssis Contre-plaqué 30x30 cm en 5 mm
  • Capteurs soniques SRF05

Le tout coordonné par notre carte électronique maison :

  • Deux microcontrôleurs : dsPIC33FJ128MC802 et un 18F4550
  • Deux ponts en H, A4950
  • 4 pont en H répartis dans deux L298 (non utilisés)
  • 8 sortie pour servomoteurs
  • Quelques entrées capteurs

Composants auxquels nous rajoutons un écran e-Ink piloté par un Raspberry Pi Zero.


Carte électronique 2014

La gestion du déplacement a été améliorée tandis que la stratégie a été totalement adaptée. Nous avons rajouté un Raspberry Pi Zéro pour gérer un affichage et gagner en confort de programmation (objectif à demi atteint).

Voici notre "documentation" pour la carte...

 Asservissement

Le robot comporte deux niveaux d’asservissement :

  • Le premier se situe au niveau des roues et des codeurs. La boucle d’asservissement reçoit en entrée une consigne de vitesse pour la roue. L’asservissement compare la vitesse actuelle, obtenue grâce au codeur avec la vitesse consigne. Ce qui détermine l’erreur envoyée à un correcteur PI (proportionnel et intégral).
  • Le deuxième se situe au niveau de la position. C’est un asservissement polaire, relativement classique pour la Coupe de France de robotique, mais assez peu documenté ailleurs. Le principe est le suivant :
    • La distance calculée entre la position réelle et la position souhaitée est appelée erreur de position
    • L’angle calculé entre l’orientation actuelle du robot et l’orientation nécessaire pour aller au point consigne en ligne droite est appelé erreur d’orientation.

Ces deux erreurs sont envoyées dans des correcteurs indépendants l’un de l’autre.

Les consignes de vitesse pour les deux moteurs sont obtenues ainsi :

Moteur droit = Commande en distance + commande en orientation
Moteur gauche = Commande en distance - commande en orientation

C’est relativement simple et efficace.

Pour plus de détail, nous recommandons le cours de RCVA.

 Déplacement

Construit sur la même base que les robots de 2014 (Rustique) et 2015 (Gousse et petit pois), le robot connaît sa position grâce à un gyroscope et aux roues codeuses montées sur les moteurs. Alors que les robots précédents se déplaçaient avec un système de point de passage, Capsicum est asservi sur une trajectoire continue. À chaque instant, le robot calcule la nouvelle position consigne et l’envoie aux boucles d’asservissement.

Cette année, le principal intérêt est de pouvoir réaliser des courbes plus fluides.

 Détection de l’adversaire

Nous savons que nous devons détecter devant et derrière nous. Nous savons également qu’un seul capteur par côté n’est pas suffisant. Le robot précédent disposait d’un capteur avant motorisé qui scrutait successivement à droite, devant et à gauche, et d’un capteur fixe à l’arrière. La détection arrière avait trop d’angles morts.
Pour améliorer le système, nous installons les deux capteurs ultrason côte à côte.

Mais nous souhaitons continuer à n’utiliser que deux capteurs : le code gérait déjà deux capteurs et le nombre d’entrées-sorties disponibles sur la carte électronique du robot se réduisait. Nous fixons les deux capteurs sur un axe qui pivote, les orientant vers l’avant ou l’arrière en fonction du besoin.

Ce système se révélera particulièrement satisfaisant. Tout d’abord la couverture de détection passe de médiocre à bonne. Ensuite le sens d’avancement du robot est donné par l’orientation des capteurs ce qui permet facilement de comprendre si l’obstacle qui le bloque se trouve devant lui, derrière lui ou les deux à la fois.


La vidéo est disponible en 720p ici (Ogg - 5 Mo).

 Affichage du score

Depuis notre dernière participation en 2015, c’est notre première année où nous devons estimer le score du robot. Nous souhaitons faire ça bien et avec élégance.


Affichage du logo

Notre choix porte sur un écran e-ink.


Affichage état du robot

Le seul point qui nous chagrine : le temps nous manque, alors nous le pilotons avec un Raspberry Pi Zero en utilisant les scripts pythons fournis par le fabriquant. Mettre un ordinateur juste pour piloter un écran via une liaison SPI, nous avons vu plus efficace. Mais cela nous permet d’avoir un système fonctionnel avec une jolie police d’affichage.


Affichage du score

 Actionneurs

 Dépose de la réplique à l’arrière du robot

Un simple servomoteur maintient la réplique (un cube de 58 mm de côté) dans le robot, puis la pousse lorsque le robot est en position.


Actionneur de la réplique - position de maintien

Actionneur de la réplique - position de dépose

 Prise et pose de la statuette

La prise et la pose de la statuette se font avec un seul servomoteur. L’astuce résidant plus dans la forme de la statuette que dans l’actionneur en lui-même. La statuette contient un crochet qui permet de la manipuler

Capsicum attrape la statuette

 Pousse des carrés de fouille

Un autre servomoteur pousse un doigt qui lui pousse le carré de fouille.


Poussoir rentré

Poussoir sorti

Là où le système se complexifie, c’est que nous avions besoin de longer les murs avec précision. Pour cela, nous avons monté des capteurs infrarouges au-dessus des capteurs pour se recaler à chaque carré de fouille.


Moteur et capteur infra-rouge

 Lecture des carrés de fouilles

Notre seul actionneur absolument pas fiable. Soyons honnêtes, nos tests unitaires semblaient prometteurs, mais l’alignement du robot avec la résistance n’a pas été assez bon en match pour arriver à la lire...

 Journal de développement

Commentaires

Il n'y a pas de commentaires

Ajouter un commentaire

Pseudo :
Mail :

Texte :

Copyright "POIVRON" 2011-2023, tous droits réservés
Administration du site