Composant · Châssis

Mecanum Wheel Set

La roue qui pousse à 45°. Laquelle des quatre est gauche, le contrôle du X qui repère un montage inversé, et la traction sacrifiée pour le mouvement latéral.

Présentation

Une roue mecanum est une roue ordinaire avec un anneau de galets libres boulonnés autour de sa jante, l’axe de chaque galet étant à 45° du sien propre. Bengt Ilon l’a brevetée en 1972 chez la société suédoise Mecanum AB, d’où son nom, et les robots d’entrepôt l’utilisent discrètement depuis.

La conséquence de ce 45° est toute l’histoire. Une roue normale ne peut pousser que dans sa direction de roulement. Une roue mecanum ne peut pousser que le long de l’axe de son galet — parce que le galet tourne librement dans toute autre direction et refuse simplement d’y transmettre une force. La force au sol d’une roue mecanum est donc bloquée à 45° du châssis, en permanence, quoi que fasse le moteur.

Une telle roue seule est inutile. Quatre d’entre elles, en deux paires gauches et droites, donnent quatre vecteurs de force à 45° alternés, et la somme de quatre vecteurs peut pointer n’importe où sur le sol et porter une rotation. C’est une base holonome : trois degrés de liberté commandables — avant, latéral, rotation — depuis quatre moteurs ordinaires, non directeurs.

Le sens, et pourquoi il n’est pas optionnel

Les roues mecanum existent en deux formes miroirs, généralement vendues comme gauche (A) et droite (B), ou simplement marquées L et R sur le moyeu. Un robot a besoin de deux de chaque, appariées en diagonale :

Coin Sens Son vecteur de force, vu du dessus
Avant gauche Gaucher (A) Pointe avant-droit quand la roue avance
Avant droit Droitier (B) Pointe avant-gauche
Arrière gauche Droitier (B) Pointe avant-gauche
Arrière droit Gaucher (A) Pointe avant-droit

Les coins en diagonale partagent un sens. Acheter quatre fois la même roue est une erreur réelle et fréquente — un « jeu de quatre roues mecanum » chez un vendeur sérieux contient deux de chaque, mais deux pièces commandées séparément très souvent non.

Le contrôle du X

Le test fiable n’a besoin d’aucun marquage.

  1. Posez le robot sur l’établi, roues en bas.
  2. Placez-vous au-dessus et regardez droit vers le bas.
  3. Sur chaque roue, suivez la ligne des galets visibles dessus.
  4. Ces quatre lignes doivent viser le milieu du robot et dessiner un X.

Si elles dessinent un losange — la configuration en O ou rhombe — permutez deux roues en diagonale et vérifiez de nouveau.

Une subtilité qui piège quand on raisonne au lieu de regarder : les galets visibles dessus sont en miroir de ceux qui touchent le sol, car un galet en haut de roue est le même galet amené un demi-tour plus loin. Les galets qui poussent pointent dans l’autre sens. Peu importe — le X visible reste le bon test, et c’est celui que tout le monde utilise, précisément parce qu’on peut le voir.

Deux vues de dessus du même robot à quatre roues, nez en haut. Dans le panneau du haut, intitulé correct, un X, bras de levier en rotation lx plus ly égal 160 millimètres, des lignes cyan en pointillés prolongeant les galets visibles de chaque roue se croisent au centre du robot et forment un X. Dans le panneau du bas, intitulé faux, un O, bras de levier la valeur absolue de lx moins ly égal 10 millimètres, les mêmes lignes depuis des roues marquées en rouge forment un losange autour du robot et ne passent jamais par le centre. Une légende dit de se placer au-dessus du robot et de suivre les galets visibles dessus : quatre lignes par le milieu dessinant un X, tout le reste signifie permuter une paire, et le O coûte seize fois l'autorité en rotation, ou toute si lx égale ly.
Le contrôle de montage en cinq secondes, et le nombre derrière. Le montage en X donne à chaque roue un bras de levier de lx + ly ; le O donne |lx − ly| — 16× plus petit ici, et exactement zéro sur un châssis carré. Télécharger le SVG

En câbler quatre à un Arduino

Mecanum est une transmission à quatre moteurs, donc un seul L298N ne suffit pas. Deux doubles ponts en H, ou une carte à quatre canaux :

Roue Contrôleur Broches de sens Broche PWM Codeur A/B
Avant gauche Contrôleur 1, canal A 2, 4 3 18, 30
Avant droit Contrôleur 1, canal B 7, 8 5 19, 31
Arrière gauche Contrôleur 2, canal A 24, 26 6 20, 32
Arrière droit Contrôleur 2, canal B 28, 22 11 21, 33

