10 Introduction to Lie Theory and its Application to Robotics

Aayush Rai

Chapter 10 Introduction to Lie Theory and its Application to Robotics

10.1. Introduction

10.2. Basic concepts in Lie theory

      10.2.1 Smooth manifolds

10.2.2 Lie theory

      10.2.3 Lie groups

      10.2.4 Lie group action

      10.2.5 Tangent space and Lie algebra

      10.2.6 Generators of Lie groups

      10.2.7 Lie bracket

      10.2.8 Exponential and Logarithmic map

      10.2.9 Baker Campbell Husdorff (BCH) Formula

      10.2.10 Hat and Vee map

10.3. Application to advanced manufacturing

      10.3.1. Screw Theory

      10.3.2. Computer Vision

      10.3.3. Rigid body control

10.4. Summary

Practice Problems

Simulations

References

10.1. Introduction

 

In this chapter, we will briefly introduce the concepts surrounding Lie theory and how they may be applied to robotics applications in advanced manufacturing. We will introduce the idea behind smooth manifolds and then describe how they tie to Lie groups and Algebra. We will then discuss important properties related to Lie groups and how exploiting their smooth structure and diffeomorphism with Lie algebra allows us to work in the tangent space embedded in \mathbb{R}^n, a linear space more familiar to us for performing calculus and calculations.

This chapter introduces basic concepts regarding manifolds and differential geometry, enabling us to perform geometric control of mechanical systems. The advantages of working on a manifold structure as opposed to a Euclidean structure that we are familiar with are discussed. Lie theory, in general, is a very Mathematically heavy subject requiring a rigorous background in topology, differentiable geometry, and multivariable calculus. This chapter serves as a beginner-friendly introduction to basic concepts and their implications in the vast field of robotics.

The next two sections of this chapter will be focused on introductory theory regarding Lie algebra and its application in robotics for manufacturing.

 

10.2. Basic Concepts in Lie theory

 

This section will explain various concepts that will help us form some basic intuition behind how Lie theory can be utilized for robotics applications. Note that Lie theory requires vast prerequisite knowledge to understand its intricacies. However, we will be introducing basic concepts regarding Lie theory. We will focus on inculcating a general understanding of the advantages of working with Lie theory and how they translate into robotics.

 

10.2.1. Smooth Manifolds

 

Generally, a manifold can intuitively be understood as a generalization of curves and surfaces to higher dimensions; an example is shown in Figure 10.1.

 

Figure 10.1  3-D Ring Torus representing a smooth manifold

Created by Aayush Rai based on information from [1]

 

To give a more precise definition, a real n-dimensional manifold M  is a topological space that is homeomorphic to the Euclidean space \mathbb{R}^n at each point. In simple terms, this means that a manifold locally resembles the Euclidean space near each point. That is, if you zoom in enough on a manifold, the underlying structure will appear to be in \mathbb{R}^n.

 

Figure 10.2. Manifold projection into \mathbb{R}^n

Created by Aayush Rai based on information from [1]

 

Throughout this chapter, we will only be concerned with smooth manifolds. As the name implies smooth manifolds can be quite simply visualized as surfaces and shapes embedded in higher dimensions that have no ‘edges’ or discontinuities. In order to transfer over the concepts of calculus such as differentiation and integration or solving ODE  ’s (Ordinary Differential Equations) which are vital to the field of robotics, we require some notion of ‘smoothness’. The main reason for this is that a smooth manifold that can be projected into \mathbb{R}^n locally would enable us to perform all such calculations and to define smooth functions in the curved space itself. The smooth structure of a manifold also implies the existence of a unique tangent space at each point which will be discussed later.

An example of a smooth manifold can be a 3-Dimensional sphere which may be locally approximated to \mathbb{R}^2 as shown in Figure 10.2. So in this particular case, one basic thing to keep in mind is that intuitively, one would like to say that the sphere is a 3-dimensional manifold but that would be wrong, look back on the definition and remember that the dimension of a manifold is determined by the dimension of \mathbb{R}^2 that it looks like locally, so a sphere is a 2-dimensional manifold. Similarly, let’s consider a circle as a manifold, since locally, it is embedded in \mathbb{R} (looks like a line locally), it is a 1-dimensional manifold.

Another way to look at manifolds is that it describes or is defined by the constraints on the state. For example, vectors with the unit norm constraint define a spherical manifold of radius one.

Discussion on the underlying topology of smooth manifolds is omitted here, the reader can refer to [1] for a more rigorous discussion.

 

10.2.2. Lie theory

 

The mathematician Sophus Lie (LEE) initiated lines of study of Lie theory [19] and discovered that the continuous groups (Lie groups) could be better understood by linearizing them and studying the corresponding vector fields which is called the Lie algebra.

Lie theory is concerned with the study of Lie groups which are high-dimensional smooth manifolds with a group topology. The tangent space of these groups is a linear space that encapsulate all the information about the group itself.  Such a tangent space evaluated at the ‘identity’ elements of the group is called the Lie algebra of the group. As we will see in later sections, the tangent space of a Lie group evaluated at identity has a nice linear structure with some nice properties that enable us to identify Lie group elements by its Lie algebra. (Note: for now, you can think of the ‘identity’ element of a group as something when multiplied by an element of a group returns the group element itself.)

 

10.2.3 Lie Groups

 

A Lie group G  is defined as a smooth manifold that also satisfies the group properties. Let us review the group axioms briefly.

 

A group (\mathcal{G}, \circ) is a set \mathcal{G} with a composition operation  \circ  that, for elements \mathcal{X}, \mathcal{Y}, \mathcal{Z} \in \mathcal{G} satisfies the following axioms.

              Closure under { }^{\prime} \circ ': \mathcal{X} \circ \mathcal{Y} \in \mathcal{G}       (10.1)
Identity \varepsilon: \varepsilon \circ X=X \circ \varepsilon=X

Inverse X^{-1}: X^{-1} \circ X=X \circ X^{-1}=\varepsilon
Associativity : (\mathcal{X} \circ \mathcal{Y}) \circ Z=X \circ(\mathcal{Y} \circ Z)

A Lie group G is characterized by a unique identity element e \in G and the two group operations of multiplication and inversion:

\begin{gathered} g_1 g_2: G \times G \rightarrow G, \\ g^{-1}: G \rightarrow G \end{gathered}     (10.2)

where g_1, g_2 \in G.

Let us look at what these properties mean. The first property of equation (10.2)   says that the composition of two elements of the Lie group stays within the group itself and the second property says that all elements within the Lie group have an inverse that is also within the group itself. Also, all Lie groups have an identity element. Without diving too deep into the topology of sets themselves, what we can understand from this is that if we have a set of elements that satisfy the group axioms in equation (10.1) and Lie group properties given in equation (10.2), the set itself is endowed with a ‘smooth’ structure [1].

Let us consider an example of a common Lie group that are frequently used in robotics, i.e., the Special Orthogonal SO(3) group of rotations.

S O(3)=\left\{R \in \mathbb{R}^{3 \times 3}: R^{\top} R=I, \operatorname{det}(R)=1\right\}     (10.3)

Elements of this group are called rotation matrices R and this group encompasses all possible 3-D rotations. As the name of the group suggests, elements of this group are orthogonal with determinant equal to one. It is easy to verify that rotation matrices satisfy properties given in equation (10.1) and equation (10.2) imposed by the group structure. We know by composition of rotations that the multiplication of two rotation matrices also gives us a rotation matrix and that their inverses exist and are also rotation matrices. Also, the ‘identity’ element of this group is the 3X3 identity matrix I. Since from eq (10.3), we can see that R^{\top} R=I , and for rotation matrices, we know that R^{-1}=R^T, hence the inverse property associated to the identity element of the group is satisfied as well.

 

