
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)
========================================================================
정확한 정보 전달보단 공부 겸 기록에 초점을 둔 글입니다.
틀린 내용이 있을 수 있습니다.
틀린 내용이나 다른 문제가 있으면 댓글에 남겨주시면 감사하겠습니다. : )
========================================================================
'공부 > Modern Robotics' 카테고리의 다른 글
| [Modern Robotics] 강좌 3: 로봇 동역학 #2 (1) | 2024.12.11 |
|---|---|
| [Modern Robotics] 강좌 3: 로봇 동역학 #1 (0) | 2024.12.06 |
| [Modern Robotics] 강좌 2: 로봇 기구학 #2 (0) | 2024.12.04 |
| [Modern Robotics] 강좌 2: 로봇 기구학 #1 (0) | 2024.11.29 |
| [Modern Robotics] 강좌 1: 로봇 동작의 기초 #1 (0) | 2024.11.16 |