Deux détails qui mordent :

  • Quatre canaux PWM partageant un minuteur ne marcheront pas tous. Sur un Uno, il y a six broches PWM sur trois minuteurs, et la bibliothèque Servo ou tone() en volera un. Un Mega ou un ESP32 en fait un non-problème ; sur un Uno, vérifiez la carte des minuteurs avant de souder.
  • Quatre codeurs veulent quatre broches d’interruption. Un Uno en a deux. C’est la raison la plus fréquente pour laquelle un montage mecanum finit sur un Mega 2560 ou un ESP32.

Code minimal fonctionnel

La cinématique inverse tient en quatre lignes. Tout le reste est plomberie.

// Mecanum inverse kinematics: a chassis command in, four wheel speeds out.
// x is forward, y is to the robot's LEFT, omega is counter-clockwise.
const float LX = 0.075;   // half the wheelbase, m
const float LY = 0.085;   // half the track, m
const float K  = LX + LY; // the only place geometry enters

void driveMecanum(float vx, float vy, float omega) {
  float fl = vx - vy - K * omega;
  float fr = vx + vy + K * omega;
  float rl = vx + vy - K * omega;
  float rr = vx - vy + K * omega;

  // Scale, do not clip. Clipping each wheel on its own keeps the speed and
  // throws the direction away, which is a bug you will chase for a week.
  float peak = max(max(fabs(fl), fabs(fr)), max(fabs(rl), fabs(rr)));
  if (peak > V_MAX) {
    float s = V_MAX / peak;
    fl *= s; fr *= s; rl *= s; rr *= s;
  }

  setWheel(FL, fl); setWheel(FR, fr);
  setWheel(RL, rl); setWheel(RR, rr);
}

setWheel() est l’endroit où vit la boucle de vitesse, s’il y en a une. En boucle ouverte, c’est juste une écriture PWM, et un mecanum en boucle ouverte dérive — voir boucler la vitesse des roues.

Les nombres qui comptent

Trois, et tous trois sont de la géométrie plutôt que quelque chose à acheter.

Grandeur Mecanum Roues lisses Pourquoi
Traction en ligne droite 71 % (1/√2) 100 % Le frottement plafonne tout le vecteur de force à 45° ; seule sa composante avant vous déplace
Plafond d’accélération sur μ = 0,85 5,9 m/s² 8,3 m/s² Même rapport, et la masse du robot s’annule des deux côtés
Vitesse max en diagonale 71 % de la vitesse roue max n/a Une consigne à 45° demande tout à deux roues et rien à deux autres
Degrés de liberté 3 2 Ce pour quoi vous les avez achetées

La dernière ligne est ce que vous payez. Les trois premières sont la facture.

Dépannage

Symptôme Cause Solution
L’avant va bien, le latéral courbe et tourne Une roue dans le mauvais coin Faites le contrôle du X ; permutez deux roues en diagonale
Va de côté dans le mauvais sens Les quatre roues en miroir — le X est inversé Permutez la paire gauche avec la paire droite
Dérive un peu d’un côté sur une longue droite Les moteurs ne s’accordent pas en charge Bouclez la vitesse par roue, ou appairez et étalonnez
La diagonale est bien plus lente que l’avant Fonctionnement nominal, pas une panne Le plafond 1/√2 ; augmentez la vitesse max ou évitez les diagonales
Le robot broute et couine en latéral Galets qui ripent au lieu de rouler — trop d’adhérence, trop peu de charge, ou un galet grippé Tournez chaque galet à la main ; chacun doit tourner librement
Odométrie bonne en avant, nulle en latéral Les galets glissent par conception, le codeur ne mesure pas le sol Ajoutez une centrale inertielle pour le cap ; ajoutez des roues libres pour la position
Un coin sonne différemment des autres Le roulement d’un galet s’est effondré Remplacez le galet ; un galet grippé fait de ce coin une roue lisse à 45°

Mecanum, ou les alternatives ?

Option Va de côté Puissance de poussée Terrain Coût et complexité
Mecanum, 4 moteurs Oui, toute direction, tout cap Faible — 71 % avant le caoutchouc des galets Sols plats et durs seulement 4 moteurs, 4 contrôleurs, 4 codeurs
Roues omni en X, 4 moteurs Oui — même enveloppe en losange, tournée de 45° et √2 plus haute Faible, et √2 moins de force pour cette vitesse Sols plats seulement Même nombre de moteurs, délicat à loger
Entraînement différentiel, 2 moteurs Non — doit d’abord tourner Meilleure sur les mêmes roues Gère bien plus 2 moteurs, économique, simple, robuste
Swerve, 8 moteurs Oui, avec pleine traction Excellente Bon Quatre fois le travail et le coût

