Forward Dynamics Model
- Detto anche: forward model, dynamics model, transition model
- Categoria: Learning & autonomy › RL & simulation
- Tag: dynamics, model-based-control, model-based-rl, simulation, prediction
Un modello che prevede come cambierà lo stato di un sistema dati il suo stato attuale e un'azione applicata, permettendo a un robot di simulare gli effetti delle proprie azioni prima di compierle.
Definizione
Modelli di dinamica diretta (forward dynamics models) prevedono lo stato successivo di un sistema a partire dal suo stato attuale e dall'azione che gli viene applicata. Scritti in forma compatta, mappano stato e azione nello stato successivo, o nella derivata dello stato. Rispondono alla domanda «se faccio questo, che cosa succederà?», il che li rende l'ingrediente centrale della simulazione, della pianificazione basata su modello e dell'apprendimento per rinforzo basato su modello.
Nella robotica classica la dinamica diretta ha un significato preciso: date le posizioni, le velocità e le coppie dei giunti di un robot a corpi rigidi, calcolare le accelerazioni dei giunti risultanti. Queste discendono dalle equazioni del moto, usando la matrice di massa e i termini di Coriolis, centrifughi e di gravità, e si calcolano in modo efficiente con algoritmi come l'algoritmo del corpo articolato (articulated body algorithm). Simulatori fisici come MuJoCo, PyBullet e Drake sono costruiti attorno a questo calcolo, integrato in avanti nel tempo.
Nel robot learning, un modello di dinamica diretta viene spesso appreso dai dati invece che ricavato. Una rete neurale viene addestrata su transizioni registrate per prevedere lo stato successivo, o una sua rappresentazione latente, a partire dallo stato e dall'azione attuali. I modelli appresi possono catturare effetti difficili da modellare a mano, come lo slittamento delle ruote su terreno irregolare, la deformazione di cavi o tessuti, o la risposta di un intero sistema guidato dalla percezione. Quando lo stato è un'immagine o un embedding appreso, la stessa idea si chiama di solito modello del mondo.
I pianificatori usano i modelli diretti campionando o ottimizzando sequenze di azioni, srotolandole attraverso il modello e assegnando un punteggio agli esiti previsti. Il punto debole principale è l'accumulo degli errori: piccoli errori su un passo crescono su orizzonti di previsione lunghi, e un pianificatore può sfruttare parti del modello che sono imprecise.
Perché è importante
Ogni robot che pianifica prevedendo le conseguenze delle proprie azioni ha bisogno di un modello di dinamica diretta, ricavato dalla fisica o appreso dai dati. L'accuratezza di quel modello stabilisce quanto in avanti il robot può pianificare in modo affidabile e con quanta sicurezza può agire in situazioni che non ha mai visto.
Applicazioni principali
- Simulazione fisica di robot a corpi rigidi
- Controllo predittivo basato su modello e pianificazione basata sul campionamento
- Apprendimento per rinforzo basato su modello
- Previsione del moto del robot su terreno accidentato o deformabile
- Modelli di previsione video e latenti usati per pianificare a partire da immagini
In pratica
Per un braccio robotico rigido, i team di solito prendono la dinamica diretta da un motore fisico o da una libreria come Pinocchio o Drake, usando un URDF con masse e inerzie identificate. Per sistemi difficili da modellare, come un robot terrestre su terreno misto, registrano dati di stato, azione e sensori durante corse teleoperate o autonome, addestrano una rete neurale a prevedere gli stati futuri e la validano su corse tenute da parte, confrontando le traiettorie previste con quelle reali sull'orizzonte di pianificazione. Il modello appreso viene poi inserito in un controllore basato sul campionamento come MPPI, che vi esegue il rollout di molte sequenze di azioni candidate e sceglie la migliore. Gli ingegneri seguono l'errore di previsione in funzione della lunghezza dell'orizzonte, perché è questo a stabilire quanto in avanti il controllore può pianificare in modo utile.
Idee sbagliate comuni
- Dinamica diretta e inversa sono intercambiabili — la dinamica diretta mappa le azioni nel moto risultante, mentre la dinamica inversa mappa un moto desiderato nelle azioni che lo producono
- Un modello che prevede bene un passo pianificherà bene — gli errori si accumulano nei rollout su più passi, e i pianificatori possono sfruttare le imprecisioni del modello
- I modelli di dinamica diretta sono sempre appresi — nella robotica classica si ricavano analiticamente dalle equazioni del moto del robot
Chi dovrebbe saperlo
- Ingegneri di controllo e pianificazione basati su modello
- Ricercatori di robot learning che lavorano su apprendimento per rinforzo (RL) basato su modello e modelli del mondo
- Sviluppatori di simulazione
- Team di robotica sul campo che modellano l'interazione con il terreno
Tecnologie correlate
- MuJoCo
- Pinocchio
- Drake
- Model Predictive Path Integral (MPPI)
- Algoritmo del corpo articolato (Articulated Body Algorithm)
- Modello del mondo (World Model)
Termini correlati
Progetti correlati
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- RLinf: Scalable infrastructure for post-training foundation models via RL
- Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing