Tutorial · Principiante · 25 min

Trazioni olonomiche: omni, mecanum e swerve a confronto

Scopri che cosa significa olonomico, perché un robot a trazione differenziale non parcheggia di lato e confronta omni, mecanum e swerve per aderenza e costo.

La parola e ciò che ti costa

Un robot su un pavimento piatto ha tre gradi di libertà: può trovarsi a una posizione x, a una posizione y e avere un orientamento θ. Questa è una posizione sul pavimento.

Una trazione è olonomica quando controlla indipendentemente tutti e tre: quando il numero di direzioni in cui può muoversi istantaneamente è uguale al numero di direzioni in cui può raggiungere una posizione. Una trazione è non olonomica quando non può: può raggiungere in tempo qualsiasi posizione, ma non muovendosi direttamente verso di essa.

L’esempio di tutti i giorni è un’automobile. Un’automobile può raggiungere qualsiasi posto sulla strada, compreso quello immediatamente alla sua sinistra. Semplicemente non può andare lì: deve accostarsi e manovrare. È un vincolo non olonomico ed è l’unico motivo per cui parcheggiare in parallelo richiede una certa abilità.

Un robot a trazione differenziale ha lo stesso problema in una forma più amichevole. Può ruotare sul posto, cosa che un’automobile non può, quindi ha soltanto due velocità controllabili, avanti e rotazione, rispetto a tre gradi di libertà. Manca il movimento laterale. Per spostarsi di 20 cm a sinistra deve girare, avanzare e girare di nuovo, operazioni che richiedono tempo che potrebbe non avere e costano precisione di orientamento che potrebbe non potersi permettere di perdere.

Una trazione olonomica si sposta semplicemente a sinistra.

Perché conta più di quanto sembri

«Può andare di lato» suona come un esercizio di mondina. Ecco dove offre davvero un vantaggio:

  • Spazi stretti. Un robot che non ha mai bisogno di spazio per girare entra in un corridoio largo esattamente quanto lui. Gli AGV di magazzino usano ruote mecanum per questo motivo e nessun altro.
  • Mantenere l’orientamento durante il movimento. Una telecamera, un palo di sensori o una pinza che deve continuare a essere rivolta in una direzione mentre la base si riposiziona. Le trazioni non olonomiche non possono farlo.
  • Inseguimento del percorso disaccoppiato. Un controllore pure pursuit su una base differenziale deve scambiare l’errore di posizione con quello di orientamento, perché condividono un solo attuatore. Una base olonomica corregge ciascun errore con un proprio asse.
  • Correzioni che non costano orientamento. Se il robot deriva di 3 cm da una linea, un robot olonomico riposiziona di 3 cm. Un robot differenziale deve descrivere un arco in uscita e poi rientrare e, su un pavimento scivoloso, quelle due inversioni aggiuntive sono l’origine dell’errore. Nel simulatore, un quadrato controllato con spostamenti laterali su un pavimento grasso termina comunque con l’orientamento a esattamente 0.0°, perché non è mai stato comandato alcun movimento di rotazione. Lo stesso quadrato, controllato con rotazioni agli angoli, termina con un orientamento sbagliato di decine di gradi e poi percorre ogni lato successivo nella direzione sbagliata. Ogni rotazione è un’altra occasione di perdere l’orientamento e il robot olonomico non ne prende mai.

Dove invece non offre vantaggi: tutto ciò che deve spingere, scalare o superare una soglia. Ogni ruota olonomica scambia aderenza con libertà.

Le quattro opzioni

Trazione differenziale — la base di confronto

Due ruote motrici, un supporto rotante. Non è olonomica, ma resta la risposta giusta per la maggior parte dei robot. Tutta l’aderenza di una ruota semplice, due motori e trent’anni di librerie che presuppongono esattamente questa geometria.

Ruote omni disposte a X (“X-drive”)

Quattro ruote omni, con rulli a 90° rispetto alla ruota e non a 45°, montate ai quattro angoli e ruotate ciascuna di 45° in modo che la direzione di scorrimento punti verso l’angolo. Ogni ruota spinge lungo una diagonale; le quattro diagonali possono sommarsi a qualsiasi risultato.

  • È l’inviluppo di velocità del mecanum ruotato di 45° e aumentato di √2. Entrambe le trazioni possono raggiungere un insieme di velocità a forma di rombo: nel mecanum le direzioni rapide sono avanti e di lato, nella X-drive sono le diagonali del telaio. Con la stessa velocità perimetrale della ruota, una X-drive avanza 1.41× più in fretta e produce √2 meno forza. È un rapporto di riduzione, non un pranzo gratis.
  • L’ingombro è scomodo. Le ruote sono a 45° rispetto al telaio, il che spreca spazio agli angoli e di solito impone l’azionamento diretto.
  • L’aderenza è scarsa e le ruote sono fragili: rulli piccoli, area di contatto piccola.

Mecanum — rulli a 45°

Quattro ruote che sembrano normali, montate nel modo normale, con i 45° nascosti dentro la ruota. Due sinistre, due destre, disposte a X.

  • Ingombra come una trazione normale. È il vero motivo per cui il mecanum vince l’X-drive nella pratica.
  • Avanti e di lato sono ugualmente veloci; le diagonali costano 1/√2. Un comando a 45° chiede tutto a due ruote e niente alle altre due, quindi il robot raggiunge al massimo il 71% della sua velocità in linea retta. Una X-drive ha la stessa penalità del 71%, ma si applica a un’altra coppia di direzioni.
  • L’aderenza costa 1/√2. La forza sul terreno è fissata a 45°, l’attrito limita l’intero vettore e solo la componente lungo la direzione di scorrimento è utile.
  • La spinta è scarsa. Una base mecanum perde sempre la sfida di spinta contro un robot con ruote semplici dello stesso peso.

