SE(3)
- Também chamado: special Euclidean group, SE3, rigid-body transformation group
- Categoria: Foundations & spatial maths › Frames & transforms
- Tags: lie-groups, rigid-body-motion, spatial-math, kinematics, pose-estimation
O grupo dos movimentos de corpo rígido no espaço 3D, toda rotação combinada com toda translação, geralmente escrito como matrizes de transformação homogênea 4×4. Ele descreve poses e mudanças de pose.
Definição
SE(3), o grupo euclidiano especial em três dimensões, contém todas as transformações de corpo rígido: uma rotação R de SO(3), o grupo das matrizes ortonormais 3×3 com determinante +1, junto com um vetor de translação p. Escrita como uma matriz homogênea 4×4 com R no canto superior esquerdo, p na coluna da direita e [0 0 0 1] como linha inferior, a composição de dois movimentos é uma multiplicação de matrizes, e a inversa tem rotação Rᵀ e translação −Rᵀp. Um elemento de SE(3) pode descrever uma pose, a posição e a orientação de um sistema de coordenadas em relação a outro, ou um movimento que leva pontos de um sistema de coordenadas para outro. Ele tem seis graus de liberdade, três de rotação e três de translação; "especial" significa que as reflexões são excluídas.
SE(3) é um grupo de Lie, um espaço curvo e suave que também é um grupo, e não é um espaço vetorial: somar duas poses ou fazer a média de matrizes elemento a elemento não dá uma pose válida. Seu espaço tangente na identidade, a álgebra de Lie se(3), é formado por twists de seis dimensões que combinam velocidade angular e linear. O mapa exponencial transforma um twist em uma transformação, e o logaritmo faz o caminho inverso. Esses mapas estão na base da fórmula do produto de exponenciais para a cinemática, da otimização sobre a variedade usada em SLAM e em solvers de grafos de poses, em que as atualizações são aplicadas como pequenos twists, e da interpolação e da incerteza corretas para poses. Seu equivalente planar SE(2) tem três graus de liberdade, x, y e rumo, e é usado para robôs móveis e para objetos restritos a um plano, como um objeto pinçado entre as mandíbulas paralelas de uma garra.
Poses em SE(3) podem ser armazenadas como matrizes homogêneas, como uma rotação (matriz de rotação, quatérnio unitário ou eixo-ângulo) mais um vetor de translação, como quatérnios duais ou em coordenadas de twist. No aprendizado, redes que geram poses precisam tratar a parte de rotação com cuidado, já que os quatérnios cobrem cada rotação duas vezes e algumas parametrizações são descontínuas. Redes SE(3)-equivariantes incorporam a simetria do grupo em sua estrutura, de modo que suas saídas se transformam de forma consistente quando a cena de entrada é rotacionada ou transladada.
Por que importa
Todo sistema de coordenadas, todo parâmetro extrínseco de sensor, todo alvo do efetuador final e toda pose de objeto em um robô é um elemento de SE(3). Tratá-lo como um grupo, e não como doze números independentes, evita bugs comuns como matrizes de rotação que derivam, ordem de composição errada e médias inválidas, e torna corretas a otimização e as estimativas de incerteza.
Principais aplicações
- Cinemática direta e alvos de pose do efetuador final
- SLAM, odometria visual e otimização de grafos de poses
- Estimativa de pose de objetos para preensão
- Interpolação de trajetórias entre poses
- Calibração dos parâmetros extrínsecos de sensores
- Aprendizado equivariante para manipulação
Na prática
Em uma tarefa de pegar objetos, a cinemática direta dá a pose da garra no sistema de coordenadas da base, a calibração mão-olho dá a pose da câmera no sistema de coordenadas da garra e um estimador de pose dá a pose do objeto no sistema de coordenadas da câmera. A pose do objeto no sistema de coordenadas da base é o produto das três transformações, nessa ordem, e uma convenção de nomes consistente para os sistemas de coordenadas evita que a ordem seja trocada. Ao fundir várias estimativas de pose, a equipe faz a média das rotações em SO(3), por exemplo com média de quatérnios ou com uma média iterativa no espaço tangente, em vez de fazer a média dos elementos das matrizes. Bibliotecas como Sophus, manif e tf2 no ROS cuidam dessas operações.
Equívocos comuns
- Poses podem ser promediadas ou interpoladas elemento a elemento — o resultado em geral não é uma rotação válida; média e interpolação precisam respeitar a estrutura de grupo
- SE(3) é só SO(3) e um vetor de translação lado a lado — os elementos são os mesmos, mas quando movimentos são compostos a rotação atua sobre a translação, então a regra de composição é diferente
- Ângulos de Euler mais uma posição são uma representação geral segura — eles cobrem SE(3), mas têm singularidades; quatérnios ou matrizes de rotação as evitam
Quem deve saber
- Engenheiros de software de robótica que trabalham com sistemas de coordenadas
- Engenheiros de SLAM e de estimação de estado
- Engenheiros de cinemática e manipulação
- Pesquisadores de machine learning que predizem poses
Tecnologias relacionadas
- SO(3)
- Álgebra de Lie se(3) (Lie Algebra se(3))
- Matriz de transformação homogênea (Homogeneous Transformation Matrix)
- Quatérnios (Quaternions)
- Sophus
- tf2
Termos relacionados
Projetos relacionados
- 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