Some of the applications of rotation matrices are [2]:

  • Multiplication by a rotation matrix can change the orientation of a vector.
  • A rotation matrix by itself also represents a position.
  • A base reference frame can be multiplied by a rotation matrix to get a new frame.

Another common Lie group used in robotics is the Special Euclidean group SE(3). Elements of this group are called the homogenous transformation matrices and they map rigid body motions.

S E(3)=\left\{\boldsymbol{H}\left|\boldsymbol{H}=\left[\begin{array}{cc} R & \mathbf{r} \\ \mathbf{0}_{1 \times 3} & 1 \end{array}\right], R \in \mathbb{R}^{3 \times 3}, \mathbf{r} \in \mathbb{R}^3, R^T R=R R^T=\mathbb{I},\right||R|=1\right\} (10.4)

This group encapsulates rotation as well as translation of a rigid body as opposed to just rotation which we just saw for SO(3). Here, the rotation matrix R accounts for the rotation of the rigid body and r \in \mathbb{R}^3 comprises of the x,y,z values of the displacement of the rigid body. The application of these matrices is similar to rotation matrices, only instead of just rotation, translation plus rotation takes place.

 

Throughout this chapter, we will be focusing on these two Lie groups that are very prominent in robotics namely the SO(3) group of rotations and the SE(3) group of rigid body motions. All the concepts covered from here will be explained on either of these two Lie groups.

 

10.2.4. Lie group action

 

In this section, we will discuss how Lie groups can transform other sets to perform rotations, translations etc. We will give a formal definition first and then illustrate this using examples.

Given a Lie group G and a set \mathcal{V}, we note G \cdot v the action of \mathcal{X} \in G on v \in \mathcal{V},

\cdot : G \times \mathcal{V} \rightarrow \mathcal{V} ;(\mathcal{X}, v) \mapsto \mathcal{X} \cdot v

Here . represents the action between the Lie group and the set \mathcal{V}. It is defined as a mapping from G \times \mathcal{V} to \mathcal{V}, which means that when a Lie group action is performed on an element of a set \mathcal{V}, then the result is also an element in \mathcal{V} which has been appropriately transformed.

For  · to be a group action, it must satisfy the following axioms,

1) Identity: \mathcal{E} \cdot v=v, where \mathcal{E} is the identity element of the group.
2) Compatibility: (\mathcal{X} \cdot \mathcal{y}) \cdot v=\mathcal{X} \cdot(\mathcal{Y} \cdot v)

Let us see how this action takes place using S O(3) and S E(3) Lie groups:

S O(3) : rotation matrix \quad R \cdot \mathbf{x} \triangleq R \mathbf{x}
S E(3) : Euclidean matrix H \cdot \mathbf{x} \triangleq R \mathbf{x}+\mathbf{r}

 

In the first case, the vector \mathbf{x} is rotated through the action of the S O(3) Lie group on it and in the second case, the vector is rotated and translated by the action of the S E(3) Lie group on it.

 

10.2.5. Tangent Space and the Lie Algebra

 

The main advantage of Lie theory is that a curved object such as a Lie group G can be identified by its linear tangent space T_e G at the identity e [3]. Note that whenever we talk about the tangent space T, the subscript refers to the point on the manifold at which the tangent space is evaluated. As mentioned before, a manifold being smooth such as the ones endowed with a group structure (Lie groups) have a unique tangent space at each point and their structure remains the same at all points as well. Because they have a unique tangent space at each point, we can accurately map back and forth between the tangent space and the group without worrying about uniqueness, also since the underlying structure remains the same, we are able to work on the linear tangent space which has the same dimension everywhere throughout the manifold. Now we are starting to build some intuition on why it is always smooth manifolds that we are interested in.

Figure 10. 3. Manifold \mathcal{M} and its tangent space \mathcal{T}_x \mathcal{M} at some point \mathcal{X} \in \mathcal{M}

Created by Aayush Rai based on information from [5]

 

The Lie algebra of a Lie group is defined as its tangent space at the identity. The tangent space of a Lie group G at the identity consists of the tangent vectors to smooth paths in G where they pass through \mathbf{1}.

Note: ‘ \mathbf{1} ‘ here refers to the identity element of the group.

Let us consider a path A(t) in G, it is called smooth if the time derivative \dot{A}(t) exists and if A(0)=\mathbf{1}, we call \dot{A}(0) the tangent or velocity vector of A(t) at 1 .

Let us derive the Lie algebra for matrix Lie groups. As discussed before, tangent space elements at 1 of a group G are matrices X of the form.

X=\dot{A}(0)

where A(t) is a smooth path in G with A(0)=\mathbf{1}, which means that the path is passing through 1 at time t=0. Tangent vectors can be viewed as velocity vectors of points moving smoothly through the point 1 of the group. Let’s take a simple example of an S O (2) matrix, i.e., consider a Lie group of 2-D rotations as follows:

A(t)=\left(\begin{array}{cc} \cos \theta t & -\sin \theta t \\ \sin \theta t & \cos \theta t \end{array}\right)    (10.5)

This matrix represents a smooth path through 1 since A(0)=1. The derivative of the matrix gives us

\dot{A}(t)=\left(\begin{array}{cc} -\theta \sin \theta t & -\theta \cos \theta t \\ \theta \cos \theta t & -\theta \sin \theta t \end{array}\right)

The corresponding tangent vector at \mathrm{t}=0 will be

\dot{A}(0)=\left(\begin{array}{cc} 0 & -\theta \\ \theta & 0 \end{array}\right)

Let us look at what this means geometrically. This means that all tangent vectors at the identity form the 1-dimensional vector space of real multiples of the matrix i=\left(\begin{array}{cc}0 & -1 \\ 1 & 0\end{array}\right). What this means is that any point on the tangent space of the S O(2) manifold with respect to the identity element can be recognized by multiplying \theta with i and this Lie algebra element can be mapped back into the S O(2) group by taking its matrix exponential which will be introduced later.

Another important thing to remember is that the dimension of the tangent space of a manifold is always equal to the dimension of the manifold itself.

Figure 10.4. S O(2) manifold and its tangent space at identity e and an arbitrary point.

Created by Aayush Rai based on information from [5]

 

This makes sense since we know that the S O(2) manifold is the group of 2-D rotations represented by a circle which is a 1-dimension manifold embedded in 2 dimensions. Recall our definition of manifolds, their dimension is determined by the dimension of the Euclidean space they are homeomorphic to. Since in this case, we can see that locally, the circle will look like a line embedded in \mathbb{R}, so its tangent space will also be embedded in \mathbb{R} as well, which means a straight line basically. The tangent space of S O(2) at 1 will be a line as can be seen in figure 10.4. We can also get some sense of the identity element of a group through the figure, here the identity element e corresponds to a 0 degree 2-D rotation and as we move along the circle, the value of \theta will change and so will the group elements and the corresponding tangent space, as shown in figure 10.4 for some arbitrary point p. So, substituting \theta=0 in equation (10.5), we can get the identity element of the group as the 2X2 identity matrix.

e=\left(\begin{array}{ll} 1 & 0 \\ 0 & 1 \end{array}\right)

Note that this is a very basic example of a very simple manifold to motivate the understanding of the concept of the identity element of a group and its corresponding tangent space so that they can be thought of in an abstract sense and not necessarily in the context of trivial manifolds.

We are now able to discuss the tangent space of S O(n) and its corresponding Lie algebra. Before we do that, lets formally define S O(n) as a group.

The rotation group in n-dimensional Euclidean space, S O(n), is a continuous group, and can be defined as the set of n by n matrices satisfying the relations [4]:

\begin{aligned} & R^T R=1 \\ & \operatorname{det} R=1 \end{aligned}

We know that S O(3) represents the 3-dimensional rotation group. Similarly, we can think of S O(n) as an n-dimensional rotation group that rotates n planes at once.

We know that for A \in S O(n) satisfies A A^T=1. Let A=A(t) be a smooth path originating from 1

