Aller au contenu


pat92fr

Inscrit(e) (le) 04 août 2020
Déconnecté Dernière activité hier, 18:03
-----

#122292 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 11:10

En match :

 

20250529_164711.jpg

 

 

Dans les stands :

 

 

Les clones et les itérations durant l'année :

 

20250301_102430.jpg 20250507_110818.jpg 20250528_101432.jpg




#122291 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 10:57

Pour saisir une boite en fer, une petite pince et des aimants avec un mini servo Feetech.

 

20250324_215239.jpg

 

Pour attraper un stock complet, on installe quatre pinces identiques entre deux plaques d'époxy montées sur nos ascenseurs. La plaque inférieure est un PCB permettant de router le bus Feetech.

 

20250920_103615.jpg

 

Et pour attraper jusqu'à quatre stocks complet, on met deux rangées de pinces par coté du robot.

 

20250920_104011.png

 

20250920_103702.jpg 20250920_103741.png

 

20250920_103928.png

 

 

 

 

 

 




#122290 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 09:19

La partie ascenseur (double étage) de notre actionneur principal, à base de moteurs DJI Robomaster, utilisés en servo commande. Les courroies fermées HTD (High Torque) en M5 ne nécessitent pas de tendeur/tension particulier. AInsi, ca fonctionne pratiquement comme une transmission par chaine. La solution peut paraitre un peu surdimensionnée, mais ca permet de faire passer un gros effort (plusieurs kg de charge) à vitesse quasi nulle et les poulies sont faciles à imprimer. Comme il s'agit de moteur Brushless, le vitesse de l'actionneur peut être assez élevée si besoin. L'ESC retournant position, vitesse et couple jusqu'à 1000Hz (bus CAN), on peut vraiment mettre en place tout type d'asservissement combinant position, vitesse et/ou couple. Le faible niveau de réduction du moteur associé à cet ESC permet de faire un actionneur 'compliant" (adaptatif/résiliant/souple/flexible).

 

20250523_122648.jpg 20250523_122415.png 20250523_122530.png

20250523_123023.png 20250523_123042.jpg 20250523_123051.jpg

 

La fin de course est réalisée par limitation/mesure de courant, actionneur envoyé en butée mécanique. Il a fallu doser le courant, avec quelques petits échecs au début ! Le moteur de propulsion a quand même un sacré couple !

 

20250326_230236.png 20250327_144532.png

 

 




#122289 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 09:11

Le montage continue avec la carrosserie (PMMA) et des premiers actionneurs (mini servo Feetech).

 

20250506_104755.png 20250506_105055.png

20250506_105055.png 20250506_190421.png

 

Un petit coté insecte/alien !

 

20250506_190508.png

 

Installation du LIDAR haut et du Gyroscope 1 axe. La platine supérieure comprend le BAU, le lanceur (fourche optique), et les connecteurs USB pour reflasher les cartes numériques.

 

20250506_191826.png Sans titre.png

20250506_191846.png

 

Préparation du mat de support de balise dans le thème 2025 ! Et mise en place.

 

20250505_235908.png 20250506_192652.png

 

 

 

 




#122288 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 08:57

Face avant. La trappe batterie et le connecteur de charge. Le M5dial pour sélectionner couleur et zone de départ avec la molette. 

 

20250504_201506.png 20250504_201536.png

 

 

Face arrière. Le support de RPi5 sur silentblocs et pour le spectacle, un panneau de LEDs. Et beaucoup (beaucoup) de LEDs pour éclairer la salle de spectacle !

 

20250504_201643.png 20250504_201716.png

20250505_230741.png 20250504_175113.png

 

Les premiers passages de câbles de puissance (24V) pour relier la carte de puissance avec tous les HUB/24V.

 

20250505_230854.png

 

Les supports de LIDAR latéraux situés à hauteur des planches pour détecter les stocks et se positionner pour la prise.

 

20250504_201759.png 20250504_201812.png

 

