Componente · Telaio

Set di ruote Mecanum

La ruota che spinge a 45°: quale delle quattro è mancina, come il controllo a X rivela un montaggio rovescio e quanta trazione scambi per il movimento laterale.

Che cos’è

Una ruota mecanum è una ruota ordinaria con una corona di rulli a rotazione libera fissati attorno al cerchione, ciascuno con l’asse impostato a 45° rispetto a quello della ruota. Bengt Ilon la brevettò nel 1972 presso l’azienda svedese Mecanum AB, da cui deriva il nome, e da allora i robot dei magazzini le usano in silenzio.

La conseguenza dei 45° è tutta la storia. Una ruota normale può spingere soltanto lungo la direzione in cui rotola. Una ruota mecanum può spingere soltanto lungo l’asse del suo rullo, perché il rullo gira liberamente in ogni altra direzione e semplicemente rifiuta di trasmettere forza. Perciò la forza di una singola ruota mecanum sul terreno è fissata a 45° rispetto al telaio, in modo permanente, indipendentemente da ciò che fa il motore.

Una sola ruota così è inutile. Quattro ruote, due mancine e due destre, forniscono quattro vettori di forza ad angoli alternati di 45°, e la somma di quattro vettori può puntare in qualsiasi punto del pavimento e includere una rotazione. Questa è una base olonomica: tre gradi di libertà controllabili — avanti, laterale, rotazione — con quattro motori ordinari senza sterzo.

Verso e perché non è facoltativo

Le ruote mecanum esistono in due forme speculari, di solito vendute come sinistra (A) e destra (B), oppure semplicemente contrassegnate L e R sul mozzo. Un robot ne richiede due per ciascun verso, abbinate in diagonale:

Angolo Verso Vettore di forza, visto dall’alto
Frontale sinistro Mancino (A) Punta in avanti a destra quando la ruota gira in avanti
Frontale destro Destro (B) Punta in avanti a sinistra
Posteriore sinistro Destro (B) Punta in avanti a sinistra
Posteriore destro Mancino (A) Punta in avanti a destra

Gli angoli diagonali condividono lo stesso verso. Acquistare quattro ruote identiche è un errore reale e comune: un «gruppo di quattro ruote mecanum» di un venditore affidabile contiene due ruote per verso, ma due unità acquistate separatamente molto spesso no.

Controllo a X

Il test affidabile non richiede alcun contrassegno.

  1. Metti il robot sul banco, con le ruote a terra.
  2. Stai in piedi davanti a lui e guarda dall’alto.
  3. Su ogni ruota segui la disposizione dei rulli visibili sulla parte superiore.
  4. Queste quattro linee devono puntare al centro del robot e disegnare una X.

Se disegnano un rombo, la configurazione a O, scambia due ruote in diagonale e ricontrolla.

C’è una sfumatura che fa inciampare chi tenta di ragionarci invece di guardare: i rulli visibili in alto sono speculari rispetto a quelli che toccano il pavimento, perché un rullo in alto è lo stesso rullo portato per metà giro. I rulli che spingono puntano nella direzione opposta. Non importa: la X visibile resta il test giusto ed è quello che tutti usano, propriamente perché puoi vederla.

Due viste dall'alto dello stesso robot a quattro ruote, con il muso in alto. Nel pannello superiore, intitolato corretto, una X, braccio di rotazione lx + ly = 160 millimetri, le linee ciano tratteggiate prolungate dai rulli visibili di ogni ruota si incrociano al centro del robot e formano una X. Nel pannello inferiore, intitolato errato, una O, braccio di rotazione pari al valore assoluto di lx meno ly = 10 millimetri, le stesse linee delle ruote contrassegnate in rosso formano invece un rombo attorno al robot e non passano mai per il centro. La didascalia dice di stare sopra il robot e seguire i rulli visibili in alto: quattro linee che passano per il centro e disegnano una X; qualsiasi altra cosa significa scambiare una coppia, e la O costa sedici volte l'autorità di rotazione, o tutta quanta se lx è uguale a ly.
Il controllo della realizzazione da cinque secondi e il numero dietro. La disposizione a X dà a ogni ruota un braccio di rotazione di lx + ly; la O dà |lx − ly|, qui 16× più piccolo e esattamente nullo su un telaio quadrato. Scarica SVG

Collegamento di quattro ruote a un Arduino

Una trazione mecanum usa quattro motori, quindi un solo L298N non basta. Servono due doppi ponte H, oppure una scheda a quattro canali:

Ruota Driver Pin di direzione Pin PWM Encoder A/B
Frontale sinistra Driver 1, canale A 2, 4 3 18, 30
Frontale destra Driver 1, canale B 7, 8 5 19, 31
Posteriore sinistra Driver 2, canale A 24, 26 6 20, 32
Posteriore destra Driver 2, canale B 28, 22 11 21, 33

Due dettagli che possono complicare la vita:

  • Quattro canali PWM che condividono un timer non funzionano tutti. Su un Uno ci sono sei pin PWM distribuiti su tre timer e la libreria Servo o tone() ne ruba uno. Mega o ESP32 eliminano il problema; su Uno controlla la mappa dei timer prima di saldare.
  • Quattro encoder richiedono quattro pin di interrupt. Un Uno ne ha due. È il motivo più comune per cui una realizzazione mecanum finisce su Mega 2560 o ESP32.

Codice minimo funzionante

La cinematica inversa richiede quattro righe. Tutto il resto riguarda i collegamenti.

// 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() è il punto in cui si trova il ciclo di velocità, se ne hai uno. In anello aperto è soltanto una scrittura PWM, e il mecanum in anello aperto deriva: consulta come chiudere il ciclo sulla velocità delle ruote.

I numeri che contano

Sono tre e dipendono tutti dalla geometria, non da qualcosa che tu possa acquistare per aggirarli.

Grandezza Mecanum Ruote semplici Perché
Trazione in linea retta 71% (1/√2) 100% L’attrito limita l’intero vettore di forza a 45°; solo la componente in avanti ti muove
Limite di accelerazione con μ = 0.85 5.9 m/s² 8.3 m/s² Stesso rapporto e la massa del robot si cancella in entrambi i casi
Velocità diagonale massima 71% della velocità massima della ruota n/d Un comando a 45° chiede tutto a due ruote e niente alle altre due
Gradi di libertà 3 2 Ciò per cui le hai acquistate

L’ultima riga è ciò che stai pagando. Le prime tre sono il conto.

Risoluzione dei problemi

Sintomo Causa Soluzione
Avanti va bene, il movimento laterale curva e ruota Una ruota nell’angolo sbagliato Esegui il controllo a X; scambia due ruote in diagonale
Si sposta lateralmente nella direzione opposta Tutte e quattro le ruote sono speculari: la X è capovolta Scambia la coppia sinistra con quella destra
Deriva leggermente da un lato su un tratto lungo I motori non corrispondono sotto carico Chiudi il ciclo di velocità per ruota oppure abbina e calibra i motori
Il diagonale è molto più lento dell’avanti Funziona come previsto, non è un guasto Limite di 1/√2; aumenta la velocità massima oppure evita i diagonali
Il robot vibra e striscia lateralmente I rulli slittano invece di rotolare: attrito eccessivo, carico insufficiente o rullo bloccato Fai girare ogni rullo a mano; devono tutti ruotare liberamente
Odometria buona in avanti, disperata lateralmente I rulli scivolano per progetto, quindi l’encoder non misura il pavimento Aggiungi un IMU per la direzione e ruote passive per la posizione
Un angolo suona diverso dagli altri Il cuscinetto di un rullo si è bloccato Sostituisci il rullo; uno bloccato trasforma quell’angolo in una ruota semplice a 45°

Mecanum o alternative?

Opzione Movimento laterale Forza di spinta Terreno Costo e complessità
Mecanum, 4 motori Sì, in qualsiasi direzione e orientamento Scarsa: 71% prima della gomma dei rulli Solo pavimenti piatti e duri 4 motori, 4 driver, 4 encoder
Ruote omnidirazionali a X, 4 motori Sì: stesso ingombro a rombo, ruotato di 45° e √2 più alto Scarsa, con √2 meno forza per quella velocità Solo pavimenti piatti Stesso numero di motori, ingombro scomodo
Trazione differenziale, 2 motori No: deve prima girare Migliore sulle stesse ruote Gestisce molto di più 2 motori, economico, semplice, robusto
Swerve, 8 motori Sì, con trazione completa Eccellente Buono Quattro volte il lavoro e il costo

In sintesi: una base mecanum è la scelta giusta quando il pavimento è piatto e pulito, lo spazio è stretto e il robot deve mantenere un orientamento mentre si sposta, per esempio in un corridoio di magazzino, su un campo da competizione o su una piattaforma con telecamera. È la scelta sbagliata quando il robot deve spingere, scalare o conoscere esattamente la propria posizione usando solo le ruote.

Dove viene usata

