SE(3)
- Detto anche: special Euclidean group, SE3, rigid-body transformation group
- Categoria: Foundations & spatial maths › Frames & transforms
- Tag: lie-groups, rigid-body-motion, spatial-math, kinematics, pose-estimation
Il gruppo dei moti di corpo rigido nello spazio 3D, ogni rotazione combinata con ogni traslazione, scritto di solito come matrici di trasformazione omogenea 4×4. Descrive le pose e i cambiamenti di posa.
Definizione
SE(3), il gruppo euclideo speciale in tre dimensioni, contiene tutte le trasformazioni di corpo rigido: una rotazione R di SO(3), il gruppo delle matrici ortonormali 3×3 con determinante +1, insieme a un vettore di traslazione p. Scritta come matrice omogenea 4×4 con R in alto a sinistra, p nella colonna di destra e [0 0 0 1] come ultima riga, la composizione di due moti è una moltiplicazione tra matrici, e l'inversa ha rotazione Rᵀ e traslazione −Rᵀp. Un elemento di SE(3) può descrivere una posa, cioè la posizione e l'orientamento di un sistema di coordinate rispetto a un altro, oppure un moto che porta punti da un sistema di coordinate a un altro. Ha sei gradi di libertà, tre rotazionali e tre traslazionali; «speciale» significa che le riflessioni sono escluse.
SE(3) è un gruppo di Lie, uno spazio curvo e liscio che è anche un gruppo, e non è uno spazio vettoriale: sommare due pose o mediare matrici elemento per elemento non dà una posa valida. Il suo spazio tangente nell'identità, l'algebra di Lie se(3), è formato da twist a sei dimensioni che combinano velocità angolare e lineare. La mappa esponenziale trasforma un twist in una trasformazione, e il logaritmo fa il percorso inverso. Queste mappe sono alla base della formula del prodotto di esponenziali per la cinematica, dell'ottimizzazione sulla varietà usata nello SLAM e nei solver di grafi delle pose, dove gli aggiornamenti si applicano come piccoli twist, e di interpolazione e incertezza corrette per le pose. Il corrispettivo planare SE(2) ha tre gradi di libertà, x, y e direzione, e si usa per i robot mobili e per oggetti vincolati a un piano, come un oggetto stretto tra le ganasce parallele di una pinza.
Le pose in SE(3) si possono memorizzare come matrici omogenee, come una rotazione (matrice di rotazione, quaternione unitario o asse-angolo) più un vettore di traslazione, come quaternioni duali o in coordinate di twist. Nell'apprendimento, le reti che producono pose devono trattare con cura la parte di rotazione, poiché i quaternioni coprono ogni rotazione due volte e alcune parametrizzazioni sono discontinue. Le reti SE(3)-equivarianti integrano la simmetria del gruppo nella loro struttura, così che le loro uscite si trasformano in modo coerente quando la scena in ingresso viene ruotata o traslata.
Perché è importante
Ogni sistema di coordinate, ogni parametro estrinseco di un sensore, ogni target dell'end effector e ogni posa di un oggetto in un robot è un elemento di SE(3). Trattarlo come un gruppo anziché come dodici numeri indipendenti evita bug comuni come matrici di rotazione che derivano, ordine di composizione sbagliato e medie non valide, e rende corrette l'ottimizzazione e le stime d'incertezza.
Applicazioni principali
- Cinematica diretta e target di posa dell'end effector
- SLAM, odometria visiva e ottimizzazione di grafi delle pose
- Stima della posa degli oggetti per la presa
- Interpolazione di traiettorie tra pose
- Calibrazione dei parametri estrinseci dei sensori
- Apprendimento equivariante per la manipolazione
In pratica
In un compito di prelievo, la cinematica diretta fornisce la posa della pinza nel sistema di coordinate della base, la calibrazione mano-occhio fornisce la posa della telecamera nel sistema di coordinate della pinza e uno stimatore di posa fornisce la posa dell'oggetto nel sistema di coordinate della telecamera. La posa dell'oggetto nel sistema di coordinate della base è il prodotto delle tre trasformazioni, in quell'ordine, e una convenzione coerente per i nomi dei sistemi di coordinate evita di confondere l'ordine. Quando fonde diverse stime di posa, il team media le rotazioni su SO(3), per esempio con la media di quaternioni o con una media iterativa nello spazio tangente, anziché mediare gli elementi delle matrici. Librerie come Sophus, manif e tf2 in ROS gestiscono queste operazioni.
Idee sbagliate comuni
- Le pose si possono mediare o interpolare elemento per elemento — il risultato in generale non è una rotazione valida; media e interpolazione devono rispettare la struttura di gruppo
- SE(3) è solo SO(3) affiancato a un vettore di traslazione — gli elementi sono gli stessi, ma quando si compongono i moti la rotazione agisce sulla traslazione, quindi la regola di composizione è diversa
- Gli angoli di Eulero più una posizione sono una rappresentazione generale sicura — coprono SE(3) ma hanno singolarità; quaternioni o matrici di rotazione le evitano
Chi dovrebbe saperlo
- Ingegneri software di robotica che lavorano con i sistemi di coordinate
- Ingegneri di SLAM e stima dello stato
- Ingegneri di cinematica e manipolazione
- Ricercatori di machine learning che predicono pose
Tecnologie correlate
- SO(3)
- Algebra di Lie se(3) (Lie Algebra se(3))
- Matrice di trasformazione omogenea (Homogeneous Transformation Matrix)
- Quaternioni (Quaternions)
- Sophus
- tf2
Termini correlati
Progetti correlati
- AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- manif: Header-only C++ Lie theory library for robotics state estimation
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation