Il mio agente IA conosce le regole della fisica meglio di me. Per la simulazione del mio robot DIY mi spiega come il motore fisico calcola l’attrito tra ruota e pavimento, e mi dimostra a partire da quale pendenza il robot resterebbe bloccato su una rampa immaginaria nella cameretta.
La simulazione fisica, però, è “headless”, cioè esiste solo come numeri e dati. Ho quindi fatto rendere all’agente un video della simulazione: il robot attraversa il soggiorno e durante il percorso urta un peluche di mia figlia facendolo cadere:
Chiunque abbia mai tenuto in mano un peluche lo capisce subito: un peluche non cade così. Quello che mi disturba di più è che un leggero urto al piede lo faccia rovesciare completamente.
Dal punto di vista fisico è probabilmente calcolato in modo corretto. Solo che nella simulazione il peluche è un corpo rigido composto da alcune forme geometriche di base. L’agente semplicemente non sa dove e come si può semplificare, né cosa conti davvero in un peluche reale. E non se ne accorge nemmeno guardando il risultato.
A onor del vero: per la progettazione del robot questo scenario specifico non ha alcuna conseguenza. E una simulazione più realistica non porterebbe alcun valore aggiunto. Ma anche questa è solo un’ipotesi.
Dettagli tecnici
Per chi vuole saperne di più: ecco come è nato il video.
| Ambito | Realizzazione |
|---|---|
| Fisica | MuJoCo, robot a partire dai dati CAD, ciclo di controllo 20 ms |
| Controllo | Nucleo firmware del robot, lo stesso codice del microcontrollore |
| Peluche | 15 cm, 80 g (stimato), un corpo rigido composto da ellissoide, sfera e due capsule |
| Sequenza | Scelti la posizione iniziale e il momento dell’urto, tutto il resto simulato |
| Rendering | Blender 4.2 Cycles su CPU, 960 × 540, 8 sample + denoising |
| Tempo di rendering | circa 17 s per immagine, elaborazione notturna dalle 22:25 alle 3:21 |
Così appare il peluche per il motore fisico:
<body name="teddy"><freejoint/>
<geom name="teddy_rumpf" type="ellipsoid" size=".038 .042 .05" mass=".045"/>
<geom name="teddy_kopf" type="sphere" size=".034" mass=".02"/>
<geom name="teddy_bein_l" type="capsule" size=".016" mass=".0075"/>
<geom name="teddy_bein_r" type="capsule" size=".016" mass=".0075"/>
</body>
Un unico corpo che si può muovere liberamente nel suo insieme. Testa e gambe sono rigidamente collegate al busto, nulla cede, nulla è morbido. Le braccia esistono solo nell’immagine resa: per la fisica non esistono.



