본문 바로가기

공부/Modern Robotics

[Modern Robotics] 강좌 1: 로봇 동작의 기초 #2

반응형

 

 

 

 

 

https://www.coursera.org/learn/modernrobotics-course1-ko

 

현대 로봇공학, 강좌 1: 로봇 동작의 기초

Northwestern University에서 제공합니다. 로봇이 어떻게 움직이는지 궁금하신가요? 로봇공학 커리어에 관심이 있으신가요? 로봇공학의 모든 하위 분야에서 사용되는 기초적인 수학적 모델링 기법을

www.coursera.org

 

+) vector notation of the lecture:

v: free vector, coordinate free, physical quantity

$v$: fixed vector, rooted on a point

 

+) All frames in this book are staionary(=inertial frame).

 

 

 

Rotation

SO(3), Special Orthogonal group: the group of rotation matrices

●$R \in SO(3)$

 

Rotation matrix R: $3\times 3$ matrices used for the orientation and rotation in 3d space.

 

$\begin{bmatrix}
r_{11} & r_{12} & r_{13} \\
r_{21} & r_{22} & r_{23} \\
r_{31} & r_{32} & r_{33}
\end{bmatrix}$

 

●9 parameters with 6 constraint = 3 dof (Spatial orientation dof is 3)

●Rotation matrix should be the orthogonal matrix and this makes 6 constraints.

●$det\text{ }R=1$ (Right-hand rule)

●$R^{T}R=I$. This means $R^{-1}=R^{T}$

●Symmetric rotation matrix, which is not I, represents a rotation of (2k+1)π

●Associativity O, Commutativity X

●Chain rule: $R_{ab}R_{bc}R_{cd}=R_{ad}$

●Used for ⓐrepresenting an orientation, ⓑchanging the frame of a vector or orientation, ⓒrotating a vector or orientation.

 

●Each column represents x-axis, y-axis and z-axis direction in fixed frame.

 

Premultiplcation yields rotation about an fixed frame: $ RR_{sb}$ = rotate R_{sb} by R about frame {s}

Postmultiplcation yields rotation about an body frame: $R_{sb}R$ = rotate R_{sb} by R about frame {b}

●Can be written in rotation operator form with rotation axis and rotation magnitude $Rot(\hat{\omega},\theta)$

●$Rot$ is not unique wrt. R

 

 

 

Skew-symmetric matrix [ · ]

 

Given $x=(x_{1}, x_{2},x_{3})^{T}\in \mathbb{R}^{3}$,

$[x]=
\begin{bmatrix}
0 & -x_{3} & x_{2} \\
x_{3} & 0 & -x_{1} \\
-x_{2} & x_{1} & 0
\end{bmatrix}$

 

●Used for expressing cross product with matrix multiplication. (For A and B \in \mathbb{R}^3)

└$A\times B=[A]B$

└$[A]B = -[B]A$ holds. (Cross product property)

└$[A]^{2}B=A\times (A\times B)=(A\cdot B)A-\left\| A \right\|B$ (Checked)

└$[A\times B]=[A][B]-[B][A]$ (At Ch.8, eq 8.36)

●Note $[A]^2$ doesn't mean self-cross product: $[A][A]=[A]^{2}$

●$[x]=[-x]^{T}=-[x]^{T}$

●Used for representing multiple cross product easily. (My own explanation)

└For vector A and matrix B, $[A]B$ yields $[A]B_{1},[A]B_{2},[A]B_{3}$

 

 

 

 

 

so(3), Lie algebra of SO(3): the group of the angular velocity expressed in skew-symmetric matrices.

Given $R$ is $\hat{x},\hat{y},\hat{z}$,  $\dot{R}$ is $\dot{\hat{x}}, \dot{\hat{y}},\dot{\hat{z}}$  and  $\hat{w}$ is a unit angular velocity vector,  $\dot{R} = [\hat{\omega}]R$ holds.

●Note: Unit angular velocity vector equals to the rotation axis: $\hat{\omega}$

 

 

 

Matrix exponential: $e^{A}$ (A is a square matrix)

$e^{A}=I+A+\frac{A^2}{2!}+\frac{A^{3}}{3!}+\cdot \cdot \cdot $

●Defined with power series of the exponential

●$e^{AB}=Be^{A}B^{-1}$

 

 

 

