Trazione olonomica: muoviti lateralmente senza girarti
Puoi dimensionare, cablare, programmare e diagnosticare un telaio olonomico a quattro ruote, e dire onestamente quanto ti costa in trazione e in precisione di posizione.
A cosa serve questo percorso
Ogni robot mobile di questo sito ha avuto finora la stessa limitazione e non l’ha mai menzionata: può muoversi soltanto lungo il proprio muso. Per spostarsi di 20 cm a sinistra deve girare, avanzare e poi girare di nuovo. È un vincolo non olonomico, così normale che la maggior parte delle persone non si accorge nemmeno che sia un vincolo.
Questo percorso lo elimina. Alla fine avrai un robot con tre velocità controllabili indipendentemente — avanti, lateralmente e in rotazione — costruito con quattro normali motori con riduttore e quattro ruote dotate di rotori.
Dedica inoltre molto spazio a ciò che questo comporta, perché il costo è reale e raramente dichiarato: circa il 29% della trazione, circa il 29% della velocità massima in diagonale, circa il doppio del preventivo dei materiali e un forte peggioramento di quanto tu possa fidarti della tua odometria. Una base olonomica è un’ottima risposta a una domanda specifica. Questo percorso serve anche a riconoscere quando quella non era la tua domanda.
Di cosa hai bisogno
| Elemento | Qtà | Costo approssimativo | Note |
|---|---|---|---|
| Ruote Mecanum, 80–97 mm | 4 | £28–70 il set | Due sinistre, due destre. Comprale come set di quattro |
| Motore con riduttore e encoder | 4 | £8–14 ciascuno | Abbinati, 100–250 rpm alla ruota. N20 per una base piccola, motori con riduttore da 25 mm per una più grande |
| Ponte H doppio (TB6612FNG o L298N) | 2 | £3–8 ciascuno | Oppure una scheda a quattro canali. TB6612FNG dissipa molta meno tensione |
| Microcontrollore con 4 PWM + 4 interrupt | 1 | £8–20 | Arduino Mega 2560 o ESP32. Un Uno non ha abbastanza né dell’uno né dell’altro |
| IMU (MPU6050 o migliore) | 1 | £2–20 | Per la guida orientata al campo e il mantenimento dell’orientamento |
| Batteria 2S o 3S | 1 | £12–25 | Dimensionata per quattro motori, non due — vedi il tutorial sul budget di potenza |
| Piano del telaio | 1 | £10–25 | Oppure taglialo tu. Quando lo fai, misura da centro ruota a centro ruota |
Circa £90–170 tutto compreso, contro £40–70 per un robot equivalente a due ruote.
Perché il percorso segue quest’ordine
Scegli il telaio prima di comprare qualsiasi cosa. Il primo nodo è un confronto, non un passo di costruzione, perché l’errore più costoso di questo percorso è scoprire dopo aver forato il telaio che sarebbe stata migliore la trazione differenziale.
Cinematica prima dell’elettronica. La matrice di quattro righe spiega a cosa servono i quattro motori, perché devono ricevere velocità così diverse e perché sono i rapporti tra le ruote a effettuare la sterzata. Nulla del cablaggio ha senso finché questo non è chiaro.
Il laboratorio prima della costruzione. Montare una ruota al contrario è l’errore mecanum più comune e produce un robot che avanza perfettamente in avanti ma si sposta lateralmente descrivendo una spirale. Farlo una volta nel browser, di proposito, è ciò che ti permette di riconoscerlo sul banco in trenta secondi invece che in un giorno.
I cicli di velocità prima di qualsiasi cosa autonoma. Su un robot a trazione differenziale il controllo aperto è un punto di partenza praticabile. Qui non lo è, perché non esiste una singola costante di correzione che possa sistemare quattro rapporti che cambiano a ogni comando.
L’orientamento al campo viene per ultimo nel lavoro di controllo, perché è un cappello su un telaio che già funziona. Aggiungerlo a un robot le cui ruote non mantengono la velocità sposta solo la confusione in un punto più difficile da trovare.
Punti di verifica
Ogni fase ha una prova da banco con un criterio di superamento. Non portare avanti un fallimento: su un robot a quattro motori i fallimenti si moltiplicano.
| Dopo | Prova | Una prova superata sembra |
|---|---|---|
| Ruote montate | Stai sopra il robot e segui i rotori superiori | Quattro linee convergenti al centro, che disegnano una X |
| Motori cablati | Comanda ogni ruota in avanti singolarmente | Tutte e quattro le ruote girano nella direzione che hai chiamato avanti, senza scambiamenti di cablaggio |
| Cinematica programmata | Comanda uno spostamento laterale puro con il robot su blocchi | Le coppie diagonali si oppongono; anteriore-sinistra e posteriore-destra coincidono |
| Lettura degli encoder | Gira ogni ruota di una rivoluzione a mano | I conteggi sono entro il 2% dei conteggi/rev calcolati e il segno è corretto |
| Ciclo di velocità | Comanda 0.3 m/s sui blocchi, poi premi un dito sulla ruota | La velocità resta costante; il PWM aumenta visibilmente sulla linea di telemetria |
| Quattro cicli insieme | Percorri una retta di 3 m sul pavimento | Deriva laterale inferiore a 20 mm, ripetibile |
| Spostamento laterale | Percorri 1 m lateralmente e misura | Entro 5 cm e l’orientamento non è cambiato più di un paio di gradi |
| IMU | Fai girare il robot di 360° a mano | La rotazione attorno all’asse verticale torna entro 5°, con meno di 3°/min di deriva da fermo |
| Orientato al campo | Tieni il joystick in avanti e fai girare il robot | Continua nella stessa direzione sul pavimento |
| Quadrati | Percorri il quadrato con spostamento laterale, poi quello con rotazione | Entrambi si chiudono; quello laterale mantiene l’orientamento entro un grado |
Dove si ferma questo percorso
Tre omissioni deliberate, nominate così che tu sappia che sono scelte.
Trazione swerve. L’unico telaio olonomico che non scambia trazione con libertà, ma costa otto motori, un microcontrollore di sterzata per modulo e vere singolarità. Se il tuo robot deve essere olonomico e spingere con forza, è lì che devi andare, ed è un progetto più grande di tutto questo percorso.
Sapere dove ti trovi. Questo percorso è onesto sul fatto che l’odometria mecanum deriva e ti dice di aggiungere un IMU e ruote passive. Non copre la localizzazione assoluta. Per quella, segui pianificazione dei percorsi e mappatura, che costruisce la propria conoscenza dalle griglie di occupazione fino a SLAM.
Inseguimento olonomico dei percorsi. Pure pursuit e Stanley presuppongono entrambi un robot che sterza mediante la rotazione, mentre una base che può muoversi lateralmente può fare senza dubbio meglio di entrambi. Adattarli correttamente è un argomento a sé; fino ad allora, una base olonomica che segue un controllore simile a quello di un’auto funziona benissimo e semplicemente lascia capacità inutilizzate.
Prossimo passo
Inizia dai tipi di trazione olonomica e decidi se vuoi davvero tutto questo. Poi costruisci il robot omnidirezionale mecanum.
Percorso di apprendimento
Il percorso
Segui i nodi in ordine: ognuno sblocca il successivo una volta completato. I tuoi progressi vengono salvati su questo dispositivo.
0 / 14 completati
Domande comuni
Domande frequenti
Devo imparare la trazione differenziale prima della trazione olonomica?
Aiuta moltissimo e questo percorso ne presuppone un po'. La lettura dell'encoder, il ciclo di velocità, il budget di potenza e il problema dello slittamento sono le stesse competenze necessarie a un robot a due ruote, solo che tutto è quadruplo. Qui la novità autentica è la cinematica: un robot a trazione differenziale ha due velocità controllabili, mentre uno olonomico ne ha tre, ed è associata a essa la questione dei sistemi di riferimento. Se non hai mai costruito un robot mobile, costruisci prima un seguilinea o un robot che evita ostacoli; così potrai dedicare il tuo tempo alle idee nuove invece che alle saldature.
Quanto costa una base mecanum rispetto a un robot normale?
Circa il doppio, e l'aumento si trova nei posti che le persone dimenticano. Quattro ruote mecanum costano da due a quattro volte il prezzo di quattro ruote normali. Servono quattro motori invece di due, quindi quattro canali H-bridge e quattro cavi per encoder; inoltre, quattro motori equivalgono a circa il doppio del budget di corrente. Di solito deve crescere anche il microcontrollore: quattro encoder richiedono quattro pin capaci di gestire interrupt e quattro canali PWM su timer separati, cose che un Arduino Uno non ha, così la maggior parte dei montaggi finisce su un Mega o un ESP32. Prevedi subito l'aggiornamento del microcontrollore, invece di scoprirlo dopo aver forato il telaio.
Posso usare ruote mecanum in controllo aperto senza encoder?
Puoi guidare il robot e, se lo spingi a mano su un buon pavimento, onestamente è sufficiente. Quello che non puoi fare è raggiungere un punto preciso. La cinematica funziona mantenendo rapporti tra quattro velocità delle ruote, mentre il PWM in controllo aperto non mantiene i rapporti: mentre la batteria si scarica, mentre un motore si scalda, mentre il carico si sposta, i rapporti derivano e il robot curva fuori da ogni comando. Su un robot a trazione differenziale puoi eliminare questo errore con una sola costante. Su una base olonomica il rapporto corretto cambia a ogni comando, quindi non c'è nulla da correggere. Gli encoder rendono vera la matematica di questo percorso.
Perché questo percorso dedica così tanto tempo all'odometria sbagliata?
Perché è il guasto che le persone non vedono arrivare. Una base mecanum sembra il robot più capace che hai costruito, ma la sua navigazione stimata è la peggiore. I rotori che slittano non sono un difetto da correggere: sono il modo in cui avviene il movimento laterale, quindi ogni millimetro di percorso laterale è stato misurato dall'encoder ma non necessariamente concesso dal pavimento. Due tutorial di questo percorso esistono per farti pianificare fin dall'inizio: aggiungi un IMU per l'orientamento, aggiungi ruote passive o un riferimento esterno per la posizione e non scrivere mai una routine autonoma che assuma che gli encoder delle ruote sappiano dove si trova il robot.
Dove si ferma questo percorso?
A un robot che puoi guidare ovunque su un pavimento piatto, che mantiene le velocità comandate, che sa in che direzione è rivolto ed è onesto sul fatto di non sapere esattamente dove si trova. Lascia deliberatamente fuori tre cose. La trazione swerve, perché otto motori e una singolarità di sterzata sono un progetto diverso. La localizzazione assoluta — SLAM, beacon e visione — che è il passo successivo se il robot deve conoscere la propria posizione; inizia con il percorso di pianificazione e mappatura. E l'inseguimento olonomico dei percorsi, perché sia pure pursuit sia Stanley presuppongono un robot che sterza, e adattarli a una base che può muoversi lateralmente modifica il controllore abbastanza da richiedere una trattazione separata.
Cosa posso costruire alla fine?
Il progetto del robot omnidirezionale mecanum di questo sito è l'obiettivo diretto: una base a quattro ruote con un ciclo di velocità per ruota, guida orientata al campo e una serie di prove da banco che ti dicono se ogni parte funzioni davvero. Oltre a questo, lo stesso telaio è la base per qualsiasi cosa debba mantenere un orientamento mentre si riposiziona: una piattaforma per telecamere, un piccolo trasportatore di magazzino, un robot di ispezione in un corridoio stretto o un robot da competizione che deve allinearsi con qualcosa senza puntarlo direttamente.