This note covers some of the fundamental concepts in Lie group and Lie algebra, and their applications to representing rigid body motion in robotics.
Matrix Lie Groups
A group is a set G equipped with a binary map ⋅:G×G→G satisfying the following properties:
Closure: ∀a,b∈G,a⋅b∈G.
Associativity: ∀a,b,c∈G,(a⋅b)⋅c=a⋅(b⋅c).
Identity: ∃e∈G,s.t.∀a∈G,a⋅e=e⋅a=a.
Inverse: ∀a∈G,∃a−1∈G,s.t.a⋅a−1=a−1⋅a=e.
Here, it’s better to understand the element of a group as a kind of operation or transformation (e.g., a rotation or a rigid body transformation) rather than a number or a vector. These groups turn out to be also differentiable manifolds, which makes them Lie groups.
Special Orthogonal Group, SO(n)
To represent a rotation formally, we need to consider the properties that define a rotation. In general, a rotation should be
Linear, so it can be represented as a matrix R.
Preserves length and angles, so for any vector v and w, v⋅w=(Rv)⋅(Rw).
Note, from this property,
v⊤w=(Rv)⊤(Rw)=vR⊤Rw
which means the matrix R has to satisfy the following
R⊤R=I
Preserves orientation (no mirroring), so det(R)>0.
Given the previous property
det(R⊤R)=det(R⊤)⋅det(R)=(det(R))2=1
we have
det(R)=1
In fact, these properties give rise to a group called the special orthogonal group,
SO(n)={R∈Rn×n∣R⊤R=I,det(R)=1}
which is a group of all rotations about the origin in an n dimensional Euclidean space.
Special Euclidean Group, SE(n)
The general way to represent the motion of a rigid body is a transformation that
Preserves the Euclidean distance, ∥f(x)−f(y)∥=∥x−y∥.
Preserves the orientation.
All such transformation forms a group called the special Euclidean group, SE(n).
Intuitively, such transformation can be represented by a function f:Rn→Rn, where
f(x)=Rx+p,R∈SO(n)andp∈Rn
However, the function f is not linear and thus cannot be represented by a matrix, which causes inconvenience. The general trick to solve this problem is to augment the dimension by 1. For x∈Rn, define x∈Rn+1 and T∈R(n+1)×(n+1) such that
x=[x1],T=[R01×np1],Tx=f(x)
so the transformation becomes matrix vector multiplication.
Importantly, every Lie algebra g is associated to a Lie group G, which is the tangent space of the identity of the Lie group, denoted as g=TeG, and it completely captures the local structure of the group. In the case of robot motion, we can think of a trajectory that lives in the Lie group while the velocity lives in the Lie algebra.
Exponential Map
Let G be a Lie group and g be its Lie algebra, first we need to define a few notations:
A curve in G is defined as a function γ:R→G that maps each real number t∈R to an element of the group G.
The derivative of γ, denoted as γ˙, evaluated at a specific time t, γ˙(t), is a vector in the tangent space. Suppose γ(t)=g, then γ˙(t)∈TgG.
Left translation: For a specific element g∈G, define the map Lg:G→G,x↦gx as the left translation. Example: if G=SO(3), and g=R, then LR(Q)=RQ.
Left-invariant vector field: For a vector ξ∈g, the left-invariant vector field Xξ is defined at any point g∈G by Xξ(g)=(dLg)e(ξ).
Basically, start from a velocity vector ξ∈g, which has to stars at the origin e (identity). Then, you map this velocity vector to another vector in the tangent space to a group element g, i.e., TgG.
Now, suppose you have a curve γξ that starts at the identity with velocity ξ, then, for any t∈R, we have
dtdγξ(t)=γ˙ξ(t)=Xξ(γξ(t))
The above equation can be thought of as a “differential equation” whose solution is
γξ(t)=exp(tξ)
Let t=1, the exponential map can be defined as
exp:g→G,exp(ξ)=γξ(1)
Takeaway: The exponential and logarithmic maps bridge the Lie group and its associated Lie algebra. Since Lie group is a “curved manifold” and some operations (e.g., optimizations) do not apply to it, and the Lie algebra is a flat vector space and most operations are well defined, a common paradigm is to lift group elements to Lie algebra using log map, solve the problem in Lie algebra, and bring it back to Lie group using exponential map.
Conjugation and Adjoint Map
Let G be a matrix Lie group with Lie algebra g. For a specific element g∈G, the conjugation map is defined as Cg:G→G,x↦gxg−1.
The derivative of the conjugation map evaluated at the identity, (dCg)e:g→g is defined as the adjoint map, denoted as Adg. For any ξ∈g, there exist a curve γξ(t)∈G such that ξ=γ˙ξ(0) and γξ(0)=e, then
Adg(ξ)=(dCg)e(ξ)=dtdgγξ(t)g−1t=0=gξg−1
A conjugation map is a change of basis transformation for an element in the Lie group.
An adjoint map is a change of basis transformation for an element in the Lie algebra.
Angular Velocity and Twist, so(3),se(3)
Let R(t)∈SO(3) be a smooth trajectory. By differentiating the orthogonality constraint, i.e., equation (1),
dtd(R⊤R)=R˙⊤R+R⊤R˙=0
which means,
R˙⊤R=−R⊤R˙=−(R˙⊤R)⊤
Suppose R(0)=I, then R˙(0) would be an element of the Lie algebra by definition, and we have R˙(0)⊤=−R˙(0). Therefore, the Lie algebra associated to the 3-dimensional rotation group is
so(3)={Ω∈R3×3∣Ω⊤=−Ω}
which consists of all skew-symmetric matrices. Obviously, a 3 by 3 skew-symmetric matrix should look like
Ω=0ωz−ωy−ωz0ωxωy−ωx0,ωx,ωy,ωz∈R
This means we can define a vector ω=[ωx,ωy,ωz]⊤∈R3 to represent the matrix Ω, often denoted as ω∧=Ω or ⌊ω⌋×=Ω
Notice that from equation (3), R˙⊤R and R⊤R˙ are skew-symmetric, which makes them element of so(3). Thus, we can define two vectors ωb,ωs∈R3 such that
ωb∧=R⊤R˙,ωs∧=R˙R⊤
where ωs is the spatial angular velocity and ωb is the body angular velocity. From equation (4), naturally
R˙=Rωb∧R˙=ωs∧R
These two equations are known as the reconstruction equation or the equation of motion. It’s better to interpret the subscript b and s as
If the rotation matrix is multiplied on the left, then the velocity is in the body frame.
If the rotation matrix is multiplied on the right, then the velocity is in the spatial frame.
Similarly, we can derive the Lie algebra of SE(3) as
se(3)={Ξ∈R4×4∣Ξ=[ω∧0v0],ω∧∈so(3),v∈R3}
which is a 6-dimensional vector space, each element of which can be identified with a vector known as the twist,ξ=[ω,v]∈R6, often denoted as ξ∧=Ξ. The reconstruction equation or equation of motion can be written as
T˙=Tξb∧T˙=ξs∧T
Reference
[1] T. D. Barfoot, State Estimation for Robotics. Cambridge University Press, 2024. [2] M. Ghaffari, ROB530 Lecture Slides — Matrix Lie Groups, Robot Motion. University of Michigan, 2026.
In common engineering problems, the optimization problem is to minimize the residual of a parametric model with respect to some observed data points.Given N...
Besides state estimation or localization, which provide a robot with knowledge of where it is, it’s equally important for a mobile robot to perceive its surr...
In robot state estimation, the Bayes filter is a probabilistic approach that estimates the state from a sequence of controls and measurements by recursively ...
Two fundamental equations in acoustics areContinuity EquationThe continuity equation states that the rate at which mass enters a system is equal to the rate ...