Swerve — ruota ogni ruota

Quattro moduli, ciascuno con un motore di trazione e un motore di sterzo. Orienta tutti e quattro dove vuoi e procedi.

  • Olonomica con aderenza totale. Nessun rullo, nessun 45°, nessuna penalità. È l’unica opzione dell’elenco che non scambia aderenza con libertà.
  • Otto motori, otto encoder, anelli rotanti o gestione dei cavi e un problema di controllo con vere singolarità. Circa quattro volte il lavoro del mecanum per un robot che compie le stesse tre cose, più in fretta e con più forza.

Il confronto, onestamente

Le velocità sono riferite alla velocità massima in linea retta di ciascuna trazione, tranne la riga «velocità per velocità della ruota», che le confronta tutte con gli stessi motori e le stesse ruote.

Differenziale Omni X-drive Mecanum Swerve
Olonomica No Sì Sì Sì
Motori 2 4 4 8
Velocità laterale — 100% 100% 100%
Velocità diagonale — 71% 71% 100%
Velocità in avanti per velocità della ruota 100% 141% 100% 100%
Aderenza rispetto alle ruote semplici 100% 71%, e gomma peggiore 71% prima della gomma dei rulli ~100%
Terreno Buono Solo superfici piatte Solo superfici piatte Buono
Odometria dalle ruote motrici Discreta Scarsa Scarsa Discreta
Ingombro Facile Scomodo Facile Difficile
Costo e tempo di costruzione ★ ★★ ★★ ★★★★★

Solo swerve sfugge al rombo: poiché può orientare ogni ruota nella stessa direzione, le velocità raggiungibili formano un cerchio completo e nessuna direzione costa qualcosa. Ogni trazione basata su rulli compra il movimento laterale con un vettore di forza a 45° e paga lo stesso √2 due volte.

Grafico della velocità laterale rispetto alla velocità in avanti, entrambe in metri al secondo, che mostra ogni velocità raggiungibile da un robot mecanum con ruote da 0.60 metri al secondo. L'insieme raggiungibile è un rombo ciano pieno con vertici a più e meno 0.60 su ciascun asse. Per il confronto è tracciato un cerchio grigio tratteggiato di raggio 0.60, etichettato nessuna penalità direzionale. Marcatori ambra si trovano a 0.60 metri al secondo in avanti e a 0.60 metri al secondo di lato, sui vertici del rombo, mentre un marcatore rosso sul bordo diagonale è etichettato 0.424 metri al secondo in diagonale.
Perché ogni trazione a rulli ha un asse veloce e uno lento. Il rombo del mecanum ha i vertici sugli assi del telaio; quello di una X-drive ha la stessa forma ruotata di 45° e aumentata di √2. Solo swerve ottiene il cerchio. Scarica SVG

Come scegliere

Un breve percorso decisionale che porta alla risposta giusta quasi sempre:

  1. Deve spostarsi di lato o mantenere l’orientamento mentre si muove? No → trazione differenziale. Fermati qui: hai appena risparmiato due motori, quattro fili e un mese.
  2. Il pavimento è sempre pianeggiante, duro e pulito? No → trazione differenziale oppure swerve se il budget è irragionevole.
  3. Deve spingere, trainare o spostare qualcosa? Sì → non mecanum. Il 71% viene prima di considerare la gomma dei rulli e le basi mecanum reali perdono male le sfide di spinta.
  4. L’ingombro è ridotto o deve sembrare un robot normale? Sì → mecanum. No → una X-drive con ruote omni è più semplice da ragionare e risulta 1.41× più alta sugli stessi motori.
  5. È una competizione in cui qualcuno ti spingerà di proposito? → swerve oppure accetta che ti spingeranno.

Che cosa non ti dà una trazione olonomica

Tre cose che le persone si aspettano e non ottengono:

Non migliora l’odometria. La peggiora. Un rullo che scivola sta facendo il suo lavoro, quindi gli encoder delle ruote su una base olonomica misurano la ruota e non il pavimento ancora più del solito. Prevedi una IMU o ruote passive non motrici fin dall’inizio.

Non elimina la necessità di pianificare. Un robot olonomico deve comunque aggirare gli ostacoli; dispone soltanto di più modi per farlo. A* su una griglia di occupazione e pianificazione della copertura funzionano allo stesso modo e il percorso è più facile da seguire, non da trovare.

Non rende intuitivo il controllo del robot. È esattamente il contrario: una persona che guida un robot con spostamenti laterali perde il senso dell’orientamento in circa dieci secondi. La soluzione è il controllo orientato al campo, una piccola parte di matematica e una necessaria.

Prossimo passo

La matematica che fa sommare correttamente i quattro vettori di forza: cinematica delle ruote mecanum. Poi pilotane uno e prova a romperlo nel simulatore della trazione mecanum: la preimpostazione del pavimento grasso è il modo più rapido di percepire ciò che una trazione olonomica costa davvero.

Esplora il grafo

Fa parte di queste costruzioni

Progetti e percorsi di apprendimento che includono questo tutorial.

Per approfondire

Fonti