Exponential coordinate representation of rotation (Rodrigues's Formula)

●A 3D rotation has 3 dof and can be expressed in ①a rotation matrix R and ②a set of axis-angle $\hat{w},\theta$

Rodrigues' formula shows ① = ② for the same rotation.

 

$R=Rot(\hat{\omega},\theta)=e^{[\hat\omega]\theta}=I+sin\theta[\hat{\omega}]+(1-cos\theta)[\hat{\omega}]^{2}\in SO(3)$

 

●$e^{[\hat\omega]\theta}T_{sb}$  means the rotation axis is in {s}

$T_{sb}e^{[\hat\omega]\theta} $  means the rotation axis is in {b}

 

Matrix exp of rotations : $[\hat{\omega}]\theta\in so(3)\Rightarrow R\in SO(3)$

Matrix log of rotations : $ R\in SO(3)\Rightarrow[\hat{\omega}]\theta\in so(3)$

 

 

 

 

 

 

Rigid body motion (Transition+Rotation)

SE(3), Special Euclidean group: the group of homogeneous transformations

●$T \in SE(3)$

 

Homogeneous transformation T: $4\times 4$ matrices used for the spatial configurations, motions.(orientation+position)

 

$T=
\begin{bmatrix}
R & p  \\
0 & 1
\end{bmatrix}
=
\begin{bmatrix}
r_{11} & r_{11} & r_{11} & p_{x} \\
r_{11} & r_{11} & r_{11} & p_{y} \\
r_{11} & r_{11} & r_{11} & p_{z} \\
0 & 0 & 0 & 1
\end{bmatrix}$

 

●12 parameters with 6 constraint = 6 dof (Spatial configuration dof is 6)

●$T_{sb}^{-1}=T_{bs}=
\begin{bmatrix}
R & p \\
0 & 1
\end{bmatrix}^{-1}=
\begin{bmatrix}
R^{T} & -R^{T}p \\
0 & 1
\end{bmatrix}$

●Associativity O, Commutativity X

●Chain rule: $T_{ab}T_{bc}T_{cd}=T_{ad}$

●Used for ⓐrepresenting an configuration, ⓑchanging the frame of a vector or frame, ⓒmoving(rotate and translate) a vector or frame.

 

Premultiplcation yields motion about an fixed frame: $ TT_{sb}$ = Move T_{sb} by T about frame {s}

└Rotation first, then translation.

Postmultiplcation yields rotation about an body frame: $T_{sb}T$ = Move R_{sb} by T about frame {b}

└Translation first, then rotation.

●Can be written in operator form with rotation operator and translation operator $T=Trans(p)Rot(\hat{\omega},\theta)$

 

●When moving a vector with T, $ x=(x_{1},x_{2},x_{3})^{T} \Rightarrow (x_{1},x_{2},x_{3},1)^{T}$

 

 

 

se(3), Lie algebra of SE(3): the group of the rigid-body velocities expressed in $4\times 4$ matrices which consist of so(3), angular velocity and linear velocity vector.

 

●$[\nu]=\begin{bmatrix}[\omega] &  v\\0 & 0\end{bmatrix}\in se(3)$ for a twist $\nu$

 

 

 

Twist $\nu$: $6\times 1$ vectors used for the rigid-body velocities(angular+linear)

 

Body twist $\nu_{b}$: A twist of the body frame defined in body frame.

※Given $T=T_{sb}$

 

●$\nu_{b}=\begin{bmatrix}\omega_{b} \\v_{b}\end{bmatrix}\in \mathbb{R}^{6}$ (Vector form)

 

●$[\nu_{b}]=\begin{bmatrix}
[\omega_{b}] &  v_{b}\\
0 & 0
\end{bmatrix}=T^{-1}\dot{T}\in se(3)$ (Matrix form)

 

 

Spatial twist $\nu_{s}$: A twist of the body frame defined in fixed frame.

※Given  $T=T_{sb}$

 

●$\nu_{s}=\begin{bmatrix}\omega_{s} \\v_{s}\end{bmatrix}\in \mathbb{R}^{6}$ (Vector form)

 

●$[\nu_{s}]=\begin{bmatrix}
[\omega_{s}] &  v_{s}\\
0 & 0
\end{bmatrix}=\dot{T} T^{-1} \in se(3)$ (Matrix form)

 

 

 

Adjoint representation $[Ad_{T}]$: A $6\times 6$ matrix for changing reference frame of twists or wrenches.

※Given $T=\begin{bmatrix} R & p \\ 0 & 1 \end{bmatrix}$

●$[Ad_{T}]=\begin{bmatrix} R & 0 \\ [p]R & R \end{bmatrix}$

●$\nu_{s}=[Ad_{T_{sb}}]\nu_{b}$,  $\nu_{b}=[Ad_{T_{bs}}]\nu_{s}=[Ad_{T_{sb}^{-1}}]\nu_{s}=[Ad_{T_{sb}}]^{-1}\nu_{s}$

●$[Ad_{T_{1}}][Ad_{T_{2}}]=[Ad_{T_{1}T_{2}}]$

Calculate like the chain rule: $\nu_{s}=[Ad_{T_{s \textcolor{red}{b} }}]\nu_{ \textcolor{red}{b} }$

 

+)$[Ad_{T}]$ is not used to change the reference of matrix form twist [\nu]

