Reduced Coordinates
- Detto anche: minimal coordinates, joint coordinates
- Categoria: Software & tooling › Simulation & twins
- Tag: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation
Un modo di descrivere un meccanismo a giunti solo mediante le sue variabili di giunto, così i giunti restano uniti per costruzione invece di essere imposti come vincoli tra corpi liberi.
Definizione
Un sistema multicorpo come un braccio robotico può essere simulato in due modi generali. In coordinate massimali (maximal coordinates), ogni link è un corpo rigido libero con sei gradi di libertà, e i giunti vengono aggiunti come vincoli che il solver deve imporre a ogni passo. In coordinate ridotte (reduced coordinates), il sistema è descritto solo dalle sue variabili di giunto, come gli angoli dei giunti e gli spostamenti prismatici, più la posa della base per un robot flottante. La posa di ogni link viene quindi calcolata da quelle variabili con la cinematica diretta, così i giunti non possono separarsi: i vincoli sono soddisfatti per costruzione.
Le coordinate ridotte sono il contesto naturale degli algoritmi classici di dinamica dei robot. L'algoritmo ricorsivo di Newton-Euler, l'algoritmo del corpo rigido composito e l'algoritmo dei corpi articolati di Featherstone lavorano direttamente su grandezze nello spazio dei giunti e calcolano la dinamica inversa o diretta in un tempo che cresce in modo lineare o quasi lineare con il numero di link. Le equazioni del moto assumono la forma nota M(q) q̈ + C(q, q̇) q̇ + g(q) = τ, che corrisponde direttamente al controllo dei robot. Tra i simulatori che usano questo approccio ci sono MuJoCo, Drake, gli strumenti basati su Pinocchio e i tipi di articolazione di PhysX e Bullet; Isaac Gym, per esempio, simula ogni robot come un'articolazione in coordinate ridotte di PhysX.
I vantaggi principali sono l'accuratezza e la stabilità per catene lunghe: non c'è deriva né allungamento dei giunti, i limiti e gli azionamenti dei giunti agiscono sulle variabili di giunto reali e ci sono meno variabili da integrare. I limiti sono che la struttura deve essere un albero cinematico, quindi le catene chiuse come i quadrilateri articolati o i robot paralleli richiedono vincoli aggiuntivi di chiusura della catena, e che i contatti con l'ambiente vanno comunque gestiti come vincoli o forze di penalità. Le coordinate massimali restano comuni nella fisica dei videogiochi e per corpi debolmente collegati, perché sono semplici e si parallelizzano facilmente.
Perché è importante
Il modo in cui un simulatore rappresenta un robot incide sul fatto che i giunti restino uniti sotto carichi elevati, sul passo temporale utilizzabile e su quanto la dinamica simulata dei giunti corrisponda al modello del controllore. Sapere se uno strumento usa coordinate ridotte o massimali spiega molte differenze di stabilità, prestazioni e opzioni di modellazione tra i motori fisici.
Applicazioni principali
- Simulazione fisica di bracci robotici, robot con gambe e umanoidi
- Librerie di dinamica dei corpi rigidi per il controllo e il controllo predittivo basato su modello
- Simulazione parallela su GPU per l'apprendimento per rinforzo
- Ottimizzazione di traiettoria con modelli dinamici nello spazio dei giunti
- Simulazione differenziabile di sistemi articolati
In pratica
Un ingegnere importa l'URDF di un umanoide in un simulatore su GPU per l'apprendimento per rinforzo. Caricato come articolazione in coordinate ridotte, lo stato del robot è la posa e la velocità della base più una posizione e una velocità per giunto, che corrispondono direttamente al vettore di osservazione e ai target PD dei giunti prodotti dalla policy. Quando lo stesso modello era stato costruito in precedenza da corpi rigidi separati collegati da vincoli di giunto, le ginocchia si separavano visibilmente negli atterraggi bruschi e richiedevano molte più iterazioni del solver. Il robot ha anche un meccanismo della caviglia a catena chiusa; poiché le articolazioni devono essere alberi, l'ingegnere lo modella come un albero con un vincolo aggiuntivo di chiusura della catena e verifica che i limiti di coppia dei giunti risultanti corrispondano al meccanismo reale.
Idee sbagliate comuni
- Coordinate ridotte e massimali modellano fisiche diverse — idealmente descrivono entrambe la stessa dinamica; le differenze derivano dalla risoluzione numerica, dalla deriva e dalla rigidezza dei vincoli
- Le coordinate ridotte possono rappresentare direttamente qualsiasi meccanismo — le catene cinematiche chiuse, come nei robot paralleli e nei meccanismi articolati, richiedono vincoli aggiuntivi di chiusura della catena
- Usare le coordinate ridotte elimina la necessità di un solver di vincoli — contatti, limiti dei giunti e chiusure di catena restano vincoli da risolvere
Chi dovrebbe saperlo
- Sviluppatori di simulazione e di motori fisici
- Ingegneri di robot learning che usano simulatori su GPU
- Ingegneri del controllo che lavorano con librerie di dinamica dei corpi rigidi
- Ingegneri che preparano modelli di robot come file URDF e MJCF
Tecnologie correlate
- PhysX Articulations
- MuJoCo
- Pinocchio
- Drake
- Algoritmo ricorsivo di Newton-Euler (Recursive Newton-Euler Algorithm)
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