A(t) A(t)^T=1    (10.6)

Taking the derivative of equation (10.6), we get

\dot{A}(t) A(t)^T+A(t) \dot{A}(t)^T=0   (10.7)

For t=0, substituting A(0)=1=A(0)^T in equation (10.7), we get

A(0)+\dot{A}(0)^{\mathrm{T}}=0    (10.8)

So, any tangent vector X=\dot{A}(0) that satisfies X+X^T=0 is part of the tangent space at identity.

The matrices X that satisfies equation (10.8) are skew symmetric since we have X=-X^{\top}.

Now, let’s look back to elementary calculus from which we know that e^{A+B}=e^A e^B for any commuting variables A and B.

What’s remarkable is that the matrices X and X^T appearing in the condition we have for the tangent space of S O(n) matrices, i.e., X+X^T=0, also commute. This means that we can identify the elements of the Lie group from its Lie algebra by taking the matrix exponential of the skew symmetric matrices.

e^X e^{X^T}=e^{X+X^T}=I

Also, we can show that \theta^x is an orthogonal matrix as expected because

e^X e^{X^T}=e^X\left(e^X\right)^{\top}=1

To summarize, what we have derived just now is that the tangent space for S O(n) matrices are skew-symmetric matrices which can also be mapped back as group elements by taking the matrix exponential of these matrices [3].

Consider an example of a rotation matrix R(t) \in S O(3) representing the 3-D group of rotations, so we have

R(t) R(t)^T=I    (10.9)

Taking the derivative of Equation (10.9), we get

\dot{R}(t) R(t)^{\mathrm{T}}+R(t) \dot{R}(t)^{\mathrm{T}}=0

From this, we can infer that \dot{R}(t) R(t)^{\mathrm{T}} is a skew-5ymmetric matrix [5], now for t=0, we get R(0)=I_{3 \times 3} and

\dot{R}(t) R(t)^{\mathrm{T}}=[\omega]_x=\left[\begin{array}{ccc} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{array}\right]    (10.10)

where \omega=\left(\omega_x, \omega_y, \omega_z\right)^T \in \mathbb{R}^3 is the vector of angular velocities. The tangent space of S O(3) at identity is denoted by so(3) (also called the Lie algebra of S O(3) ) whose elements are skew-symmetric matrices.

10.2.6. Generators of Lie Groups

We will directly illustrate generators of Lie groups through an example on S O(3). Intuitively, we can think of generators of a Lie group as the basis of the corresponding Lie algebra.

Let us look back at the skew-symmetric matrix for the Lie algebra of S O(3) in equation (10.10)

[\omega]_x=\left[\begin{array}{ccc} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{array}\right]

The generators of so(3) correspond to the derivatives of rotation around each of the standard axes evaluated at the identity [11]. The corresponding generators are

E_1=\left(\begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{array}\right), E_2=\left(\begin{array}{ccc} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{array}\right), E_3=\left(\begin{array}{ccc} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right)

These can be seen as the decomposition of the Lie algebra matrix.
Elements of s o(3) can be expressed as a linear combination of generators (hence the ‘basis’ intuition)

\omega_x E_1+\omega_y E_2+\omega_z E_3=[\omega]_x \in s o(3)    (10.11)

 

Looking back on the S O(2) tangent space, recall how it just had 1 generator i=\left(\begin{array}{cc}0 & -1 \\ 1 & 0\end{array}\right)

10.2.7. Lie Bracket

An important concept that must be introduced regarding Lie theory is that of the Lie bracket. The motivation to work on the tangent space of a Lie group is that we can infer all the associated properties of the group from the linear space. Lie algebra is the vector space tangent to the identity together with an antisymmetric and bilinear operator called the Lie bracket. As we saw in the previous section, exponentiation of the tangent space gives us the elements in the group.

Not all Lie groups are necessarily commutative and this property can be captured by the tangent space as well with the help of Lie brackets. We can also say that the Lie bracket monitors the lack of commutativity in multiplication.

If A and B are matrices in the tangent space, then the Lie bracket is defined as [10]:

[A, B]=A B-B A    (10.12)

It is also a property of Lie groups that the Lie bracket of matrices in the Lie algebra is also in the Lie algebra.

Let us illustrate this concept through a simple example, S O(2) is an abelian group and hence its Lie bracket will be zero since they are commutative groups, this means that for these groups

e^A e^B=e^B e^A

which then implies that A B=B A and makes the Lie bracket zero. A commutative group operation on S O(2) is completely captured by the sum operation on the tangent space [3]

e^{A+B}=e^A e^B

Now consider the S O(3) group of rotations, we know that this group is not abelian, i.e., intuitively we know that if we rotate a rigid body through its x axis followed by a rotation through y axis, we will end up with a different orientation when the order of rotations is reversed. For such groups, we will have

e^A e^B \neq e^B e^A \Rightarrow A B \neq B A

 

10.2.8. Exponential and Logarithmic map

The exponential and logarithmic maps are used to map back and forth between Lie groups M and their tangent space T_x M as shown in figure 10.5. Geometrically, what this means is that the exponential map wraps the tangent vector around the manifold like wrapping string around a ball and the curved path made by this string is called the geodesic [5]. The inverse of this operation is the unwrapping of this string embedded in a linear space.

Figure 10.5 Exponential and Logarithmic map

Created by Aayush Rai based on information from [5]

 

This concept is visually shown in Figure 10.6. Note that the tangent space is at x and not at the identity. We will now illustrate this concept using the S O(3) group.

 

Figure 10.6. Visual representation of geodesics on manifolds

Created by Aayush Rai based on information from [5]

 

As we have seen previously, the derivative of a rotation matrix R \in S O(3) can be written as

\dot{R}=R[\omega]_{\times} \in T_K S O(3)    (10.13)

Again, note that since R is in multiplication with [\omega]_{\times}, it belongs to the tangent space at R and not at the identity. The solution to equation (10.13) is given by

R(t)=R_0 \exp \left([\omega]_{\times} t\right)    (10.14)

where R_0 is the element of the Lie group from where the curve begins, i.e., identity as shown in figure 10.6. Before we proceed further, let us look at equation (10.14) and correlate it to Figure 10.6. As t varies from 0 to 1 , we can see that R(t) varies from R_0 to R_0 \exp \left([\omega]_X\right) which encapsulates the ‘wrapping’ concept we introduced earlier, i.e., the exponential map gives us a curve that smoothly varies from whichever point we consider the tangent space on to the point given by the multiplication of the initial element of the Lie group and the exponential map of the Lie algebra element.
At the identity R_0=I, the solution is given by

R(t)=\exp \left([\omega]_{\times} t\right) \in S O(3)    (10.15)

We now define the vector \theta \doteq \mathbf{u} \theta \doteq \omega t \in \mathbb{R}^3 as the integrated rotation in the angle-axis form, with angle \theta and unit axis u. Thus, [\theta]_x \in s o(3) is the total rotation expressed in the Lie algebra. We substitute it into equation (10.15) and write the exponential as a power series [5],

R(t)=\exp \left([\theta]_X\right)=\sum_k \frac{\theta^k}{k !}\left([\mathrm{u}]_X\right)^k

We omit the proof and directly state the Rodrigues formula [5] for matrix exponential for S O(3)

R=\exp \left([\mathbf{u} \theta]_{\times}\right)=I+[\mathbf{u}]_{\times} \sin \theta+[\mathbf{u}]_{\times}^2(1-\cos \theta)    (10.16)

The exponential map yields a rotation of \theta radians about the axis given by \mathbf{u}.
The logarithmic map going from S O(3) to s o(3) is given by

\begin{aligned} R & \in \operatorname{SO}(3) \\ \theta & =\arccos \left(\frac{\operatorname{tr}(R)-1}{2}\right) \\ \ln (R) & =\frac{\theta}{2 \sin \theta} \cdot\left(R-R^T\right) \end{aligned}    (10.17)