●$ [\nu_{s}]= T_{sb}[\nu_{b}] T_{sb}^{-1}  $

 

 

 

Screw motion $\mathcal{S}\theta$(Screw axis representation): A motion that consist of a rotation about axis $\mathcal{S}$ and translation along the same axis $\mathcal{S}$.  (Not good enough)

 

Screw axis $\mathcal{S}$: A normalized twist so $[\mathcal{S}]\in se(3)$

$\mathcal{S}=\begin{bmatrix} \omega \\ v \end{bmatrix} \in \mathbb{R}^{6}$       

●(Relation between twist(velocity)): $\nu=\mathcal{S}\dot{\theta}$, $[\nu]=[\mathcal{S}]\dot{\theta}$

●$\omega$ of the screw axis represents the unit angular velocity vector, the axis. (Not just angular velocity)

●$v$ includes the linear velocity along axis and the tangential linear velocity by angular velocity.

   ⓐ Only rotation: $\mathcal{S}=[\omega_{1},\omega_{2},\omega_{3},0,0,0]\text{   }\left\|\omega\right\|=1$

   ⓑ Only translation: $\mathcal{S}=[0,0,0,v_{1},v_{2},v_{3}]\text{   }\left\|v\right\|=1$
   ⓒ Rotation+Translation: $\mathcal{S}=[\omega_{1},\omega_{2},\omega_{3},v_{1},v_{2},v_{3}]\text{ }\left\|\omega\right\|=1$

 

+)The screw axis uses the twist format $\mathbb{R}^{6}$. It can be used to represent both velocity($\mathcal{S}\dot{\theta}$) and displacement($\mathcal{S}\theta$)  (My own explanation, uncertain)

 

 

The Chales-Mozzi theorem: Any rigid-body motion of a rigid body can be expressed in a single screw motion.

 

 

Exponential coordinate respresentation of spatial rigid-body motions.(orientation+position)

●A 3D motion can be expressed in ①a homogeneous transformation T and ②a screw motion $\mathcal{S}\theta.

●Chales-Mozzi theorem shows ① = ② for the rigid-body motion(Rotation+Translation).

 

Given a screw axis $\mathcal{S}=[\omega,v]^{T}$

 

$T=e^{[\mathcal{S}]\theta}=\begin{bmatrix}
e^{[\omega]\theta} & (I\theta+(1-cos\theta)[\omega]+(\theta-sin\theta)[\omega]^{2})v \\
0 & 1 \end{bmatrix} \in SE(3)$

 

 

●$e^{[\mathcal{S}]\theta}T_{sb}$  means the screw axis is in {s}

●$T_{sb} e^{[\mathcal{S}]\theta} $  means the screeq axis is in {b}

 

Matrix exp of rigid-body motion : $[\mathcal{S}]\theta\in se(3) \Rightarrow T \in SE(3)$

Matrix log of rigid-body motion : $T\in SE(3)\Rightarrow [\mathcal{S}]\theta\in se(3)$

 

 

 

  SO(3) so(3) SE(3) se(3)
Group of Rotation, Orientation Angular velocity Rigid-body
configuration
Rigid-body velocities
Expression 3x3 matrix
(Rotation matrix)
3x3 matrix
(Skew-symmetric)
4x4 matrix
(Homogeneous
transformation)
4x4 matrix
(so(3)+linear velocity)
Symbol R $[\hat{\omega}]\theta$ T [$\mathcal{S}]\theta$

 

 

 

 

 

 

 

Wrench:  $6\times 1$ vectors that consist of a torque and a force.

 

$\mathcal{F}_{a}=\begin{bmatrix} m_{a} \\ f_{a} \end{bmatrix}\in \mathbb{R}^{6}$ : A wrench expressed in {a}

 

●Reference changing(Given $T_{sb}$): $\mathcal{F}_{b}=[Ad_{T_{sb}}]^{T}\mathcal{F}_{s}$

●Reference changing is different from that of a twist. (No chain rule)

 

 

 

 

========================================================================
정확한 정보 전달보단 공부 겸 기록에 초점을 둔 글입니다.
틀린 내용이 있을 수 있습니다.
틀린 내용이나 다른 문제가 있으면 댓글에 남겨주시면 감사하겠습니다. : )
========================================================================

반응형