Le résumé honnête : une base mecanum est la bonne réponse quand le sol est plat et propre, l’espace serré, et que le robot doit tenir un cap en se déplaçant — une allée d’entrepôt, un terrain de compétition, une plateforme caméra. C’est la mauvaise réponse quand le robot doit pousser, grimper, ou savoir exactement où il est depuis ses roues seules.

Où c’est utilisé

Mettez-les sous un châssis et vous construisez le robot omnidirectionnel mecanum. Avant de couper du métal, passez vingt minutes dans le simulateur d’entraînement mecanum — y monter une roue à l’envers ne coûte rien, et c’est la panne que vous risquez le plus de construire.

Explorer le graphe

Utilisé dans ces réalisations

Projets, parcours d'apprentissage et simulateurs qui intègrent le composant Mecanum Wheel Set.

Comparer

Alternatives

Questions

FAQ : Mecanum Wheel Set

Comment savoir quelle roue mecanum va où ?

Posez le robot sur l'établi, placez-vous au-dessus et regardez droit vers le bas. Suivez la ligne des galets visibles sur le dessus de chaque roue. Sur une base bien montée, ces quatre lignes visent le milieu du robot et dessinent ensemble un X. Si elles dessinent un losange — un rhombe, un O — deux de vos roues sont dans les mauvais coins. Ce contrôle prend cinq secondes, sans marquage, et repère l'erreur de montage mecanum la plus fréquente. Les tampons L et R imprimés sur le moyeu aident, mais c'est le contrôle du X qu'il faut croire, car il teste ce qui compte vraiment.

Que se passe-t-il si une roue mecanum est montée à l'envers ?

Le robot roule quand même, ce qui rend la panne si déroutante. Avant et arrière semblent normaux car les composantes latérales s'annulent encore à peu près. C'est le déplacement latéral qui échoue : le coin mal monté pousse en travers de la consigne au lieu de dedans, donc une consigne latérale sort en courbe lente avec une rotation dedans. Dans le simulateur, un carré latéral qui se referme à 17 mm avec quatre roues correctes finit à plus d'un mètre et des dizaines de degrés de rotation avec une roue inversée. Rien dans le code n'est faux, et aucun réglage PID ne corrigera cela. L'indice lisible sur un vrai robot est le résidu des codeurs, qui passe de zéro à environ 0,28 et y reste.

Les roues mecanum ont-elles besoin de codeurs ?

Elles en ont plus besoin qu'un robot à entraînement différentiel, et en tirent moins. Plus, car les quatre roues doivent tenir leurs rapports de vitesse pour que le robot aille où on l'a pointé, et un moteur qui s'affaisse en charge vous déroute discrètement. Moins, car les galets glissent par conception, donc un codeur de roue mesure la roue et pas le sol — la partie latérale de votre odométrie est le nombre le moins fiable du robot. La plupart des montages mecanum sérieux gardent les codeurs pour la boucle de vitesse et ajoutent une centrale inertielle, ou des roues libres omnidirectionnelles non motrices, pour la position.

Pourquoi mon robot mecanum est-il si facile à pousser ?

Parce qu'une roue mecanum ne peut mordre que le long de l'axe de son galet, qui est à 45 degrés de la direction voulue. Le frottement limite tout le vecteur de force, mais seule la composante le long du roulement déplace le robot — vous obtenez donc 1/√2, environ 71 %, de la traction que le même robot et le même sol donneraient en roues lisses. Le caoutchouc des galets accroche généralement mieux que cela, mais la pénalité géométrique est réelle et aucun réglage ne la supprime. Si pousser fort est le but, n'utilisez pas de roues mecanum.

Peut-on utiliser des roues mecanum sur moquette ou dehors ?

La moquette marche mais mange vitesse et précision : les galets s'enfoncent au lieu de glisser, donc le mouvement latéral devient bruité et l'odométrie pire. Dehors, non. Gravier, herbe et tout rebord bloqueront un galet ou l'arrêteront net, et un galet bloqué fait de ce coin une roue ordinaire pointée à 45 degrés de travers — soit la panne de roue inversée, par intermittence. Les roues mecanum sont pour sols plats, durs et propres, soit exactement où sont entrepôts et terrains de compétition.

Combien de moteurs faut-il pour un robot mecanum ?

Quatre, un par roue, chacun commandable indépendamment dans les deux sens. Il n'existe pas d'entraînement mecanum à deux moteurs — tout le mécanisme est quatre vecteurs de force se sommant en ce que vous avez demandé, et lier deux roues à un moteur en supprime deux. Cela signifie quatre canaux de pont en H, quatre faisceaux de codeurs si vous voulez une boucle de vitesse, et un budget de courant profond de quatre moteurs plutôt que deux.

Pour aller plus loin

Références