10.2.9. Baker Campbell Hausdorff (BCH) formula

For X and Y in the Lie algebra, the BCH formula is defined as the solution to Z for equation (10.18) given as

e^X e^Y=e^Z    (10.18)

The formula asserts that Z can be written purely in Lie algebraic terms [12] (Lie bracket).

Z=X+Y+\frac{1}{2}[X, Y]+\frac{1}{12}[X,[X, Y]]-\frac{1}{12}[Y,[X, Y]]+\cdots

What we can intuitively infer from this is that the Lie bracket on the Lie algebra determines the product operation on \mathrm{G}. There might be some cases where we need to find Z explicitly and this formula might come in handy. This is also a fundamental formula that is used to prove some important proofs in Lie theory which are beyond our scope for now.

 

10.2.10. Hat and Vee map

We can go from the Lie algebra g to \mathbb{R}^m with the help of isomorphisms called hat and vee which are defined as follows [5]:

Hat : \quad \mathbb{R}^m \rightarrow \mathfrak{m} ; \quad \boldsymbol{\tau} \mapsto \boldsymbol{\tau}^{\wedge}=\sum_{i=1}^m \tau_i E_i

Vee : \quad \mathfrak{m} \rightarrow \mathbb{R}^m ; \quad \boldsymbol{\tau}^{\wedge} \mapsto\left(\boldsymbol{\tau}^{\wedge}\right)^{\vee}=\boldsymbol{\tau}=\sum_{i=1}^m \tau_i \mathbf{e}_i    (10.19)

where E_i are the generators of the Lie algebra g and \mathbf{e}_i^{\wedge}=E_i are the vectors of the base \mathbb{R}^m. In general, when dealing with adjoints and Jacobians on Lie groups, it is much easier to work in the \mathbb{R}^m space and vectors in this space are isomorphic to the Lie algebra, so information about the group is not lost as well.

 

10.3. APPLICATIONS TO ROBOTICS IN ADVANCED MANUFACTURING

Lie theory has a wide range of applications in the field of robotics. Taking advantage of the smooth manifold structure of the Lie group in tandem with the Linear tangent space is the fundamental motivation behind these applications.

Some applications include optimization on manifolds, rigid body attitude control by formulating system kinematics and dynamics on a Lie group, state estimation and Kalman filtering and many others. In this section however, we will be focused on Lie group methods that aid manufacturing applications.

 

10.3.1. SCREW THEORY

Screw theory helps us to easily formulate the kinematics and dynamics of multi-body systems such as manipulators that may be used for manufacturing purposes. It also improves efficiency of computational algorithms on multi-body systems [13]. In the case of continuum robots which find extensive use in manufacturing applications, screw theory provided a more intuitive way of parametrizing curves and surfaces [21]. Jacobian calculation for multi-fingered robots is also made easier using screw theory [20].

Screw theory is a powerful mathematical tool for analysis and formulation of multibody kinematics. A screw can be used to denote the linear and angular velocity of a rigid body.

 

Figure 10.7 Visual representation of screw coordinates

Created by Aayush Rai based on information from [6]

 

Have a look at figure 10.7, an alternate way of thinking of a transformation matrix S E(3) is via what’s called a Screw. Think of a Screw as a stick attached to the back of an object like a link or joint. You can turn the screw about its axis \hat{s} to rotate the end object by angle of \theta and you can move the screw around to translate the object \left(s_0\right. ). The pitch defined in the figure is the amount of linear motion for a given rotation, which means,

  • Pitch h=0 accounts for pure rotation
  • Pitch h=\infty accounts for pure translation

A screw S is defined by a unit direction axis \hat{s}, the position of a point s_0 on this axis with respect to a reference frame and pitch h.

S=\left[\begin{array}{c} \hat{s} \\ s_0 \times \hat{s}+h \hat{s} \end{array}\right] \in \mathbb{R}^6    (10.20)

Zero pitch screws which correspond do pure rotation where h=0 are given by

S_0=\left[\begin{array}{c} \hat{s} \\ s_0 \times \hat{s} \end{array}\right]

Infinite pitch screws corresponding to pure translation motion where h=\infty are given by

S_{\infty}=\left[\begin{array}{c} 0_{3 \times 1} \\ \hat{s} \end{array}\right]

We state these explicitly since they correspond to revolute and prismatic joints which are seen frequently in open kinematic chains.

We will now state Chasle’s theorem for twist.

The most general motion of a rigid body consists of a rotation about a line in space together with a translation along it. Such a quantity is called twist or spatial velocity [6].

V=\left[\begin{array}{l} \omega \\ v \end{array}\right] \in \mathbb{R}^6    (10.21)

Now that we have defined the notion of a screw, a twist can be interpreted in terms of this screw and a velocity \theta about it. A twist represents the velocity of a rigid body as the angular velocity about an axis and the linear velocity along an axis. The expression for the twist is given by \boldsymbol{V}=\boldsymbol{\theta}.

\left[\begin{array}{l} \boldsymbol{\omega} \\ v \end{array}\right]=\left[\begin{array}{c} \hat{s} \\ s_0 \times \hat{s}+h \hat{s} \end{array}\right] \theta=\left[\begin{array}{c} \hat{s} \hat{\theta} \\ -\hat{s} \theta \times s_0+h \hat{s} \theta \end{array}\right]

Recall that we defined the S E (3) group previously as one that encompasses all rigid body motions. We will now see how this group relates to the screw coordinates defined above. First, let’s define the Lie algebra of the S E(3) group. The Lie algebra \operatorname{se}(3) is the set of 4 \times 4 matrices corresponding to differential translations and rotations. An arbitrary element in \operatorname{se}(3) is given by

h=\left(\begin{array}{ll} \Omega & v \\ 0 & 0 \end{array}\right)

Where \Omega is the skew-symmetric matrix of angular velocities and v represents the linear velocity.

Let S=(\omega, v) denote the screw coordinates. The matrix exponential is defined as exp: [S] \theta \in \operatorname{se}(3) \rightarrow T \in S E(3). If \|\omega\|=1 then for any distance \theta \in \mathbb{R} traveled along the screw axis or any angle \theta \in \mathbb{R} rotated about the screw axis [6],

T=\exp [S] \theta=\left[\begin{array}{c} \exp [\omega] \theta \\ 0 \end{array} \quad\left(I \theta+(1-\cos \theta)[\omega]+(\theta-\sin \theta)[\omega]^2\right) v\right] \in S E(3)    (10.22)

where,

\left.\exp [\omega] \theta=I+\sin \theta[\omega]+(1-\cos \theta)[\omega]^2\right) \in S O(3)

Which we know from the Rodrigues formula defined previously in equation (10.16)
If \|\omega\|=0 and \|v\|=1, then

T=\exp [S] \theta=\left[\begin{array}{cc} I & v \theta \\ 0 & 1 \end{array}\right] \in S E(3)    (10.23)

The proof of this is omitted but the main takeaway here is that exponentiating the screw coordinates, we get an S E (3) matrix that represents rigid motions. Keep in mind that we are exponentiating [S] and not S, here [S] represents the 4 \times 4 Lie algebra element in se(3) as defined above corresponding to the screw coordinate S=(\omega, v).

[S]=\left[\begin{array}{cc} {[\omega]} & v \\ 0 & 0 \end{array}\right]    (10.24)

where [\omega] is the skew-symmetric matrix of angular velocities and v represents the linear velocity.

This should come as no surprise since we have shown in previous sections how taking the exponential of elements in Lie algebra gives us the corresponding Lie group elements, the only difference here is in terms of representation, we are using screw coordinates to construct an se(3) matrix and then taking its exponential.

Now, let’s introduce an important concept that will help us in formulating the forward kinematics of kinematic chains.