Monta queste ruote sotto un telaio e stai costruendo il robot omnidirezionale mecanum. Prima di tagliare qualsiasi metallo, trascorri venti minuti nel simulatore della trazione mecanum: montare una ruota al contrario lì non costa nulla, ed è il guasto che rischi più di introdurre.

Esplora il grafo

Usato in queste costruzioni

Progetti, percorsi di apprendimento e simulatori che includono Set di ruote Mecanum.

Confronto

Alternative

Domande

FAQ su Set di ruote Mecanum

Come faccio a sapere quale ruota mecanum va dove?

Metti il robot sul banco, stà in piedi davanti a lui e guarda dall'alto. Segui la disposizione dei rulli visibili sulla parte superiore di ogni ruota. Su una base montata correttamente, queste quattro linee puntano verso il centro del robot e insieme disegnano una X. Se disegnano un rombo, una O, due ruote sono negli angoli sbagliati. Il controllo richiede cinque secondi, non serve alcun contrassegno e rileva l'errore di montaggio mecanum più comune. I contrassegni L e R stampati sul mozzo aiutano, ma la X è ciò a cui puoi fidarti, perché verifica ciò che conta davvero.

Cosa succede se una ruota mecanum è montata al contrario?

Il robot continua a guidare, ed è questo che rende il problema così confuso. Avanti e indietro sembrano normali perché le componenti laterali si annullano ancora in gran parte. È il movimento laterale a sbagliare: l'angolo montato al contrario spinge trasversalmente invece che in direzione del comando, così un comando laterale diventa una curva lenta con una rotazione. Nel simulatore, un quadrato di movimento laterale che si chiude a 17 mm con tutte e quattro le ruote corrette finisce a più di un metro di distanza e ruotato di decine di gradi con una sola ruota al contrario. Nel codice non c'è nessun errore e nessuna regolazione PID lo risolverà. Il sintomo osservabile su un robot reale è l'errore residuo dell'encoder, che passa da zero a circa 0.28 e vi rimane.

Le ruote mecanum richiedono encoder?

Ne hanno più bisogno di un robot a trazione differenziale e ne ricavano meno. Ne richiedono di più perché le quattro ruote devono mantenere i rapporti di velocità affinché il robot vada nella direzione impostata, e un motore che cede sotto carico ti devia silenziosamente dalla traiettoria. Ne ricavano di meno perché i rulli scivolano per progetto, quindi un encoder della ruota misura la ruota e non il terreno: la componente laterale dell'odometria è il dato meno affidabile del robot. La maggior parte delle realizzazioni mecanum serie mantiene gli encoder per il ciclo di velocità e aggiunge un IMU, oppure ruote omnidirazionali passive, per la posizione.

Perché il mio robot mecanum si sposta così facilmente?

Perché una ruota mecanum può mordere solo lungo l'asse del rullo, che si trova a 45 gradi rispetto alla direzione desiderata. L'attrito limita l'intero vettore di forza, ma solo la componente lungo la direzione di rotolamento muove il robot: ottieni quindi 1/√2, circa 71%, della trazione che lo stesso robot e lo stesso pavimento offrirebbero con ruote semplici. La gomma dei rulli offre di solito più attrito di quanto suggerisca questo calcolo, ma la penalità geometrica è reale e nessuna impostazione la elimina. Se lo spostamento con forza è l'obiettivo, non usare ruote mecanum.

Posso usare ruote mecanum sul tappeto o all'aperto?

Sul tappeto funzionano, ma divorano velocità e precisione: i rulli affondano invece di scivolare, quindi il movimento laterale diventa rumoroso e l'odometria peggiora. All'aperto no. Ghiaia, erba e qualsiasi superficie con un gradino bloccano un rullo o lo fermano del tutto, e un rullo bloccato trasforma quell'angolo in una ruota semplice puntata a 45 gradi, vale a dire ancora il guasto della ruota al contrario, ma intermittente. Le ruote mecanum sono per pavimenti piatti, duri e puliti, esattamente quelli di magazzini e campi da competizione.

Quanti motori servono a un robot mecanum?

Quattro, uno per ruota, ciascuno controllabile in modo indipendente in entrambe le direzioni. Non esiste una trazione mecanum a due motori: l'intero meccanismo è formato da quattro vettori di forza la cui somma dà il risultato richiesto, e vincolare due ruote a un solo motore ne elimina due. Servono quindi quattro canali di ponte H, quattro gruppi di cavi encoder se vuoi un ciclo di velocità e un fabbisogno di corrente dimensionato per quattro motori anziché due.

Per approfondire

Fonti