logo sheen.bot

Perspectives

Pourquoi les roues Mecanum dérivent en phase autonome FTC (et comment y remédier sans roues libres d'odométrie)

24 sept. 2026·Sheen Robotics
Pourquoi les roues Mecanum dérivent en phase autonome FTC (et comment y remédier sans roues libres d'odométrie)

La dérive des roues Mecanum est causée par une annulation imparfaite des vecteurs de force sur les dalles en mousse souples. Vous pouvez éliminer la majorité des erreurs en phase autonome sans modules d'odométrie en verrouillant le cap grâce à l'IMU interne du Control Hub et en profilant l'accélération.

Les châssis Mecanum dérivent pendant les routines autonomes FTC car leur mouvement repose sur l'annulation mathématique précise de vecteurs de force diagonaux à 45 degrés. Sur les dalles en mousse EVA souples et irrégulières, des forces normales inégales et le glissement des rouleaux empêchent ces vecteurs de s'équilibrer parfaitement, générant un lacet rotationnel indésirable qui s'amplifie avec la distance. Il n'est pas nécessaire d'utiliser de coûteux modules d'odométrie passifs (dead wheels) pour corriger cela : vous pouvez éliminer la grande majorité des erreurs de trajectoire autonome en asservissant le cap à l'aide de l'IMU intégrée du REV Control Hub et en limitant l'accélération pour rester dans les limites de frottement statique de vos rouleaux.

La mécanique du glissement des roues Mecanum

Une roue motrice standard applique une force parallèle à sa rotation. Une roue Mecanum transfère la force par le biais de rouleaux passifs inclinés à 45 degrés par rapport au flasque de la roue. Lorsqu'un moteur fait tourner une roue Mecanum vers l'avant, la zone de contact exerce un vecteur diagonal : une composante poussant le robot vers l'avant et une composante transversale égale poussant sur le côté.

Pour avancer en ligne droite, les roues gauches et droites exercent des forces transversales égales et opposées qui s'annulent mutuellement, ne laissant que la poussée vers l'avant. Pour effectuer une translation latérale pure (strafe), les paires diagonales opposées tournent en sens inverse l'une de l'autre, annulant la poussée vers l'avant et combinant la poussée transversale.

Cette annulation vectorielle suppose trois conditions qui ne sont jamais réunies sur un terrain de compétition :

  • Des forces normales symétriques : si le centre de masse de votre robot est ne serait-ce que légèrement décalé vers la batterie ou le mécanisme d'élévation, les coins les plus lourds subissent une force normale plus élevée et une plus grande adhérence. Les coins plus légers glissent, laissant des forces transversales non compensées.
  • Une adhérence de surface uniforme : les dalles emboîtables en mousse EVA souple se déforment sous le poids. Les rouleaux s'enfoncent dans la mousse à des profondeurs variables, modifiant l'angle de contact effectif et la résistance au roulement d'une milliseconde à l'autre.
  • Un frottement cinétique identique : les rouleaux passifs en plastique et en caoutchouc des roues Mecanum commerciales courantes présentent de légères tolérances de fabrication, un jeu axial et des variations de frottement interne.

Lorsque les vecteurs de force ne s'annulent pas parfaitement, le résultat immédiat est un couple de lacet non commandé. Dès que votre robot pivote de seulement deux ou trois degrés par rapport à son cap théorique, chaque impulsion suivante des encodeurs moteurs déplace le robot le long d'une trajectoire pivotée, démultipliant l'erreur de position au fil du temps.

La solution : la correction active de cap par IMU

Si les encodeurs moteurs mesurent la rotation des arbres de roues, ils ne peuvent pas mesurer le glissement des rouleaux sur le sol. Toutefois, vous n'avez pas besoin d'un suivi de position cartésien complet pour résoudre l'essentiel des imprécisions en autonome. Si vous empêchez le robot de dévier de son cap cible, les erreurs de translation des encodeurs restent linéaires et prévisibles au lieu d'être rotationnelles et catastrophiques.

Chaque REV Control Hub contient une centrale à inertie interne (IMU) capable de mesurer l'orientation angulaire absolue (le lacet) avec une grande précision et une dérive minimale sur une période autonome de 30 secondes.

Implémenter la boucle de maintien de cap

Au lieu d'envoyer des puissances de translation brutes directement à vos moteurs d'entraînement, faites passer l'erreur de cap par une boucle de contrôle proportionnelle-dérivée (PD) qui injecte une puissance de rotation corrective en temps réel dans les équations cinématiques Mecanum.

Les équations cinématiques Mecanum standard pour les puissances motrices sont :

  • Front Left = Drive + Strafe + Turn
  • Front Right = Drive - Strafe - Turn
  • Back Left = Drive - Strafe + Turn
  • Back Right = Drive + Strafe - Turn

Dans une routine en boucle ouverte, Turn est fixé à zéro lors des déplacements en ligne droite ou des translations latérales pures. Dans une routine avec maintien de cap actif, Turn est calculé dynamiquement à partir du retour de lacet de l'IMU à chaque itération de boucle :

  1. Lire le cap actuel : récupérez l'angle de lacet actuel auprès de l'IMU.
  2. Calculer l'erreur de cap : calculez le plus court écart angulaire entre votre cap cible et votre cap actuel, en veillant à normaliser l'angle entre -180 et +180 degrés (ou -π et +π radians) pour éviter les erreurs de discontinuité angulaire (wrap-around).
  3. Calculer la correction : multipliez l'erreur par un gain proportionnel calibré (kP), et ajoutez la vitesse de variation de l'erreur multipliée par un gain dérivé (kD) pour amortir les oscillations.
  4. Appliquer et normaliser : injectez cette valeur de correction dans la variable Turn. Si le calcul pour l'un des moteurs dépasse une puissance de 1,0 (ou -1,0), divisez les quatre puissances motrices par la valeur absolue maximale afin de préserver les rapports vectoriels voulus sans écrêtage.

La normalisation des puissances motrices est essentielle. Si votre robot avance à pleine puissance et que le contrôleur exige une correction de virage, un écrêtage non normalisé annulera le différentiel correctif et laissera le robot dériver, quels que soient vos gains logiciels.

Maîtriser le glissement cinétique grâce à la limitation de rampe (slew rate)

La correction active de cap prend en charge la dérive rotationnelle, mais une accélération brutale provoque un glissement longitudinal et latéral où les roues tournent plus vite que le châssis n'accélère. Dès que les rouleaux perdent leur adhérence statique sur la mousse, les encodeurs moteurs enregistrent une distance qui n'a jamais été parcourue.

Pour éliminer le glissement cinétique sans roues libres d'odométrie :

  • Limiter l'accélération (Slew Rate) : ne passez jamais la puissance cible des moteurs de 0,0 à 1,0 en un seul cycle de boucle. Augmentez la puissance progressivement à l'aide d'un limiteur de rampe simple (par exemple, en plafonnant l'accélération à une augmentation maximale de 0,05 de puissance par cycle de 20 millisecondes).
  • Décélérer avec un profil de vitesse : utilisez un profilage de vitesse trapézoïdal ou en courbe en S pour ralentir le robot avant d'atteindre le nombre d'impulsions d'encodeur cible. Un freinage brusque fait déraper le robot sur les dalles, faussant votre point d'arrêt cible.
  • Assurer le contact mécanique avec le sol : veillez à ce que le châssis de votre transmission présente une légère souplesse en torsion ou une suspension oscillante sur un essieu. Si un châssis rigide à quatre roues franchit un raccord irrégulier entre deux dalles de mousse, une roue se soulève légèrement du sol, perdant instantanément toute traction et provoquant un glissement.

Quand les roues libres d'odométrie sont-elles réellement nécessaires ?

Les équipes se tournent souvent trop vite vers des modules d'odométrie à trois roues montés sur ressorts, persuadées que les roues Mecanum ne peuvent pas assurer une trajectoire autonome fiable de 30 secondes. En réalité, une boucle de maintien de cap bien calibrée, combinée à des rampes de vitesse basées sur les encodeurs, suffit amplement pour accomplir des tâches autonomes à fort score, s'aligner de manière fiable contre les parois du terrain et se garer avec constance.

L'odométrie passive (dead wheels) ne devient strictement indispensable que lorsque votre stratégie autonome exige des trajectoires splines complexes à haute vitesse et points de passage multiples (comme les trajectoires complètes sous Road Runner ou Pedro Pathing), où le robot doit connaître ses coordonnées (X, Y) exactes après avoir percuté des éléments de jeu ou effectué des déplacements latéraux agressifs sur toute la largeur du terrain.

Si vous concevez et perfectionnez des transmissions FTC ou si vous souhaitez maîtriser le profilage de mouvement en autonome avec votre équipe, découvrez nos guides d'ingénierie de compétition sur Sheen Robotics FTC Resources.

#ftc#robotique#mecanum#programmation#asservissement

Plus de Perspectives