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.
Come scegliere
Un breve percorso decisionale che porta alla risposta giusta quasi sempre:
- 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.
- Il pavimento è sempre pianeggiante, duro e pulito? No → trazione differenziale oppure swerve se il budget è irragionevole.
- 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.
- 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.
- È 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