Articoli approfonditi sulla tecnologia che plasma il futuro.

Perché i bracci robotici non possono essere semplici motori industriali in miniatura

La fisica dei motori cambia radicalmente con le dimensioni. Le leggi di scala spiegano perché gli attuatori robotici sono difficili da costruire e perché i robot umanoidi si muovono in modo strano.

Enorme motore industriale accanto a un piccolo giunto robotico surriscaldato su un banco da lavoro

Ogni pochi mesi una nuova demo di un robot umanoide diventa virale. Atlas di Boston Dynamics che fa salti mortali all'indietro. Optimus di Tesla che smista oggetti. Il robot di Figure che impila scaffali. Le demo sono impressionanti, ma se guardi con attenzione noti una cosa: i movimenti sono lenti, ponderati e prudenti. Questi robot riescono a sollevare carichi sorprendentemente pesanti, ma non sanno afferrare una palla lanciata verso di loro. Sanno camminare, ma non sprintare. Sanno afferrare oggetti, ma non sanno fare nulla che richieda movimenti rapidi e precisi delle dita.

Il motivo non è il software, ma la fisica. Nello specifico, la fisica di come scalano i motori elettrici. Le leggi di scala che governano il comportamento dei motori cambiano radicalmente con le dimensioni, e questi cambiamenti spiegano gran parte dei limiti degli attuatori robotici attuali. Capire queste leggi di scala è fondamentale per chiunque lavori in robotica, e rivela perché costruire un robot che si muova come un essere umano sia intrinsecamente più difficile che limitarsi a ingrandire o rimpicciolire i robot esistenti.

La legge del quadrato-cubo colpisce ancora

La legge del quadrato-cubo, cioè l'osservazione che quando un oggetto cresce il volume aumenta più velocemente della superficie, influenza i motori elettrici in un modo preciso. La coppia motrice scala con il volume (approssimativamente con il cubo della dimensione lineare). La dissipazione del calore di un motore scala con la superficie (con il quadrato della dimensione lineare). Se raddoppi le dimensioni di un motore, questo produce 8 volte la coppia ma può dissipare solo 4 volte il calore.

È per questo che i motori grandi sono relativamente efficienti. Il motore di un braccio robotico industriale ha molta superficie rispetto al calore che produce, quindi può lavorare a cicli di utilizzo elevati senza surriscaldarsi. Ma se rimpicciolisci quel motore per un dito robotico, il problema termico si ribalta: il motore produce poca coppia e ha ancora meno superficie per dissipare il calore. I motori piccoli si surriscaldano rapidamente sotto carico continuo.

Motor scaling (approximate):
Motor diameter    Torque (relative)    Heat dissipation (relative)
100mm (arm)       1.0x                 1.0x
50mm (wrist)      0.125x               0.25x
25mm (finger)     0.016x               0.063x
10mm (fingertip)  0.001x               0.01x
The ratio of torque to heat dissipation:
100mm: 1.0   (can run continuously)
50mm:  0.5   (needs duty cycling)
25mm:  0.25  (overheats quickly under load)
10mm:  0.1   (barely usable for sustained force)
Small motors are proportionally weaker AND hotter.

Il problema dell'inerzia

L'altro aspetto critico della scala è l'inerzia, cioè la resistenza a variazioni della velocità di rotazione. Il rotore di un motore ha massa, e quella massa ha inerzia. Per muovere rapidamente un giunto robotico, il motore deve accelerare e decelerare il rotore, il che richiede una coppia proporzionale al momento d'inerzia del rotore.

Il problema è questo: in molti attuatori robotici, l'inerzia del rotore domina quella del carico. Il motore spende più energia a muovere se stesso che a muovere ciò che dovrebbe muovere. È come cercare di scrivere con una penna che pesa un chilo: puoi muoverla, ma non puoi fare movimenti rapidi e precisi, perché stai lottando contro l'inerzia della penna.

Questo è particolarmente grave per i bracci robotici. Un motore alla spalla deve muovere non solo il carico utile, ma anche i motori del gomito e del polso. Ogni giunto aggiunge inerzia che tutti i giunti a monte devono vincere. Questa inerzia a cascata è il motivo per cui i bracci robotici diventano più lenti e meno precisi man mano che si allungano: lo stesso vincolo fondamentale che limita la lunghezza del braccio di una gru.

Rapporti di riduzione: il compromesso

La riduzione con ingranaggi è la soluzione standard quando la coppia del motore non basta. Un rapporto di riduzione 100:1 moltiplica la coppia del motore per 100 e divide la velocità per 100. Così un motore piccolo e veloce può produrre abbastanza coppia per un giunto pesante.

Il compromesso è la backdrivability, cioè la capacità di spingere il motore dal lato dell'uscita. Un motore con un rapporto di riduzione molto alto è praticamente bloccato dal lato dell'uscita a causa dell'attrito nel treno di ingranaggi. Questo significa che il robot non riesce a percepire le forze che gli vengono applicate. Se una persona urta il braccio, il braccio non cede: è un ostacolo rigido. È un problema di sicurezza (il robot può ferire le persone) e un problema funzionale (il robot non può svolgere compiti che richiedono il rilevamento della forza, come inserire una spina in una presa).

