Skew Symmetric Matrix for expressing a Rotation

62 Views Asked by At

How skew symmetric matrix can be used to express rotations about a given axis? I came across this concept while dealing with rotation matrices used in robotics. Can someone detail on this concept? and explain how a vector is converted to a skew symmetric matrix? Also I would like to go in depth in this.

2

There are 2 best solutions below

1
On

Rotations in $\Bbb{R}^3$ can be represented by the orthogonal matrices of the group $SO(3)$. Since it is a Lie group, the elements of the associated Lie algebra $\mathfrak{so}(3)$ play the role of generators of the said rotations. Concretely, it means that $\forall R \in SO(3)$ $\exists A \in \mathfrak{so}(3)$ such that $R = e^{tA}$, with $t \in \Bbb{R}$. Yet, the algebra $\mathfrak{so}(3)$ is precisely made of skew-symmetric matrices.


Addendum. It may be proven as follows. Since $R = e^{tA}$ is orthogonal, one has $R^{-1} = R^T$, hence $R^TR = e^{tA^T}e^{tA} = 1$. Now, we can differentiate this equality with respect to $t$, i.e. $e^{tA^T}(A^T + A)e^{tA} = 0$, hence finally $A^T = -A$ when evaluated at $t = 0$.

1
On

More geometric approach.

Suppose you have a vector $v=\begin {bmatrix} x &y & z \end{bmatrix}^T$ of unit length. The rotation matrix can be generated with so-called Rodrigues formula. With this formula you have:

$R(v,\theta)=I+\sin(\theta)S(v)+(1-\cos(\theta))S^2(v)$

where skew-symmetric matrix $S(v)=\begin {bmatrix} 0 &-z &y \\ z & 0 &-x \\ -y & x &0 \end{bmatrix}$ and $x,y,z$ are exactly coordinates of unit vector representing axis.

It is easy to check that columns of this matrix generate a plane which is perpendicular to vector $v$ and it is a plane of rotation where all vectors lying on it are rotated by $\theta$ angle.

$S(v)$ can be obtained also with a formula where cross product is used

$S(v)=\begin {bmatrix} v \times i &v \times j &v \times k \end{bmatrix}$,

where $ i,j,k $ are vectors of standard basis i.e. columns of identity matrix.