Given the position of the end-effector of the kinematic chain T_n(0) \in S E(3) in base frame, its forward kinematics \boldsymbol{q} \in Q \mapsto \mathrm{T}_{\mathrm{n}}(\boldsymbol{q}) \in S E(3) can be computed using the product of exponentials formula as [6]:

{ }^0 \boldsymbol{T}_n(\boldsymbol{q})=\exp \left(\left[\boldsymbol{S}_1\right] q_1\right) \exp \left(\left[\boldsymbol{S}_2\right] q_2\right) \ldots \exp \left(\left[\boldsymbol{S}_n\right] q_n\right)^0 \boldsymbol{T}_n(\mathbf{0})    (10.25)

where S_i represents the screw coordinates of the i^{\text {th }} joint expressed in the base frame and q_i is the respective joint displacement.

This basically means that we simply need to find the screw coordinates of each joint in the base frame in order to calculate the forward kinematics. We can express the screw coordinates in se(3), take their matrix exponential and multiply them to get the result.

 

Example 10.3.1.1.

Let’s consider a simple example of a 2-D case to showcase how screw theory works for multi-link manipulators.
Consider the 3-link system given below in figure 10.8 .

Figure 10.8. 3-link manipulator

Created by Aayush Rai based on information from [6]

 

Look back on the definition of screw coordinates defined in equation (10.20), we will now define \hat{s} and s_0 for all three links and their associated S [6].

We know that h=0 since all three joints are revolute and \hat{s}=[0,0,1]^T, since rotation is always along the z axis.

For link 1, s_0=[0,0,0]^T
For link 2, s_0=\left[L_1, 0,0\right]^T
For link 3, s_0=\left[L_1+L_2, 0,0\right]^T

The corresponding screw coordinates $S$ for these links can be calculated from equation (10.20) as

\begin{aligned} & \boldsymbol{S}_1=[0,0,1,0,0,0]^T \\ & \boldsymbol{S}_2=\left[0,0,1,0,-L_1, 0\right]^T \\ & \boldsymbol{S}_3=\left[0,0,1,0,-\left(L_1+L_2\right), 0\right]^T \end{aligned}

Now, we can go ahead and calculate the corresponding se(3) matrices as given in equation (10.24), note that when we perform this step, we always assume screw coordinates S to be for the form \left[\begin{array}{c}\omega \\ v\end{array}\right].

\left[S_1\right]=\left[\begin{array}{cccc} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]\left[S_2\right]=\left[\begin{array}{cccc} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & -L_1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]\left[S_3\right]=\left[\begin{array}{cccc} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & -\left(L_1+L_2\right) \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]

The zero pose configuration of the end effector is given by

{ }^0 T_4=\left[\begin{array}{lllc} 1 & 0 & 0 & \left(L_1+L_2+L_3\right) \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]

By the product of exponentials formula given in equation (10.25), we can write the forward kinematics as

{ }^0 T_4(q)=\exp \left(\left[S_1\right] \theta_1\right) \exp \left(\left[S_2\right] \theta_2\right) \exp \left(\left[S_3\right] \theta_3\right)^0 T_4

 

Now that we have a general understanding of how screw theory works, we are now able to evaluate why this method of computing forward kinematics is superior to other existing methods.

An important observation that can be made regarding screw theory is that everything is formulated in the base frame of reference, this contrasts with Renayit-Hartenberg parameters where we must introduce different reference frames for each joint. Not only does screw theory simplify kinematic modeling but a lot of algorithms on such multi-body systems depend on the way the kinematics are defined. The computational algorithms defined on such system become more efficient when the underlying kinematics are defined using screw and Lie theory. [13]

 

10.2.2. Computer Vision

Lie theory has extensive applications in computer vision [22], motivated readers can refer to this research paper [7] for further discussion on its applications. Industrial cameras can be used in the manufacturing space for precise robot control for pick and place operations, for example, a robot gripper with a 3-D camera module. They are also used to inspect components and track movements of robots used for manufacturing. Motivated by such applications, we will now introduce how Lie theory can be used in parallel with computer vision.

We will be considering the concept of Rotation averaging in this section. Rotation averaging is important in the field of computer vision, visual data can be given as a sequence of 3-D rotations [9] which may contain a lot of noise and require smoothing. Another important application of rotation averaging is in the case of camera-rig calibration [8]. The rotation averaging techniques discussed in both the papers will be discussed in this section with focus on how they showcase the capabilities of Lie theory.

First, let us go ahead and define the distance metric on S O(3).

A distance measure d: S O(3) \times S O(3) \rightarrow \mathbb{R}^{+} is called bi-invariant if

d\left(\mathrm{SR}_1, \mathrm{SR}_2\right)=d\left(\mathrm{R}_1, \mathrm{R}_2\right)=d\left(\mathrm{R}_1\mathrm{~S}, \mathrm{R}_2\mathrm{~S}\right)

for all S, R_i \in S O (3). This is just a formal definition of a bi-invariant metric, we do not necessarily need to focus on it for now. We can now define the angular distance metric between rotations. [9]

Any rotation in \mathrm{SO}(3) can be expressed as a rotation through a given angle \theta about some axis. We define the angular distance between two rotations R and S to be the angle of the rotation S R^{\top}, so chosen to lie in this range [0, \pi] .[9] Thus,

d_{\angle}(\mathrm{S}, \mathrm{R})=d_{\angle}\left(\mathrm{SR}^{\top}, \mathrm{I}\right)=\left\|\log \left(\mathrm{SR}^{\top}\right)\right\|_2

where the norm is the usual Euclidean norm in \mathbb{R}^3 and R, S \in S 0(3).

There is also a chordal metric on S O(3) which is visually shown coupled with the angular metric in figure 10.9.

 

Figure 10.9   Comparison between Angular and Chordal metric

Created by Aayush Rai based on information from [9]

 

What we can infer from this is that the angular metric is geometrically ‘nicer’ since elements on the line traced by this matrix also lie on the manifold itself which is not the case for the chordal metric. So, as a motivation, suppose we perform some calculations involving the angular metric, the result will still be a rotation matrix which is what we generally desire whereas for a chordal metric, this will not be the case.

We will now formally define the Karcher mean of rotations on a manifold and then introduce the same on the S O(3) manifold.

Let \left\{x_i\right\}_{i=1}^N be a set of points in a smooth Riemannian manifold \mathcal{M}. The Riemannian metric can then be used to obtain the geometric distance d(x, y) between any two points x, y \in \mathcal{M}. The Karcher mean of this set is defined as the point \bar{x} \in \mathcal{M} for which the sum of squared distances [9]

\sum_{i=1}^N d^2\left(x_i, \bar{x}\right)    (10.26)

is minimized. A necessary and sufficient condition for \bar{x} to be the Karcher mean is

\sum_{i=1}^N \log _{\bar{x}}\left(x_i\right)=0

The iterative algorithm for computing this mean is given as [9]

1. Set initial mean in \mathcal{M} as \bar{x}=x_1.
2. Compute the mean in T_{\bar{x}} \mathcal{M} as w=\frac{1}{N} \sum_{i=1}^N \log _{\bar{x}}\left(x_i\right).
3. While \|w\|>\delta, update \bar{x} to \bar{x}=\exp _{\bar{x}} ( \varepsilon w), for \varepsilon \leq 1 and go to step 2

Where \delta is some small tolerance value. Let’s analyze this algorithm. First, we pick any arbitrary point from our set to be the initial mean, we then use the logarithmic map to calculate the mean on the tangent space T_{\bar{x}} \mathcal{M} centered around this point, and if this mean is above the tolerance limit, we update our initial mean using the exponential map to move towards the point where the mean is being minimized.

As discussed, let’s consider the Karcher mean for the S O(3) group of rotations to get a better idea of how the algorithm works visually. The rotation minimizing