Un BEC 6V10A pour les 24 servos. L'alimentation de la RPi5 est une galère : un DC/DC 5V5A sortie USB-c. La RPi5 va alimenter une collection de LIDARs, et c'est là que le fix pour Ubuntu 24.04 est indispensable (https://pimylifeup.c...tu-performance/)

 

20250505_230655.png




#122287 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 20 septembre 2025 - 07:54

Partie central, on va avoir 4 moteurs/ESC pour des ascenseurs et une multitude de petits servos Feetech (SCS0009). Alors, on a fait des petites cartes HUB dédiée bus Feetech avec la bonne connectique et une prise XT30 pour se raccorder à un bon DC/DC (BEC modélisme) sortant 6 à 8V.

 

20250503_185516.jpg 20250503_185543.png

 

On se localise au LIDAR bas sur les bordures. Cette année, difficile de placer un LIDAR au centre du robot avec une vue dégagée à 360° à hauteur de 7cm du sol. Alors, on opte pour deux LIDAR (LD06), un à l'avant et un autre à l'arrière. On fait la fusion en logiciel et on réutilise le meme algorithme de localisation que l'année dernière. Du coup, la mécanique avant et arrière sont symétriques. Pour diffuser le 24V de la batterie, on a une petite carte de puissance, avec deux rails d'alimentation commutés : un rail par le BAU sur lequel on branche les moteurs et les servos, et un second rail commandé par un inter ON/OFF pour tout le reste (RPi, LIDAR, IHM, Climatisation...). La carte comprend une sonde de tension et de courant sur bus I2C. On pourra mettre à disposition schéma/implantation de toutes nos petites cartes si ca peut intéresser des participants. 
 
20250503_185707.png 20250503_185632.png
 
Derrière les pare choc en plaque de carbone, se trouvent les deux ESC pour les moteurs de propulsion. 2 ESC à l'avant, 2 ESC à l'arrière. Ils sont raccordés en CAN et 24V sur les petites cartes HUB CAN/24 placées au dessus des moteurs.
 
Juste sous la carte de puissance, le logement batterie Lipo 6S 6Ah. Pour le Cg bas, il a fallu faire des compromis ! La batterie est finalement plus légère que les moteurs, elle se retrouve à 8cm du sol ! Les moteurs pour la propulsion et pour les ascenseurs sont à 3 cm du sol.
 
20250503_213941.png 20250503_214049.png 20250503_214114.png
 
En parlant de moteur, les petites ouvertures sous le chassis permettent d'accéder à la cage tournante des moteurs.(inspection, mesure de température, dissipation).
 
20250504_120629.png



#122286 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 19 septembre 2025 - 10:59

Support pour les petites cartes HUB CAN/24V avant et arrière

 

20250502_170636.png 20250502_173609.png

 

Montage des cartes CAN/24V et HUB hexa pour roues Mecanum imprimés en PLA+ ou PETG

 

20250502_173634.png 20250502_182653.png

 

Montage du module DJI Robomaster Type A (STM32, IMU, asservissement de la base roulante) sur silent blocks et 3ème HUB CAN/24V

 

20250502_201045.png 20250502_201032.png

 

Installation du module et mise en place des cloisons internes en CTP 3mm peintes à la bombe et insérées dans les rainures des profilés MakerBeam.

 

20250502_201846.png 20250502_201812.png

 

Installation du mode OTOS pour odométrie

 

Sans titre.png Sans titre.jpg

 

Montage des supports d'anneau LED sur la platine supérieure

 

20250502_201759.png




#122282 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 19 septembre 2025 - 12:50

On a reçu nos châssis fraisés (commande JLC-CNC) en alu 6061 anodisé rouge 120x360mm. Les cotes sont plutôt bien respectées. La prochaine fois, j'envoie, avec le STEP, un plan d'usinage précisant les petits détails qui n'ont pas été pris en compte cette fois ci (contre perçage de trous fraisés).

 

20250502_131508.jpg

 

Les petits support moteur (blancs) en PLA Volcano, car l'année dernière, ca chauffait !

 

20250502_135841.jpg

 

Le montage des profilés de 30cm.

 

20250502_150641.png

 

Les supports moteurs. Les entretoises permettront d'installer un contre roulement pour soutenir le roulement moteur.

 

20250502_161942.jpg 20250502_161951.jpg

 

20250502_164339.png

 

L'installation des moteurs DJI Robomaster P36 M2006.

 

20250502_164347.png 20250502_164406.png

 

 




#122275 [Mars Attacks!] Coupe de france de robotique 2025

Posté par pat92fr - 14 septembre 2025 - 12:45

Bonjour,

 

Voici quelques photos qui montrent la fabrication de notre robot (version finale).

 

Notre robot principal est un assemblage de profilés 10x10 (MakerBeam), de plaques (Plastique, PMMA, Bois, Epoxy, Carbone) et de quelques pièces imprimées en 3D (PLA+, PETG), le tout fixé avec en vis M3.

 

Les premières itérations mécaniques du robot sont fabriquées en 3D et planches de CTP de 2mm découpées au laser.

 

20250303_232956.png 20250305_235958.png 20250315_110830.png 20250328_193505.png 20250331_231347.png

 

--edit: WiP cause problème d'orientation des images.




#121420 Naissance de mon suiveur de ligne

Posté par pat92fr - 26 septembre 2024 - 12:15

Quand tu régles ton PID, est-ce que tu suis ce genre de méthode et est-ce que le comportement de ton robot est similaire à cette vidéo :

 

http://youtu.be/mjr5NwH0dH4?si=m2v9JNaAnwomaT7U

 

et aussi :

 

http://youtu.be/0sqT5LPRjic?si=8SPrNUoIzXMaE_IZ&t=72




#121402 Naissance de mon suiveur de ligne

Posté par pat92fr - 24 septembre 2024 - 12:30

Mon dernier suiveur de ligne pèse 100g et utilise des 1:5 et des 1:10 (de mémoire en 1:5, l'asservissement était très difficile à régler). Sans les modules Wifi et Bluetooth et les winglets de détection de marqueur de changement du rayon de courbure, il doit peser 90g voire moins. Ca doit jouer sur les besoins en couple moteur.

Image(s) jointe(s)

  • 20240924_130340.jpg



#121362 Naissance de mon suiveur de ligne

Posté par pat92fr - 20 septembre 2024 - 11:18

L'idée est d'atteindre la vitesse maximale en ligne droite, et de faire ralentir le robot dans les virages de manière automatique , jusqu'à une consigne permettant de négocier les virages les plus serrés, sans apprentissage préalable du circuit. Je fais ca sur tous mes robots Suiveur de ligne et TRR. Ca fait un Kp supplémentaire à régler ! Facile à régler de base : Kp = (VitesseMax-VitesseMin)/ErreurPositinLigneMax. Apres tu ajustes pour obtenir les meilleures performances avec le robot et le circuit. On obtient : VitesseConsigneActuelle = VitesseMaximale - Kp x | Erreur Position Ligne acutelle |. En pratique, il faut filtrer un peu, je te livre le principe de fonctionnement en quelques lignes.

 

Une fois que tu es à la limite des performances de ton robot en mode 'découverte', il faut travailler la capacité d'"apprentissage" pour améliorer les performances d'un tour à l'autre...




#121356 Naissance de mon suiveur de ligne

Posté par pat92fr - 20 septembre 2024 - 07:04

Bonjour,

 

Merci pour la vidéo ! Ca commence à rouler ! :-)

 

Voici mes conseils du jour :

- pose ton smartphone (ou ta caméra de manière à filmer le robot arriver et passer le premiers virages

- filme à 120 images seconde.

- analyse les ralentis du robot sur la ligne droite et sur les deux premiers virage en priorité.

 

Pour faire le chrono :

- batterie chargée à 100%,

- nettoyage des roues au rouleau adhésif anti-poils de chats/chients.

 

Points positifs :

- La vitesse en virage est intéressante. 

- L'asserv en boucle ouverte fonctionne.

- Les roues ont l'air très bien pour ce niveau de performances (ne change pas les roues pour le moment (ni diamètre ni matière)).

 

Points négatifs :

- La vitesse max en ligne droite doit être améliorée,

- L'accélération en ligne droite doit être améliorée,

- L'asserv en boucle ouverte doit être améliorée,

- L'asserv en boucle fermée en ligne droite n'est pas réglée (les oscillations ne s'atténuent pas),

- L'asserv en boucle fermée en virage manque (beaucoup) d'efficacité (entre deux virages exécutés en PID boucle ouverte, le PID virage n'arrive pas à stabiliser le robot).

 

Questions & Pistes d'amélioration :

- Augmenter le gain de l'asserv en boucle ouverte (puissance max sur la roue extérieure, frein max sur la roue intérieur) ---> Le nez ne doit pas complètement sortir de la ligne, sauf au premier virage en sortie de ligne droite.

- Augmenter la vitesse linéaire : alléger, changer les moteurs

- Augmenter l'accélération linéaire du robot. La limite est simple à trouver : le nez doit légèrement se soulever au départ arrété. Tu pourras alors installer des barres anti-wheeling et/ou coder une procédure de launch-control pour le départ arrété. Objectif : 10 m/s².

- La command de PWM est mise à jour à quelle fréquence ?

- Les PID tournent à quelle cadence ? 

- Tu as combien de mesures par seconde pour la position de la ligne droite ? Quelle quantification ?

- Tu as combien de mesures par seconde de vitesse des moteurs ? Quelle quantification (?

 

Essais :

- fais tourner ton robot en continue pour le régler (à distance) et code la fonction de compensation de la commande des gaz en fonction de la tension batterie. Ca signifie augmenter la valeur de PWM lorsque la tension de la batterie baisse au fil des tours.




#121350 Naissance de mon suiveur de ligne

Posté par pat92fr - 19 septembre 2024 - 07:28

Bonjour,

 

Un Kd sur une commande direction a un impact significatif sur le comportement de robot :

- Kd trop faible : le robot manque de réactivité et oscille du fait d'un Kp probablement réglé trop fort pour compenser l'absence de Kd. Généralement, une fois un premier Kp valide trouvé, on ajuste Kd et on peut réduire Kp.

- Kd trop fort, le robot devient trop réactif, même instable.

Tu a cherché à ajuster Kd et tu n'a constaté aucun changement de comportement, alors c'est la garantie qu'il y a un probleme d'implémentation de l'asserv et/ou de choix de la plage de valeurs de Kd.

 

De mon coté, une branche 'derivative' non filtrée d'un PID avec ou sans FF ne mène souvent à rien de bien performant dans ce genre de robot, et quel que soit les valeur de Kp/Kd appliquées, surtout si l'estimation de l'erreur de position de la ligne est une valeur avec une quantification faible.

Un indice : Structure-of-PID-controller-with-derivative-filter.png

Note : le filtrage ajoute une légère latence. et la fréquence de coupure du filtre s'ajoute aux Kp et Kd à régler.

 

Désolé, je me répète : difficile d'optimiser un asservissement sans aucune donnée. Encore plus pour tes lecteurs qui ne peuvent pas apprécier le comportement de ton robot à distance. En l'absence de données sur les erreurs et les consignes générées, un asserv peux donner l'impression de fonctionner, et avoir de gros défauts. Je renvoie souvent vers cette vidéo que je trouve très pertinente tant sur la conception de l'asserv (PID+FF mentionné dans nos posts précédents) que sur la méthode de réglage et l'outillage à réaliser pour parvenir à l'optimum.

http://youtu.be/qKoPRacXk9Q?si=fuSYrdOUKuaYi6qB

 

Le feuilleton du suiveur de ligne est néanmoins intéressant ! Tu as un premier résultat sympa. A mon sens, la marge de progression est encore élevée. C'est un peu dommage de ne pas pouvoir t'aider plus. On ne peut que t'encourager ! Bon courage ! :-)

 

Patrick.




#121209 Naissance de mon suiveur de ligne

Posté par pat92fr - 17 août 2024 - 09:02

Tu peux afficher la courbe de vitesse de rotation (consigne PWM et RPM mesuré) des deux moteurs pendant une boucle et notamment pendant un virage serré.

 

Si la cause n'est pas un problème d'adhérence des roues, alors il peut s'agir d'un manque de couple/vitesse/accélération des moteurs.

 

Plus la voie est importante et plus la motorisation est mise à l'épreuve pour les courbes serrées.

 

--edit : Autre cause, l'asservissement en direction mal réglé. Tu peux afficher la position de la ligne et les commandes moteurs (PMW droit et gauche).