I rapporti di riduzione bassi preservano la backdrivability: il motore può sentire le forze esterne e reagire. Ma con rapporti bassi il motore deve produrre da solo tutta la coppia richiesta, il che richiede un motore più grande e pesante, che aggiunge inerzia, che a sua volta richiede ancora più coppia. È un problema circolare.

Come affrontano il problema i robot moderni

I progettisti di robot usano diverse tecniche per aggirare i limiti di scala dei motori.

  • Quasi-direct drive. Si usano motori piatti a grande diametro con rapporti di riduzione bassi (da 5:1 a 10:1). Il grande diametro fornisce coppia senza un'inerzia elevata (il momento d'inerzia dipende dalla distribuzione della massa, non solo dalla massa). Il rapporto di riduzione basso preserva la backdrivability. Il Cheetah del MIT e molti umanoidi recenti usano questo approccio.
  • Attuatori elastici in serie (SEA). Si inserisce una molla tra il motore e il giunto. La molla assorbe gli impatti (proteggendo il motore e l'ambiente), accumula energia (utile per camminare) e permette di misurare la forza (misurando la deflessione della molla). La maggior parte dei robot con gambe usa i SEA.
  • Sistemi a tendini. I motori vengono spostati nel corpo e collegati ai giunti tramite cavi (tendini). Questo toglie massa dagli arti e riduce drasticamente l'inerzia. Le mani umane funzionano così: i muscoli che muovono le dita si trovano nell'avambraccio e sono collegati tramite tendini. Diverse mani robotiche destre usano lo stesso principio.
  • Attuatori idraulici. Si aggirano del tutto i motori elettrici per applicazioni con forze elevate. I cilindri idraulici hanno un'eccellente densità di potenza (forza per peso) e sono naturalmente backdrivable. Il primo Atlas di Boston Dynamics era idraulico. Lo svantaggio: i sistemi idraulici sono ingombranti, rumorosi e complessi.

Perché i robot umanoidi si muovono lentamente

Date queste limitazioni, i movimenti lenti e ponderati degli umanoidi attuali hanno senso. I movimenti rapidi richiedono accelerazioni elevate, che richiedono di vincere l'inerzia del rotore, che richiede una coppia enorme, che a sua volta richiede o motori grandi (più inerzia) o rapporti di riduzione alti (niente backdrivability). La fisica ti intrappola.

Gli esseri umani risolvono il problema in modo diverso: i nostri muscoli sono attuatori profondamente diversi. I muscoli hanno un'inerzia quasi nulla (sono morbidi), sono naturalmente cedevoli (si comportano come molle) e possono produrre forza senza riduzioni meccaniche. Una mano umana ha 34 muscoli che controllano 27 ossa con una precisione, una velocità e una sensibilità alla forza straordinarie. Replicare tutto questo con motori elettrici e ingranaggi è possibile in linea di principio, ma richiede soluzioni ingegneristiche per ogni problema di scala che la biologia risolve in modo nativo.

Per questo la manipolazione destra, come prendere un uovo crudo senza romperlo, infilare un ago o allacciarsi le scarpe, resta uno dei problemi irrisolti più difficili della robotica. Il software per comprendere e pianificare questi compiti avanza rapidamente grazie al machine learning. Ma l'hardware, cioè attuatori capaci di eguagliare velocità, precisione e sensibilità alla forza della mano umana, è ancora in ritardo.

Cosa deve portarsi a casa lo sviluppatore software

Se lavori nel software per la robotica (pianificazione del movimento, sistemi di controllo, percezione), capire la fisica degli attuatori cambia il modo in cui scrivi il codice. Non puoi comandare a un giunto robotico di muoversi più velocemente di quanto consenta il rapporto tra coppia del motore e inerzia. Non puoi assumere una rigidità infinita se l'attuatore è backdrivable. Non puoi ignorare i limiti termici se il motore è piccolo.

Il software robotico migliore lavora con i limiti dell'hardware invece di ignorarli. I pianificatori di traiettoria che rispettano i limiti di coppia producono movimenti più fluidi e rapidi di quelli che generano traiettorie ottimali e lasciano che il controller le tagli. I sistemi di controllo che modellano la dinamica del motore offrono un controllo della forza migliore di quelli che trattano il motore come una sorgente di coppia ideale.

Le leggi di scala dei motori ci ricordano che i vincoli hardware plasmano le possibilità del software. La prossima volta che vedi una demo di un robot umanoide e ti chiedi perché si muova con tanta cautela, ricorda: il software potrebbe essere pronto per movimenti più rapidi, ma la fisica dei piccoli motori elettrici dice il contrario. Far muovere i robot come gli esseri umani richiede non solo un'AI migliore, ma attuatori fondamentalmente migliori, e questo è un problema di fisica, non di software.