C(\mathrm{R})=\sum_{i=1}^n d\left(\mathbf{R}, \mathbf{R}_i\right)^2    (10.27)

is also known at the Karcher mean of the rotations. A necessary and sufficient condition for \mathbf{R} to minimize this function is given by

\sum_{n=1}^N \log \left(\boldsymbol{R}_n^\tau \boldsymbol{R}\right)=\mathbf{0}    (10.28)

What this means geometrically is that if R is the mean of rotations, then when it is mapped to the tangent space, it is equidistant from all other rotation matrices in the sense that the positive and negative ‘distances’ between these elements cancels out.

The iterative algorithm is given by

1. Set initial mean in S O(3) as R=R_1.
2. Compute the mean in tangent space of S O(3) centered at \mathrm{R} as r=\frac{1}{N} \sum_{i=1}^N \log _{\mathrm{R}}\left(R_i\right).
3. While \|w\|>\delta, update \mathrm{R} to \mathbf{R}=\mathrm{R} \exp (\mathrm{r}), and go to step 2

Visual representation of this algorithm is given in figure 10.10.

 

Figure 10.10   Visual representation of Karcher mean

Created by Aayush Rai based on information from [9]

 

As shown in figure 10.10 , we first select R=R_1, center the tangent space around this element and map all the other elements onto this tangent space, we then calculate the mean which is shown by the green dot and then map it back to the manifold and use it as an updated mean to repeat the process on its tangent space. When the mean calculated on the tangent space is sufficiently close to the element we centered the tangent space on, we say that the algorithm has converged and we have found the Karcher mean.

Another rotation averaging technique that is more robust to outlying errors is the L1 rotation averaging with Weiszfeld step on the manifold. We will not discuss this method in detail in this section, interested readers may refer to [9] for a more comprehensive discussion. In contrast to the metric used in L2 rotation averaging given in equation (10.27), the metric used for L 1 rotation averaging, as the name implies is

C(R)=\sum_{i=1}^n d_\angle\left(R_i, \mathrm{R}\right)    (10.29)

Where d_\angle is the angular metric for the distance between the two rotation matrices. This method is similar to other methods in the sense that it takes advantage of the linear structure of the tangent space to perform calculations. The main idea here is that we are familiar with performing gradient descent on a linear space, when that underlying space is changed to S O(3), we take advantage of the linear structure of its tangent space to perform gradient descent and then map back to the manifold using the exponential map. Weiszfeld step provides away for us to perform gradient descent in a closed loop fashion, since it gives us an analytic formulation for the step size. [18] A step-by-step roadmap of how this takes place is given as follows:

1. Take R=R_1 as an initial mean (preferably the L 2 average)
2. Apply the logarithmic map centered on R_1 for all other elements
3. Calculate the Weiszfeld step on the manifold: this tells us which direction we must go towards in order to minimize the metric given in equation (10.29)
4. Use the exponential map to apply the calculated step on the manifold.
5. Repeat steps 1 to 4 until convergence

 

10.2.3. Rigid Body Control

Control of rigid bodies is an essential aspect for robots used in manufacturing applications such as UGV’s (Unmanned Ground Vehicles), UAV’s (Unmanned Aerial Vehicles), manipulators and many others. There is extensive literature on geometric methods (using manifold theory and differential geometry) being used for attitude control. [14,15,16] We will be focusing on rigid body tracking on $S O(3)[16]$ in this section, the reader may refer to the paper cited for a detailed explanation. Even though some of the concepts employed in the paper have not been covered in this chapter, we will focus more on an intuitive understanding on how rigid body tracking may take place on a manifold.

We will focus on deriving control laws using functions on S O(3). Now, a question may be asked regarding why we want to define our problem on a manifold. Using geometric control techniques, which basically means by formulating our research problem on the manifold itself instead of taking its linear approximation, allows for the formulation of a coordinate free control system. This enables us to define a geometric control system that has several advantages over traditional control such as avoiding gimbal lock [16].

We will be considering a first order system as compared to the second order system presented in [16] to formulate the control law. Let’s consider the pose of a rigid body given by the rotation matrix R and let R_d be the rotation matrix associated to the trajectory that we are supposed to track. Let \widehat{\Omega} and \widehat{\Omega}_d be the associated skew symmetric matrices in so(3). The system kinematics will be given as

\begin{aligned} \dot{R}(t) & =R(t) \widehat{\Omega}(t)    (10.30) \\ \dot{R}_d(t) & =R_d(t) \widehat{\Omega}_d(t)    (10.31) \end{aligned}

Here, we assume that all information regarding R_d will be known to us and we wish to formulate control laws for the input \widehat{\Omega}(t) which is a skew-symmetric matrix of yaw, pitch and roll angular velocities.

The desired controller of the rigid body should satisfy rigid body tracking given as

\left\|I-R_d^{\top} R\right\|_F \rightarrow 0, \text { as } t \rightarrow \infty    (10.32)

where \||_||F is the Frobenius norm. It basically gives a measure of the rotation required to align R and R_d, we can logically think of it as an error that we eventually want to converge to zero. A detailed explanation on how this condition accounts for the domain in S O(3) is given in [16], for now, let’s just think of this as our tracking goal.

The paper introduces a function family \mathcal{F}_R that induces a controller class. These functions depend on R and R_d. The conditions for a function to be in this family of functions is omitted here but the reader may refer to [16] for a detailed analysis.

Let f be a function on the family \mathcal{F}_R, taking the Lie derivative [1] of this function along the vector fields given by equation (10.30) and equation (10.31), we get

\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t} f\left(R, R_d\right) & =\left(d_R f\right) \dot{R}+\left(d_{R_d} f\right) R_d \\ & =\left(d_R f\right) R \widehat{\Omega}+\left(d_{R_d} f\right) R_d \widehat{\Omega}_d \end{aligned}    (10.33)

Now, let us consider a real valued positive definite Lyapunov function defined as

V=\frac{1}{2}\left\|f^{\vee}\right\|_2^2    (10.34)

where \left\|f^{\vee}\right\|_2^2 represents the square of the 2-norm of the vee mapping as we defined previously in equation (10.19)
Taking the derivative of equation (10.34), we get

\dot{V}=\left(f^{\vee}\right)^{\top} \frac{d}{d t} f^{\vee}    (10.35)

The required condition to make V negative definite is given as

\left[\frac{d}{d t} f\right]^{\vee}=-f^v    (10.36)

Substituting the derivative of f defined in equation (10.33), we get

