本文仅供学习使用
本文参考:
B站:CLEAR_LAB
笔者带更新-运动学
课程主讲教师:
Prof. Wei Zhang
南科大高等机器人控制课 Ch03 Operator View of Rigid-Body Transformation
- [1. Rotation Operation via Differential Equation](#1. Rotation Operation via Differential Equation)
- [1.1 Skew Symmetric Matrices](#1.1 Skew Symmetric Matrices)
-
- [1.2 Rotation Operation via Differential Equation](#1.2 Rotation Operation via Differential Equation)
- [1.3 Raotation Matrix as a Rotation Operator](#1.3 Raotation Matrix as a Rotation Operator)
- [2. Rotation Operation in Different Frames](#2. Rotation Operation in Different Frames)
-
- [2.1 Rotation Martix Properties](#2.1 Rotation Martix Properties)
- [2.2 Rotation Operation in Different Frames](#2.2 Rotation Operation in Different Frames)
- [3. Rigid-Body Operation via Diffeential Equation](#3. Rigid-Body Operation via Diffeential Equation)
-
- [3.1 SE(3)](#3.1 SE(3))
- [3.2 se(3)](#3.2 se(3))
- [4. Homogeneous Transformation Matrix as Rigid-Body Operator](#4. Homogeneous Transformation Matrix as Rigid-Body Operator)
- [5. Rigid-Body Operation of Screw Axis](#5. Rigid-Body Operation of Screw Axis)
1. Rotation Operation via Differential Equation
1.1 Skew Symmetric Matrices
Recall that cross product is a special linear transformation.
For any ω ⃗ ∈ R 3 \vec{\omega}\in \mathbb{R} ^3 ω ∈R3, there is a matrix ω ⃗ ~ ∈ R 3 × 3 \tilde{\vec{\omega}}\in \mathbb{R} ^{3\times 3} ω ~∈R3×3 such that ω ⃗ × R ⃗ = ω ⃗ ~ R ⃗ \vec{\omega}\times \vec{R}=\tilde{\vec{\omega}}\vec{R} ω ×R =ω ~R
ω ⃗ = ω 1 ω 2 ω 3 ⟷ ω ⃗ ~ = 0 − ω 3 ω 2 ω 3 0 − ω 1 − ω 2 ω 1 0 \vec{\omega}=\left \\begin{array}{c} \\omega _1\\\\ \\omega _2\\\\ \\omega _3\\\\ \\end{array} \\right \longleftrightarrow \tilde{\vec{\omega}}=\left \\begin{matrix} 0\& -\\omega _3\& \\omega _2\\\\ \\omega _3\& 0\& -\\omega _1\\\\ -\\omega _2\& \\omega _1\& 0\\\\ \\end{matrix} \\right ω = ω1ω2ω3 ⟷ω ~= 0ω3−ω2−ω30ω1ω2−ω10
Note that a ⃗ ~ = − a ⃗ ~ T \tilde{\vec{a}}=-\tilde{\vec{a}}^{\mathrm{T}} a ~=−a ~T (called skew stmmetric )
ω ⃗ ~ \tilde{\vec{\omega}} ω ~ is called a skew-symmetric matrix representation of the vector ω ⃗ \vec{\omega} ω
The set of skew-symmetric matrices in : s o ( n ) ≜ { S ∈ R n × n : S T = − S } so\left( n \right) \triangleq \left\{ S\in \mathbb{R} ^{n\times n}:S^{\mathrm{T}}=-S \right\} so(n)≜{S∈Rn×n:ST=−S}
We are interested in case n = 2 , 3 n=2,3 n=2,3
Rotation matrix ∈ S O ( 3 ) { R T R = E , det ( R ) = 1 } \in SO\left( 3 \right) \left\{ R^{\mathrm{T}}R=E,\det \left( R \right) =1 \right\} ∈SO(3){RTR=E,det(R)=1}
1.2 Rotation Operation via Differential Equation
- Consider a point initially located at R ⃗ p 0 \vec{R}_{p_0} R p0 at time t = 0 t=0 t=0
- Rotate the point with unit angular velocity ω ^ \hat{\omega} ω^. Assuming the rotation axis passing through the origin, the motion is describe by
R ⃗ ˙ p ( t ) = ω ^ × R ⃗ p = ω ^ ~ R ⃗ p ( t ) , p ( 0 ) = p 0 \dot{\vec{R}}_p\left( t \right) =\hat{\omega}\times \vec{R}_p=\tilde{\hat{\omega}}\vec{R}_p\left( t \right) ,p\left( 0 \right) =p_0 R ˙p(t)=ω^×R p=ω^~R p(t),p(0)=p0
linear velocity at time t t t, recall x ˙ = A x , x ( 0 ) = x 0 ⇒ x ( t ) = e A t x 0 \dot{x}=Ax,x\left( 0 \right) =x_0\Rightarrow x\left( t \right) =e^{At}x_0 x˙=Ax,x(0)=x0⇒x(t)=eAtx0 - This is a linear ODE with solution : R ⃗ ˙ p ( t ) = ω ^ ~ R ⃗ p ( t ) ⇒ R ⃗ ˙ p ( t ) = e ω ^ ~ t R ⃗ p 0 \dot{\vec{R}}_p\left( t \right) =\tilde{\hat{\omega}}\vec{R}_p\left( t \right) \Rightarrow \dot{\vec{R}}p\left( t \right) =e^{\tilde{\hat{\omega}}t}\vec{R}{p_0} R ˙p(t)=ω^~R p(t)⇒R ˙p(t)=eω^~tR p0
- After t = θ t=\theta t=θ, the point has been rotated by θ \theta θ degree. Note R ⃗ ˙ p ( θ ) = e ω ^ ~ θ R ⃗ p 0 \dot{\vec{R}}p\left( \theta \right) =e^{\tilde{\hat{\omega}}\theta}\vec{R}{p_0} R ˙p(θ)=eω^~θR p0, e ω ^ ~ θ e^{\tilde{\hat{\omega}}\theta} eω^~θ is rotation operator
- R o t ( ω ^ , θ ) ≜ e ω ^ ~ θ \mathrm{Rot}\left( \hat{\omega},\theta \right) \triangleq e^{\tilde{\hat{\omega}}\theta} Rot(ω^,θ)≜eω^~θ can be viewed as a rotation operator that rotates a point about ω ^ \hat{\omega} ω^ through θ \theta θ degree
The discussion holds for any reference frame
1.3 Raotation Matrix as a Rotation Operator
- Theorem: Every rotation matrix R R R can be written as R = R o t ( ω ^ , θ ) ≜ e ω ^ ~ θ ∈ S O ( 3 ) { R T R = E , det ( R ) = 1 } R=\mathrm{Rot}\left( \hat{\omega},\theta \right) \triangleq e^{\tilde{\hat{\omega}}\theta}\in SO\left( 3 \right) \left\{ R^{\mathrm{T}}R=E,\det \left( R \right) =1 \right\} R=Rot(ω^,θ)≜eω^~θ∈SO(3){RTR=E,det(R)=1}, i.e. , it represents a rotation operation about ω ^ \hat{\omega} ω^ by θ \theta θ
- We have seen how to use R R R to represent frame orientation and change of coordinate between different frames. They are quite different from the operator interpretation of R R R
- To apply the rotation operation, all the vectors / matrices have to be expressed in the same refrence frame
For example, assume R = 1 0 0 0 0 − 1 0 1 0 = R o t ( x ^ , π 2 ) R=\left \\begin{matrix} 1\& 0\& 0\\\\ 0\& 0\& -1\\\\ 0\& 1\& 0\\\\ \\end{matrix} \\right =\mathrm{Rot}\left( \hat{x},\frac{\pi}{2} \right) R= 1000010−10 =Rot(x^,2π)
Consider a relation q = R p q=Rp q=Rp:
- Change reference frame interpretation : two frames { A } , { B } \left\{ A \right\} ,\left\{ B \right\} {A},{B} , one physical Point a a a
R R R : orientation of { B } \left\{ B \right\} {B} relative to { A } \left\{ A \right\} {A} : i.e. R = Q B A R=\left Q_{\\mathrm{B}}\^{A} \\right R=QBA
then : p = a B , q = a A , q = R p ⇒ a A = Q B A a B p=a^B,q=a^A,q=Rp\Rightarrow a^A=\left Q_{\\mathrm{B}}\^{A} \\right a^B p=aB,q=aA,q=Rp⇒aA=QBAaB- Rotation operator interpretation : one frame and two points
a → a ′ , p = a A , q = a ′ A ⇒ a ′ A = R a A a\rightarrow a^{\prime},p=a^A,q={a^{\prime}}^A\Rightarrow {a^{\prime}}^A=Ra^A a→a′,p=aA,q=a′A⇒a′A=RaAConsider the frame operation:
- Change of reference frame :
Have one "frame object", two reference frames
Frame object { A } \left\{ A \right\} {A}, orientation in { O } \left\{ O \right\} {O} , is R A O , R A B R_{\mathrm{A}}^{O},R_{\mathrm{A}}^{B} RAO,RAB, ⇒ R A O = R B O R A B = R R A B \Rightarrow R_{\mathrm{A}}^{O}=R_{\mathrm{B}}^{O}R_{\mathrm{A}}^{B}=RR_{\mathrm{A}}^{B} ⇒RAO=RBORAB=RRAB- Rotation a frame : R ′ A = R R A {R^{\prime}}A=RR_A R′A=RRA
two frame objects, one refrence frame
more precisely : R ′ A = R R A ⇒ R A ′ O = R R A O {R^{\prime}}A=RR_A\Rightarrow R{\mathrm{A}^{\prime}}^{O}=RR{\mathrm{A}}^{O} R′A=RRA⇒RA′O=RRAO
2. Rotation Operation in Different Frames
2.1 Rotation Martix Properties
Q Q T = E \left Q \\right \left Q \\right ^{\mathrm{T}}=E QQT=E
Q 1 Q 2 ∈ S O ( 3 ) , i f Q 1 , Q 2 ∈ S O ( 3 ) \left Q_1 \\right \left Q_2 \\right \in SO\left( 3 \right) ,if\,\,\left Q_1 \\right ,\left Q_2 \\right \in SO\left( 3 \right) Q1Q2∈SO(3),ifQ1,Q2∈SO(3): product of two rotation matrices is also a rotation matrix
p , q ∈ R 3 , ∥ Q R ⃗ p − Q R ⃗ q ∥ 2 = ∥ Q ( R ⃗ p − R ⃗ q ) ∥ 2 = ( R ⃗ p − R ⃗ q ) T Q T Q ( R ⃗ p − R ⃗ q ) = ∥ R ⃗ p − R ⃗ q ∥ 2 p,q\in \mathbb{R} ^3,\left\| \left Q \\right \vec{R}p-\left Q \\right \vec{R}{\mathrm{q}} \right\| ^2=\left\| \left Q \\right \left( \vec{R}p-\vec{R}{\mathrm{q}} \right) \right\| ^2=\left( \vec{R}p-\vec{R}{\mathrm{q}} \right) ^{\mathrm{T}}\left Q \\right ^{\mathrm{T}}\left Q \\right \left( \vec{R}p-\vec{R}{\mathrm{q}} \right) =\left\| \vec{R}p-\vec{R}{\mathrm{q}} \right\| ^2 p,q∈R3, QR p−QR q 2= Q(R p−R q) 2=(R p−R q)TQTQ(R p−R q)= R p−R q 2
∥ R ⃗ p − R ⃗ q ∥ = ∥ Q R ⃗ p − Q R ⃗ q ∥ \left\| \vec{R}p-\vec{R}{\mathrm{q}} \right\| =\left\| \left Q \\right \vec{R}p-\left Q \\right \vec{R}{\mathrm{q}} \right\| R p−R q = QR p−QR q : rotation operator preserves distance
Q ( v ⃗ × w ⃗ ) = Q v ⃗ × Q w ⃗ \left Q \\right \left( \vec{v}\times \vec{w} \right) =\left Q \\right \vec{v}\times \left Q \\right \vec{w} Q(v ×w )=Qv ×Qw
Q w ⃗ ~ Q T = Q w ⃗ ~ \left Q \\right \tilde{\vec{w}}\left Q \\right ^{\mathrm{T}}=\widetilde{\left Q \\right \vec{w}} Qw ~QT=Qw ------ important
2.2 Rotation Operation in Different Frames
Consider two frames { A } \left\{ A \right\} {A} and { B } \left\{ B \right\} {B}, the actual numerical values of the operator R o t ( ω ^ , θ ) \mathrm{Rot}\left( \hat{\omega},\theta \right) Rot(ω^,θ) depend on both the reference frame to repersent ω ^ \hat{\omega} ω^ and the reference frame to represent the operator itself
Consider a rotation axis ω ^ \hat{\omega} ω^ (coordinate free vector), with { A } \left\{ A \right\} {A} - frame coordinate ω ^ A \hat{\omega}^A ω^A and { B } \left\{ B \right\} {B} - frame. We know ω ⃗ A = Q B A ω ⃗ B \vec{\omega}^A=\left Q_{\\mathrm{B}}\^{A} \\right \vec{\omega}^B ω A=QBAω B
Let B R o t ( B ω ^ , θ ) ^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) BRot(Bω^,θ) and A R o t ( A ω ^ , θ ) ^A\mathrm{Rot}\left( ^A\hat{\omega},\theta \right) ARot(Aω^,θ) be the two rotation matrices, representing the same rotation operatioon R o t ( ω ^ , θ ) \mathrm{Rot}\left( \hat{\omega},\theta \right) Rot(ω^,θ) in frames { A } \left\{ A \right\} {A} and { B } \left\{ B \right\} {B}
We have the relation : A R o t ( A ω ^ , θ ) = Q B A B R o t ( B ω ^ , θ ) Q A B ^A\mathrm{Rot}\left( ^A\hat{\omega},\theta \right) =\left Q_{\\mathrm{B}}\^{A} \\right ^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) \left Q_{\\mathrm{A}}\^{B} \\right ARot(Aω^,θ)=QBABRot(Bω^,θ)QAB
-
Approach 1 : two points p → p ′ ⇒ R ⃗ p ′ A = A R o t ( A ω ^ , θ ) R ⃗ p A p\rightarrow p^{\prime}\Rightarrow \vec{R}{\mathrm{p}^{\prime}}^{A}=^A\mathrm{Rot}\left( ^A\hat{\omega},\theta \right) \vec{R}{\mathrm{p}}^{A} p→p′⇒R p′A=ARot(Aω^,θ)R pA
{ B } \left\{ B \right\} {B} - frame : R ⃗ p ′ B = B R o t ( B ω ^ , θ ) R ⃗ p B \vec{R}{\mathrm{p}^{\prime}}^{B}=^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) \vec{R}{\mathrm{p}}^{B} R p′B=BRot(Bω^,θ)R pB
⇒ Q B A R ⃗ p ′ B = Q B A B R o t ( B ω ^ , θ ) R ⃗ p B ⇒ R ⃗ p ′ A = Q B A B R o t ( B ω ^ , θ ) Q B A R ⃗ p A ⇒ A R o t ( A ω ^ , θ ) = Q B A B R o t ( B ω ^ , θ ) Q B A \Rightarrow \left Q_{\\mathrm{B}}\^{A} \\right \vec{R}{\mathrm{p}^{\prime}}^{B}=\left Q_{\\mathrm{B}}\^{A} \\right ^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) \vec{R}{\mathrm{p}}^{B}\Rightarrow \vec{R}{\mathrm{p}^{\prime}}^{A}=\left Q_{\\mathrm{B}}\^{A} \\right ^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) \left Q_{\\mathrm{B}}\^{A} \\right \vec{R}{\mathrm{p}}^{A}\Rightarrow ^A\mathrm{Rot}\left( ^A\hat{\omega},\theta \right) =\left Q_{\\mathrm{B}}\^{A} \\right ^B\mathrm{Rot}\left( ^B\hat{\omega},\theta \right) \left Q_{\\mathrm{B}}\^{A} \\right ⇒QBAR p′B=QBABRot(Bω^,θ)R pB⇒R p′A=QBABRot(Bω^,θ)QBAR pA⇒ARot(Aω^,θ)=QBABRot(Bω^,θ)QBA -
Approach 2 : for a ⃗ ∈ R 3 , a ⃗ ~ ∈ s o ( 3 ) , Q ∈ S O ( 3 ) \vec{a}\in \mathbb{R} ^3,\tilde{\vec{a}}\in so\left( 3 \right) ,\left Q \\right \in SO\left( 3 \right) a ∈R3,a ~∈so(3),Q∈SO(3)
⇒ Q a ⃗ ∈ R 3 , Q a ⃗ ~ = Q a ⃗ ~ Q T \Rightarrow \left Q \\right \vec{a}\in \mathbb{R} ^3,\widetilde{\left Q \\right \vec{a}}=\left Q \\right \tilde{\vec{a}}\left Q \\right ^{\mathrm{T}} ⇒Qa ∈R3,Qa =Qa ~QT
R o t ( ω ⃗ A , θ ) = e ω ⃗ ~ A θ = e Q B A ω ⃗ B ~ θ = e Q B A ω ⃗ ~ B Q B A T θ = Q B A e ω ⃗ ~ B θ Q B A T ← e P A P − 1 = P e A P − 1 Rot\left( \vec{\omega}^A,\theta \right) =e^{\tilde{\vec{\omega}}^A\theta}=e^{\widetilde{\left Q_{\\mathrm{B}}\^{A} \\right \vec{\omega}^B}\theta}=e^{\left Q_{\\mathrm{B}}\^{A} \\right \tilde{\vec{\omega}}^B\left Q_{\\mathrm{B}}\^{A} \\right ^{\mathrm{T}}\theta}=\left Q_{\\mathrm{B}}\^{A} \\right e^{\tilde{\vec{\omega}}^B\theta}\left Q_{\\mathrm{B}}\^{A} \\right ^{\mathrm{T}}\gets e^{PAP^{-1}}=Pe^AP^{-1} Rot(ω A,θ)=eω ~Aθ=eQBAω B θ=eQBAω ~BQBATθ=QBAeω ~BθQBAT←ePAP−1=PeAP−1
3. Rigid-Body Operation via Diffeential Equation
Recall: Every Q ∈ S O ( 3 ) \left Q \\right \in SO\left( 3 \right) Q∈SO(3) can be viewed as the state transition matrix associated with the rotation ODE(1). It maps the initial position to the current position(after the rotation motion)
- p ⃗ ( θ ) = R o t ( ω ⃗ , θ ) p ⃗ 0 \vec{p}\left( \theta \right) =Rot\left( \vec{\omega},\theta \right) \vec{p}_0 p (θ)=Rot(ω ,θ)p 0 viewed as solution to p ⃗ ˙ ( t ) = ω ⃗ ~ p ⃗ ( t ) , p ⃗ ( 0 ) = p ⃗ 0 \dot{\vec{p}}\left( t \right) =\tilde{\vec{\omega}}\vec{p}\left( t \right) ,\vec{p}\left( 0 \right) =\vec{p}_0 p ˙(t)=ω ~p (t),p (0)=p 0 at t = θ t=\theta t=θ
- The above relation requires that the rotation axis passes through the origin.
We can obtain similar ODE characterization for T ∈ S E ( 3 ) \left T \\right \in SE\left( 3 \right) T∈SE(3) , which will lead to exponential coordinate of SE(3)
Recall : Theorem (Chasles): Every rigid body motion can be realized by a screw motion
Consider a point p p p undergoes a screw motion with screw axis S \mathcal{S} S and unit speed ( θ ˙ = 1 \dot{\theta}=1 θ˙=1) . Let the cooresponding twist be V = θ ˙ S = ( ω ⃗ , v ⃗ ) \mathcal{V} =\dot{\theta}\mathcal{S} =\left( \vec{\omega},\vec{v} \right) V=θ˙S=(ω ,v ) . The motion can be described be the following ODE.
p ⃗ ˙ ( t ) = ω ⃗ × p ⃗ ( t ) + v ⃗ ⇒ p ⃗ ˙ ( t ) 0 = ω ⃗ \~ v ⃗ 0 0 p ⃗ ( t ) 1 \dot{\vec{p}}\left( t \right) =\vec{\omega}\times \vec{p}\left( t \right) +\vec{v}\Rightarrow \left \\begin{array}{c} \\dot{\\vec{p}}\\left( t \\right)\\\\ 0\\\\ \\end{array} \\right =\left \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right \left \\begin{array}{c} \\vec{p}\\left( t \\right)\\\\ 1\\\\ \\end{array} \\right p ˙(t)=ω ×p (t)+v ⇒p ˙(t)0=ω \~0v 0p (t)1
Solution in homogeneous coordinate is :
p ⃗ ( t ) 1 \] = exp ( \[ ω ⃗ \~ v ⃗ 0 0 \] t ) \[ p ⃗ ( 0 ) 1 \] \\left\[ \\begin{array}{c} \\vec{p}\\left( t \\right)\\\\ 1\\\\ \\end{array} \\right\] =\\exp \\left( \\left\[ \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right\] t \\right) \\left\[ \\begin{array}{c} \\vec{p}\\left( 0 \\right)\\\\ 1\\\\ \\end{array} \\right\] \[p (t)1\]=exp(\[ω \~0v 0\]t)\[p (0)1
3.1 SE(3)
For any twist V = ( ω ⃗ , v ⃗ ) \mathcal{V} =\left( \vec{\omega},\vec{v} \right) V=(ω ,v ), let V \left \\mathcal{V} \\right V be its matrix representation of twist V \mathcal{V} V
V = ω ⃗ \~ v ⃗ 0 0 ∈ R 4 × 4 \left \\mathcal{V} \\right =\left \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right \in \mathbb{R} ^{4\times 4} V=ω \~0v 0∈R4×4
-
The abve definition also applies to a screw axis S = ( ω ⃗ , v ⃗ ) , S = ω ⃗ \~ v ⃗ 0 0 \mathcal{S} =\left( \vec{\omega},\vec{v} \right) ,\left \\mathcal{S} \\right =\left \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right S=(ω ,v ),S=ω \~0v 0
-
With this notation, the solution is p ⃗ ( t ) 1 = e S t p ⃗ ( 0 ) 1 \left \\begin{array}{c} \\vec{p}\\left( t \\right)\\\\ 1\\\\ \\end{array} \\right =e^{\left \\mathcal{S} \\right t}\left \\begin{array}{c} \\vec{p}\\left( 0 \\right)\\\\ 1\\\\ \\end{array} \\right p (t)1=eStp (0)1
-
Fact: e S t ∈ S E ( 3 ) e^{\left \\mathcal{S} \\right t}\in SE\left( 3 \right) eSt∈SE(3) is always a valid homogeneous transformation matrix.
T \] = e \[ S \] t = \[ \[ Q \] R ⃗ 0 1 \] \\left\[ T \\right\] =e\^{\\left\[ \\mathcal{S} \\right\] t}=\\left\[ \\begin{matrix} \\left\[ Q \\right\]\& \\vec{R}\\\\ 0\& 1\\\\ \\end{matrix} \\right\] \[T\]=e\[S\]t=\[\[Q\]0R 1
-
Fact: Any T ∈ S E ( 3 ) T\in SE\left( 3 \right) T∈SE(3) can be written as T = e S t \left T \\right =e^{\left \\mathcal{S} \\right t} T=eSt, i.e. , it can be viewed as an operator that moves a point/frame along the screw axis S \mathcal{S} S at unit speed for time t t t
3.2 se(3)
∀ ω ⃗ ∈ R 3 → ω ⃗ ~ ∈ s o ( 3 ) → e ω ⃗ ~ θ ∈ S O ( 3 ) ∀ S ∈ R 6 → S ∣ 4 × 4 = ω ⃗ \~ v ⃗ 0 0 ∈ s e ( 3 ) → e S θ ∈ S E ( 3 ) \forall \vec{\omega}\in \mathbb{R} ^3\rightarrow \tilde{\vec{\omega}}\in so\left( 3 \right) \rightarrow e^{\tilde{\vec{\omega}}\theta}\in SO\left( 3 \right) \\ \forall \mathcal{S} \in \mathbb{R} ^6\rightarrow \left. \left \\mathcal{S} \\right \right|_{4\times 4}=\left \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right \in se\left( 3 \right) \rightarrow e^{\left \\mathcal{S} \\right \theta}\in SE\left( 3 \right) ∀ω ∈R3→ω ~∈so(3)→eω ~θ∈SO(3)∀S∈R6→S∣4×4=ω \~0v 0∈se(3)→eSθ∈SE(3)
Similar to s o ( 3 ) so\left( 3 \right) so(3) , we can define s e ( 3 ) se\left( 3 \right) se(3) :
s e ( 3 ) = { ( ω ⃗ ~ , v ⃗ ) , ω ⃗ ~ ∈ s o ( 3 ) , v ⃗ ∈ R 3 } se\left( 3 \right) =\left\{ \left( \tilde{\vec{\omega}},\vec{v} \right) ,\tilde{\vec{\omega}}\in so\left( 3 \right) ,\vec{v}\in \mathbb{R} ^3 \right\} se(3)={(ω ~,v ),ω ~∈so(3),v ∈R3}
- s e ( 3 ) se\left( 3 \right) se(3) contains all matrix representation of twists or equivalently all twists.
- In some references, V \left \\mathcal{V} \\right V is called a twist
- Sometimes, we may abuse notation by writing V ∈ s e ( 3 ) \mathcal{V} \in se\left( 3 \right) V∈se(3)
4. Homogeneous Transformation Matrix as Rigid-Body Operator
-
ODE for rigid motion under V = ( ω ⃗ , v ⃗ ) \mathcal{V} =\left( \vec{\omega},\vec{v} \right) V=(ω ,v )
p ⃗ ˙ = v ⃗ + ω ⃗ × p ⃗ ⇒ p ⃗ ˙ 0 = ω ⃗ \~ v ⃗ 0 0 p ⃗ 1 ⇒ p ⃗ ˙ 0 = e V t p ⃗ 1 \dot{\vec{p}}=\vec{v}+\vec{\omega}\times \vec{p}\Rightarrow \left \\begin{array}{c} \\dot{\\vec{p}}\\\\ 0\\\\ \\end{array} \\right =\left \\begin{matrix} \\tilde{\\vec{\\omega}}\& \\vec{v}\\\\ 0\& 0\\\\ \\end{matrix} \\right \left \\begin{array}{c} \\vec{p}\\\\ 1\\\\ \\end{array} \\right \Rightarrow \left \\begin{array}{c} \\dot{\\vec{p}}\\\\ 0\\\\ \\end{array} \\right =e^{\left \\mathcal{V} \\right t}\left \\begin{array}{c} \\vec{p}\\\\ 1\\\\ \\end{array} \\right p ˙=v +ω ×p ⇒p ˙0=ω \~0v 0p 1⇒p ˙0=eVtp 1 -
Consider "unit velocity" V = S \mathcal{V} =\mathcal{S} V=S, then time t t t means degree
if not unit speed : V = θ ˙ S \mathcal{V} =\dot{\theta}\mathcal{S} V=θ˙S
-
p ⃗ ′ 1 = T p ⃗ 1 \left \\begin{array}{c} \\vec{p}\^{\\prime}\\\\ 1\\\\ \\end{array} \\right =\left T \\right \left \\begin{array}{c} \\vec{p}\\\\ 1\\\\ \\end{array} \\right p ′1=Tp 1 : "rotate" p ⃗ \vec{p} p about screw axis S \mathcal{S} S by θ \theta θ degree
T \] = e \[ S \] θ \\left\[ T \\right\] =e\^{\\left\[ \\mathcal{S} \\right\] \\theta} \[T\]=e\[S\]θ, two points : \[ p ⃗ 1 \] → \[ p ⃗ ′ 1 \] \\left\[ \\begin{array}{c} \\vec{p}\\\\ 1\\\\ \\end{array} \\right\] \\rightarrow \\left\[ \\begin{array}{c} \\vec{p}\^{\\prime}\\\\ 1\\\\ \\end{array} \\right\] \[p 1\]→\[p ′1\] , more precisely : \[ p ⃗ O ′ 1 \] = \[ T O \] \[ p ⃗ O 1 \] \\left\[ \\begin{array}{c} {\\vec{p}\^O}\^{\\prime}\\\\ 1\\\\ \\end{array} \\right\] =\\left\[ T\^O \\right\] \\left\[ \\begin{array}{c} \\vec{p}\^O\\\\ 1\\\\ \\end{array} \\right\] \[p O′1\]=\[TO\]\[p O1
For T ∈ S E ( 3 ) \left T \\right \in SE\left( 3 \right) T∈SE(3) config representative T B A \left T_{\\mathrm{B}}\^{A} \\right TBA : config of { B } \left\{ B \right\} {B} relative to { A } \left\{ A \right\} {A} ------ p ⃗ A 1 = T B A p ⃗ B 1 \left \\begin{array}{c} \\vec{p}\^A\\\\ 1\\\\ \\end{array} \\right =\left T_{\\mathrm{B}}\^{A} \\right \left \\begin{array}{c} \\vec{p}\^B\\\\ 1\\\\ \\end{array} \\right p A1=TBAp B1------same physical point but two different frames
-
T T A \left T \\right \left T_A \\right TTA : "rotate" { A } \left\{ A \right\} {A}-frame about S \mathcal{S} S by θ \theta θ degree
Rigid-Body Operator in Different Frames
Expression of T \left T \\right T in another frame (other than { O } \left\{ O \right\} {O}):
T O \] ↔ \[ T B O \] − 1 \[ T O \] \[ T B O \] \\left\[ T\^O \\right\] \\leftrightarrow \\left\[ T_{\\mathrm{B}}\^{O} \\right\] \^{-1}\\left\[ T\^O \\right\] \\left\[ T_{\\mathrm{B}}\^{O} \\right\] \[TO\]↔\[TBO\]−1\[TO\]\[TBO
5. Rigid-Body Operation of Screw Axis
Consider an arbitrary screw axis S \mathcal{S} S , suppose the axis has gone through a rigid transformation T = ( Q , R ⃗ ) \left T \\right =\left( \left Q \\right ,\vec{R} \right) T=(Q,R ) and the resulting new screw axis is S ′ \mathcal{S} ^{\prime} S′ , then
S ′ = A d T S \mathcal{S} ^{\prime}=\left Ad_T \\right \mathcal{S} S′=AdTS
Let's work an arbitrary frame { A } \left\{ A \right\} {A} (rigidly attached to the screw axis)
Let { B } \left\{ B \right\} {B} be the frame obtained be apply T \left T \\right T operation
the coordinate of S \mathcal{S} S in { A } \left\{ A \right\} {A} is the same as the coordinate of S ′ \mathcal{S} ^{\prime} S′ in { B } \left\{ B \right\} {B} : S A = S ′ B \mathcal{S} ^A={\mathcal{S} ^{\prime}}^B SA=S′B
We also know T B = T T A , T = T B A \left T_B \\right =\left T \\right \left T_{\\mathrm{A}} \\right ,\left T \\right =\left T_{\\mathrm{B}}\^{A} \\right TB=TTA,T=TBA
Multiply X B A \left X_{\\mathrm{B}}\^{A} \\right XBA : ⇒ X B A S A = X B A S ′ B = S ′ A ⇒ S ′ A = X B A S A \Rightarrow \left X_{\\mathrm{B}}\^{A} \\right \mathcal{S} ^A=\left X_{\\mathrm{B}}\^{A} \\right {\mathcal{S} ^{\prime}}^B={\mathcal{S} ^{\prime}}^A\Rightarrow {\mathcal{S} ^{\prime}}^A=\left X_{\\mathrm{B}}\^{A} \\right \mathcal{S} ^A ⇒XBASA=XBAS′B=S′A⇒S′A=XBASA
X B A \] = \[ \[ Q B A \] 0 R ⃗ \~ B A \[ Q B A \] \[ Q B A \] \] = \[ A d T \] \\left\[ X_{\\mathrm{B}}\^{A} \\right\] =\\left\[ \\begin{matrix} \\left\[ Q_{\\mathrm{B}}\^{A} \\right\]\& 0\\\\ \\tilde{\\vec{R}}_{\\mathrm{B}}\^{A}\\left\[ Q_{\\mathrm{B}}\^{A} \\right\]\& \\left\[ Q_{\\mathrm{B}}\^{A} \\right\]\\\\ \\end{matrix} \\right\] =\\left\[ Ad_T \\right\] \[XBA\]=\[\[QBA\]R \~BA\[QBA\]0\[QBA\]\]=\[AdT
1
2
3
4
5
6
7
8
9