SE(3)
- Also called: special Euclidean group, SE3, rigid-body transformation group
- Category: Foundations & spatial maths › Frames & transforms
- Tags: lie-groups, rigid-body-motion, spatial-math, kinematics, pose-estimation
The group of rigid-body motions in 3D space, every rotation combined with every translation, usually written as 4×4 homogeneous transformation matrices. It describes poses and changes of pose.
Definition
SE(3), the special Euclidean group in three dimensions, contains every rigid-body transformation: a rotation R from SO(3), the group of 3×3 orthonormal matrices with determinant +1, together with a translation vector p. Written as a 4×4 homogeneous matrix with R in the upper left, p in the right-hand column and [0 0 0 1] as the bottom row, composing two motions is matrix multiplication, and the inverse has rotation Rᵀ and translation −Rᵀp. An element of SE(3) can describe a pose, the position and orientation of one frame relative to another, or a motion that carries points from one frame to another. It has six degrees of freedom, three rotational and three translational; "special" means reflections are excluded.
SE(3) is a Lie group, a smooth curved space that is also a group, and it is not a vector space: adding two poses or averaging matrices entry by entry does not give a valid pose. Its tangent space at the identity, the Lie algebra se(3), consists of six-dimensional twists combining angular and linear velocity. The exponential map turns a twist into a transform, and the logarithm maps back. These maps underlie the product of exponentials formula for kinematics, the on-manifold optimization used in SLAM and pose-graph solvers, where updates are applied as small twists, and correct interpolation and uncertainty for poses. The planar counterpart SE(2) has three degrees of freedom, x, y and heading, and is used for mobile robots and for objects constrained to a plane, such as an object pinched between the parallel jaws of a gripper.
Poses in SE(3) can be stored as homogeneous matrices, as a rotation (rotation matrix, unit quaternion or axis-angle) plus a translation vector, as dual quaternions, or in twist coordinates. In learning, networks that output poses must handle the rotation part with care, since quaternions cover each rotation twice and some parameterizations are discontinuous. SE(3)-equivariant networks build the group's symmetry into their structure, so their outputs transform consistently when the input scene is rotated or translated.
Why it matters
Every coordinate frame, sensor extrinsic, end-effector target and object pose in a robot is an element of SE(3). Treating it as a group rather than as twelve independent numbers avoids common bugs such as drifting rotation matrices, wrong composition order and invalid averaging, and it makes optimization and uncertainty estimates correct.
Key applications
- Forward kinematics and end-effector pose targets
- SLAM, visual odometry and pose-graph optimization
- Object pose estimation for grasping
- Interpolating trajectories between poses
- Calibrating sensor extrinsics
- Equivariant learning for manipulation
In practice
In a pick task, forward kinematics gives the gripper pose in the base frame, hand-eye calibration gives the camera pose in the gripper frame, and a pose estimator gives the object pose in the camera frame. The object pose in the base frame is the product of the three transforms, in that order, and a consistent naming convention for frames prevents the order from being mixed up. When fusing several pose estimates, the team averages rotations on SO(3), for example with quaternion averaging or an iterative mean in the tangent space, rather than averaging matrix entries. Libraries such as Sophus, manif and tf2 in ROS handle these operations.
Common misconceptions
- Poses can be averaged or interpolated entry by entry — the result is generally not a valid rotation; averaging and interpolation must respect the group structure
- SE(3) is just SO(3) and a translation vector side by side — the elements are the same, but when motions are composed the rotation acts on the translation, so the composition rule differs
- Euler angles plus a position are a safe general representation — they cover SE(3) but have singularities; quaternions or rotation matrices avoid them
Who should know this
- Robotics software engineers working with coordinate frames
- SLAM and state estimation engineers
- Kinematics and manipulation engineers
- Machine learning researchers who predict poses
Related technologies
- SO(3)
- Lie Algebra se(3)
- Homogeneous Transformation Matrix
- Quaternions
- Sophus
- tf2
Related terms
Related projects
- 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