\left[\left[\left(d_R f\right) R \widehat{\Omega}+\left(d_{R_d} f\right) R_d \widehat{\Omega}_d\right]^{\vee}=-f^{\vee}\right.    (10.37)

Hence, for the derivative of the Lyapunov function to be negative definite, we get

\left(d_R f\right) R \widehat{\Omega}+\left(d_{R_d} f\right) R_d \widehat{\Omega}_d=-f    (10.38)

The controller for \widehat{\Omega} is then given by

\widehat{\Omega}=\left(\left(d_R f\right) R\right)^{-1}\left(-f-\left(d_{R_d} f\right) R_d \widehat{\Omega}_d\right)    (10.39)

This controller will ensure that the Lyapunov function given in equation (10.34) converges to zero since it makes the derivative negative definite. This means that if we select a suitable function f \in \mathcal{F}_R for our purposes, we should be able to formulate a controller for rigid body tracking on S O(3).

Let us consider the function

f=\log \left(R_d(t)^{\top} R(t)\right)    (10.40)

as given in [16] for rigid body tracking. First, we need to define the derivative of this function for us to substitute it into equation (10.36) to get our required control law.

First, let us consider $R_d(t)^{\top} R(t)$, the derivative of this is given as [16]

\begin{aligned} & \frac{\mathrm{d}}{\mathrm{d} t}\left(R_d(t)^{\top} R(t)\right)=\left(R_d(t)^{\top} R(t)\right) \widehat{\Omega}(t) \\ &-\widehat{\Omega}_d(t)\left(R_d(t)^{\top} R(t)\right) \\ & \frac{\mathrm{d}}{\mathrm{d} t}\left(R_d(t)^{\top} R(t)\right)=\left(R_d(t)^{\top} R(t)\right)\left[\hat{\Omega}(t)-\left(R(t)^{\top} R_d(t)\right) \widehat{\Omega}_d(t)\left(R_d(t)^{\top} R\right)\right] \end{aligned}    (10.41)

Keep in mind that the time derivative of R_d(t)^{\top} R(t) defined in equation (10.40) is defined in the usual form that we are familiar with as defined in the previous section in equation (10.13), which is as the multiplication between the rotation matrix itself and its associated skew-symmetric matrix.

Now, let’s derive what the time derivative of the logarithmic map of a rotation matrix will look like. We know that a rotation matrix R(t) can be expressed as

R(t)=\exp (t \hat{\Omega})    (10.42)

as we have seen previously in equation (10.14). Taking Log of both sides, we get

\begin{aligned} \log (R(t)) & =\log (\exp (t \widehat{\Omega})) \\ & =t \widehat{\Omega} \end{aligned}    (10.43)

Taking the time derivative of equation (10.43), we get

\frac{d}{d t}(\log (R(t)))=\widehat{\Omega}

What we can infer from this is that the derivative of the logarithmic map of a rotation matrix is equal to the associated skew symmetric matrix of that rotation matrix in s o(3). From equation (10.41), we know the associated skew symmetric rotation matrix associated to R_d(t)^{\top} R(t), so the time derivative of f given in equation (10.40) is given as

\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t} f\left(R(t), R_d(t)\right)= & \widehat{\Omega}(t) \\ & -\left(R(t)^{\top} R_d(t)\right) \widehat{\Omega}_d(t)\left(R_d(t)^{\top} R\right) \end{aligned}    (10.44)

Replacing this in equation (10.36), we get

\left[\widehat{\Omega}(t)-\left(R(t)^{\top} R_d(t)\right) \widehat{\Omega}_d(t)\left(R_d(t)^{\top} R\right)\right]^{\vee}=-f^{\vee}

Equating the terms in the vee map, we get

\begin{gathered} \hat{\Omega}(t)-\left(R(t)^{\top} R_d(t)\right) \hat{\Omega}_d(t)\left(R_d(t)^{\top} R\right)=-f \\ \widehat{\Omega}(t)=-f+\left(R(t)^{\top} R_d(t)\right) \widehat{\Omega}_d(t)\left(R_d(t)^{\top} R\right) \end{gathered}    (10.45)

Equation (10.45) gives us the control law for the skew-symmetric matrix for the yaw, pitch and roll angular velocities of the rigid body that tracks a desired trajectory R_d(t).

 

10.4. Summary

In chapter 10, we introduced the concept of Lie theory by introducing smooth manifolds and Lie groups. The main advantage of working with Lie groups is that we can work in its tangent space which is a linear space and allows us more freedom to do calculations. Moreover, the group structure itself is captured by its corresponding Lie algebra and we can map back and forth between the Lie group and its tangent space using the exponential and logarithmic maps. Lie algebras are characterized by an additional metric called the Lie bracket which allows us to monitor the anti-commutative structure of the group.

We first give a brief description of smooth manifolds and then go on to define Lie groups and introduce two of the most common Lie groups used in robotics which are the Special Orthogonal group S O(3) and the Special Euclidean group S E(3). The tangent space and Lie algebra of Lie groups is discussed and we particularly focus on S O(3) and show that its Lie algebra is given by the skew-symmetric matrix given in equation (10.10). The next section of the chapter discusses different characteristics of Lie group such as the exponential and logarithmic map to map back and forth between the manifolds, we introduce the concept of generators of a Lie group, hat and vee map between Lie algebra and the Euclidean space \mathbb{R}^n as given in equation (10.19). Although its applications are not discussed, we define the Lie bracket on the Lie algebra and show how they measure the non-abelian nature of the Lie group, we then showcase the significance of Lie bracket through the Baker-Campbell-Hausdorff (BCH) formula.

Moving onto the manufacturing applications of Lie theory, we showcase how it may be used to define and understand screw theory which is a simplified way to define the forward kinematics of multi-link robotic manipulators. We also explain how Lie theory may be used in the field of computer vision with particular focus on rotation averaging on the S O(3) manifolds. Finally, we introduce how Lie theory may be used for rigid body control and why its beneficial to formulate functions on the manifold space as opposed to the Euclidean space.

 

 

 Practice Problems

1. Prove the Rodrigues’ formula given in equation (10.16) using the Taylor series expansion.

 

R=\exp \left([\mathbf{u} \theta]_{\times}\right)=I+[\mathbf{u}]_{\times} \sin \theta+[\mathbf{u}]_{\times}^2(1-\cos \theta)

Answer. We can write the rotation matrix R(t) as

\mathbf{R}=\exp \left([\boldsymbol{\theta}]_{\times}\right)=\sum_k \frac{\theta^k}{k !}\left([\mathbf{u}]_{\times}\right)^k

where \boldsymbol{\theta} \triangleq \mathbf{u} \theta \triangleq \omega t \in \mathbb{R}^3 is the integrated rotation in angle-axis form, with angle θ
and unit axis <span dir="ltr" role="presentation">u</span> and [\boldsymbol{\theta}]_x \in \mathfrak{s o}(3) is the lie algebra matrix of angular velocities.

Expanding, we get

I+\theta \hat{u}+\frac{1}{2 !} \theta^2 \hat{u}^2+\frac{1}{3 !} \theta^3 \hat{u}^3+\frac{1}{4 !} \theta^4 \hat{u}^4+\frac{1}{5 !} \theta^5 \hat{u}^5+\frac{1}{6 !} \theta^6 \hat{u}^6+\cdots

Let us first write down a few powers of [\mathbf{u}]_{\times}

\begin{array}{ll} {[\mathbf{u}]_{\times}^0=\mathbf{I},} & {[\mathbf{u}]_{\times}^1=[\mathbf{u}]_{\times}} \\ {[\mathbf{u}]_{\times}^2=\mathbf{u} \mathbf{u}^{\top}-\mathbf{I},} & {[\mathbf{u}]_{\times}^3=-[\mathbf{u}]_{\times}} \\ {[\mathbf{u}]_{\times}^4=-[\mathbf{u}]_{\times}^2,} & \cdots \end{array}

As we can see, all powers can be expressed in terms of I, [\mathbf{u}]_{\times} and [\mathbf{u}]_{\times}^2. We can write the Taylor series expansion as

\begin{aligned} \mathbf{R}=\mathbf{I} & +[\mathbf{u}]_{\times}\left(\theta-\frac{1}{3 !} \theta^3+\frac{1}{5 !} \theta^5-\cdots\right) \\ & +[\mathbf{u}]_{\times}^2\left(\frac{1}{2} \theta^2-\frac{1}{4 !} \theta^4+\frac{1}{6 !} \theta^6-\cdots\right), \end{aligned}

Now, we can identify the Taylor series expansions of \sin \theta and \cos \theta and write the Rodrigues’ formula as

\mathbf{R}=\exp \left([\mathbf{u} \theta]_{\times}\right)=\mathbf{I}+[\mathbf{u}]_{\times} \sin \theta+[\mathbf{u}]_{\times}^2(1-\cos \theta)

 

2. Based on your intuition from the 2D case, how do you think you might interpolate the rotations using the exp/log map for 3D rotations?

We can just do the same thing: given two rotations $R_0$ and $R_1$, the rotation between them (in axis-angle form) i.e.  is given by

A=\log \left(R_1 R_0^{-1}\right)

Hence, we can interpolate via

R(t)=\exp (t A) R_0 .

As before, this family of rotations starts at $t=0$ with $R_0$, and interpolates to $R_1$ at $t=1$.

 

3. Show and explain why gimbal lock would occur by calculating the rotation matrix  \mathbf{R}_{\mathrm{x}}(\phi) \mathbf{R}_{\mathrm{y}}(\pi / 2) \mathbf{R}_z(\psi).

Consider the matrix given by \mathbf{R}(\phi, \theta, \psi)=\mathbf{R}_{\mathrm{x}}(4 \pi / 7) \mathbf{R}_y(\pi / 2) \mathbf{R}_z(-\pi / 3) and extract the roll, pitch and yaw angles of the resulting rotation matrix to confirm gimbal lock.

Answer.  

\begin{aligned} & \mathbf{R}_{\mathbf{x}}(\phi) \mathbf{R}_{\mathbf{y}}(\pi / 2) \mathbf{R}_z(\psi)= \\ & {\left[\begin{array}{ccc} 0 & 0 & 1 \\ \sin (\phi) \cos (\psi)+\cos (\phi) \sin (\psi) & -\sin (\phi) \sin (\psi)+\cos (\phi) \cos (\psi) & 0 \\ -\cos (\phi) \cos (\psi)+\sin (\phi) \sin (\psi) & \cos (\phi) \sin (\psi)+\sin (\phi) \cos (\psi) & 0 \end{array}\right]} \end{aligned}

Using trigonometric identities:

\mathbf{R}_{\mathrm{x}}(\phi) \mathbf{R}_{\mathrm{y}}(\pi / 2) \mathbf{R}_z(\psi)=\left[\begin{array}{ccc} 0 & 0 & 1 \\ \sin (\phi+\psi) & \cos (\phi+\psi) & 0 \\ -\cos (\phi+\psi) & \sin (\phi+\psi) & 0 \end{array}\right]

Hence, when the pitch angle \theta= \pm \frac{\pi}{2}, the roll \phi cannot be distinguished from yaw \psi.

Calculating \begin{aligned} \mathbf{R}(\phi, \theta, \psi) & =\mathbf{R}_x(4 \pi / 7) \mathbf{R}_y(\pi / 2) \mathbf{R}_x(-\pi / 3) \\ & =\left[\begin{array}{ccc} 0 & 0 & 1 \\ 0.68 & 0.73 & 0 \\ -0.73 & 0.68 & 0 \end{array}\right] \end{aligned}

Extracting the roll, pitch and yaw angles, we get  \left[\begin{array}{lll} \phi & \theta & \psi \end{array}\right]^{\mathrm{T}}=\left[\begin{array}{lll} \pi / 2 & 0.97 & \pi / 2 \end{array}\right]^{\mathrm{T}}

which are totally different values than expected, hence confirming gimbal lock.

 

 

Simulations

The simulation utilizing concepts of Lie theory for computer vision and rigid body control can be found on GitHub at:

 

https://github.com/ClemsonSpring2023ME8930IntroRoboticsHRI/Ch10_Lie_Theory

 

References

[1]  Lee, John M. “Introduction to Smooth Manifolds.” Changes (2007).

[2]  Mark Saroufim “How to move? Lie Robotics” URL: https://marksaroufim.medium.com/how-to-move-lie-group-robotics-67fc4f3959d1

[3]  Stillwell, John. Naive lie theory. Springer Science & Business Media, 2008.

[4] Tyler Perlman. “Representations of the Rotation Groups ” URL: https://www.pas.rochester.edu/assets/pdf/undergraduate/representations_of_the_rotation_groups_so-n.pdf

[5] Sola, Joan, Jeremie Deray, and Dinesh Atchuthan. “A micro Lie theory for state estimation in robotics.” arXiv preprint arXiv:1812.01537 (2018).

[6] Shivesh Kumar. “ Lie group based modelling of robot kinematics & dynamics and
An optimization based view on robotics” URL: http://www.stardust-network.eu/wp-content/uploads/2021/03/Shivesh_Kumar_Lie-group-based-modelling-of-robot-kinematics-dynamics.pdf

[7] Xu, Qiang, and Dengwu Ma. “Applications of Lie groups and Lie algebra to computer vision: A brief survey.” In 2012 International Conference on Systems and Informatics (ICSAI2012), pp. 2024-2029. IEEE, 2012.

[8] Dai, Yuchao, Jochen Trumpf, Hongdong Li, Nick Barnes, and Richard Hartley. “Rotation averaging with application to camera-rig calibration.” In Computer Vision–ACCV 2009: 9th Asian Conference on Computer Vision, Xi’an, September 23-27, 2009, Revised Selected Papers, Part II 9, pp. 335-346. Springer Berlin Heidelberg, 2010.

[9] Hartley, Richard, Jochen Trumpf, Yuchao Dai, and Hongdong Li. “Rotation averaging.” International journal of computer vision 103 (2013): 267-305.

[10] Tom Drummond “Lie groups, Lie algebras, projective geometry and optimization for 3D Geometry, Engineering and Computer Vision” URL: https://www.dropbox.com/s/5y3tvypzps59s29/3DGeometry.pdf?dl=0

[11] Ethan Eade “Lie Groups for 2D and 3D Transformations” URL: https://ethaneade.com/lie.pdf

[12] URL : https://en.wikipedia.org/wiki/Baker%E2%80%93Campbell%E2%80%93Hausdorff_formula

[13] Müller, Andreas. “Screw and Lie group theory in multibody kinematics: Motion representation and recursive kinematics of tree-topology systems.” Multibody System Dynamics 43, no. 1 (2018): 37-70.

[14] Yu, Yun, Shuo Yang, Mingxi Wang, Cheng Li, and Zexiang Li. “High performance full attitude control of a quadrotor on SO (3).” In 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 1698-1703. IEEE, 2015.

[15] Lee, Taeyoung. “Geometric control of quadrotor UAVs transporting a cable-suspended rigid body.” IEEE Transactions on Control Systems Technology 26, no. 1 (2017): 255-264.

[16] Akhtar, Adeel, and Steven L. Waslander. “Controller class for rigid body tracking on $\mathsf {SO}(3) $.” IEEE Transactions on Automatic Control 66, no. 5 (2020): 2234-2241.

[17] Mellinger, Daniel, and Vijay Kumar. “Minimum snap trajectory generation and control for quadrotors.” In 2011 IEEE international conference on robotics and automation, pp. 2520-2525. IEEE, 2011.

[18] Hartley, Richard, Khurrum Aftab, and Jochen Trumpf. “L1 rotation averaging using the Weiszfeld algorithm.” In CVPR 2011, pp. 3041-3048. IEEE, 2011.

[19] Lewis, Andrew D. “Is it worth learning differential geometric methods for modeling and control of mechanical systems?.” Robotica 25, no. 6 (2007): 765-777.

[20] Li, Zexiang, and S. Shankar Sastry. “Task-oriented optimal grasping by multifingered robot hands.” IEEE Journal on Robotics and Automation 4, no. 1 (1988): 32-44.

[21] Bajo, Andrea, and Nabil Simaan. “Kinematics-based detection and localization of contacts along multisegment continuum robots.” IEEE Transactions on Robotics 28, no. 2 (2011): 291-302.

[22] Lui, Yui Man. “Advances in matrix manifolds for computer vision.” Image and Vision Computing 30, no. 6-7 (2012): 380-388.

[23] URL: https://brilliant.org/wiki/abelian-group/

License

Icon for the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Advanced Robotics for Manufacturing Copyright © by Emma Brandberg; Payton Engelking; Yalun Jiang; Nithesh Kumar; Ryan Mbagna-Nanko; Rahul Narasimhan; Aayush Rai; Shahil Shaik; Venkata Ravindhra Reddy Varikuti; and Miao Yu is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License, except where otherwise noted.

Share This Book