[足式机器人]Part4 南科大高等机器人控制课 Ch08 Rigid Body Dynamics

本文仅供学习使用
本文参考:
B站:CLEAR_LAB
笔者带更新-运动学
课程主讲教师:
Prof. Wei Zhang

南科大高等机器人控制课 Ch08 Rigid Body Dynamics

  • 1. Spatial Vecocity
    • 1.1 Spatial vs. Conventional Accel
    • 1.2 Plueker Coordinate System and Basis Vectors
    • 1.3 Work with Moving Reference Frame
    • 1.4 Derivative of Adjoint
      • 1.4.1 Spatial Cross Product
      • 1.4.2 Spatial Acceleration with Moving Reference Frame
  • 2. Spatial Force(Wrench)
    • 2.1 Spatial Force in Pluecker Coordinate Systems
    • 2.2 Wrench-Twist Pair and Power
    • 2.3 Joint Torque
  • 3. Spatial Momentum
    • 3.1 Rotational Interial
    • 3.2 Change Reference for Momentum
    • 3.3 Spatial Inertia
  • 4. Newton-Euler Equation using Spatial Vectors
    • 4.1 Cross Product for Spatial Force and Momentum
    • 4.2 Newton-Euler Equation
    • 4.3 Derivations of Newton-Euler Equation


1. Spatial Vecocity

Given a rigid body with spatial velocity V = ( ω ⃗ , v ⃗ ) \mathcal{V} =\left( \vec{\omega},\vec{v} \right) V=(ω ,v ) , its spatial acceleration (coordinate-free)
A = V ˙ = [ ω ⃗ ˙ v ⃗ ˙ O ] , A = lim ⁡ δ → 0 V ( t + δ ) − V ( t ) δ \mathcal{A} =\dot{\mathcal{V}}=\left[ \begin{array}{c} \dot{\vec{\omega}}\\ \dot{\vec{v}}_{\mathrm{O}}\\ \end{array} \right] ,\mathcal{A} =\underset{\delta \rightarrow 0}{\lim}\frac{\mathcal{V} \left( t+\delta \right) -\mathcal{V} \left( t \right)}{\delta} A=V˙=[ω ˙v ˙O],A=δ0limδV(t+δ)V(t)
Recall that: v ⃗ O \vec{v}_{\mathrm{O}} v O i sthe velocity of the body-fixed particle coincident with frame origin o o o at the current time t t t

Note : ω ⃗ ˙ \dot{\vec{\omega}} ω ˙ is the angular acceleration of the body

v ⃗ ˙ O \dot{\vec{v}}_{\mathrm{O}} v ˙O is not the acceleration of any body-fixed point ! v ⃗ O = R ⃗ ˙ q ( t ) , v ⃗ ˙ O ≠ R ⃗ ¨ q ( t ) \vec{v}_{\mathrm{O}}=\dot{\vec{R}}_q\left( t \right) ,\dot{\vec{v}}_{\mathrm{O}}\ne \ddot{\vec{R}}_q\left( t \right) v O=R ˙q(t),v ˙O=R ¨q(t)
In face, v ⃗ ˙ O \dot{\vec{v}}_{\mathrm{O}} v ˙O gives the rate of change in stream velocity of body-fixed particles passing through o o o

1.1 Spatial vs. Conventional Accel

Suppose R ⃗ q ( t ) \vec{R}_q\left( t \right) R q(t) is the body fixed particle coincides with o o o at time t t t
So by definition , we have v ⃗ O ( t ) = R ⃗ ˙ q ( t ) \vec{v}_{\mathrm{O}}\left( t \right) =\dot{\vec{R}}_q\left( t \right) v O(t)=R ˙q(t) , however v ⃗ ˙ O ≠ R ⃗ ¨ q ( t ) \dot{\vec{v}}_{\mathrm{O}}\ne \ddot{\vec{R}}_q\left( t \right) v ˙O=R ¨q(t) , where R ⃗ ¨ q ( t ) \ddot{\vec{R}}_q\left( t \right) R ¨q(t) is the conventional acceleration of the body-fixed point q q q

At time t t t : R ⃗ q ( t ) = 0 \vec{R}_q\left( t \right) =0 R q(t)=0 , v ⃗ O ( t ) = R ⃗ ˙ q ( t ) \vec{v}_{\mathrm{O}}\left( t \right) =\dot{\vec{R}}_q\left( t \right) v O(t)=R ˙q(t)
At time t + δ t+\delta t+δ : R ⃗ q ′ ( t ) = 0 \vec{R}_{q^{\prime}}\left( t \right) =0 R q(t)=0 , v ⃗ O ( t + δ ) = R ⃗ ˙ q ′ ( t + δ ) ≠ R ⃗ ˙ q ( t + δ ) \vec{v}_{\mathrm{O}}\left( t+\delta \right) =\,\,\dot{\vec{R}}_{q^{\prime}}\left( t+\delta \right) \ne \dot{\vec{R}}_q\left( t+\delta \right) v O(t+δ)=R ˙q(t+δ)=R ˙q(t+δ) —— q ′ q^{\prime} q another body-fixed particle

  • Note : q q q and q ′ q^{\prime} q are different points, lim ⁡ δ → 0 v ⃗ O ( t ) = v ⃗ O ( t + δ ) − v ⃗ O ( t ) δ = R ⃗ ˙ q ′ ( t + δ ) − R ⃗ q ( t ) δ \underset{\delta \rightarrow 0}{\lim}\vec{v}_{\mathrm{O}}\left( t \right) =\frac{\vec{v}_{\mathrm{O}}\left( t+\delta \right) -\vec{v}_{\mathrm{O}}\left( t \right)}{\delta}=\frac{\dot{\vec{R}}_{q^{\prime}}\left( t+\delta \right) -\vec{R}_q\left( t \right)}{\delta} δ0limv O(t)=δv O(t+δ)v O(t)=δR ˙q(t+δ)R q(t)

实际上只需考虑Twist最开始的定义,即速度 v ⃗ O \vec{v}_{\mathrm{O}} v O 并不是某一点的速度,而是考虑相对坐标系原点而言的虚拟点在该角速度下的瞬时速度( R ⃗ ˙ q ( t ) = v ⃗ O ( t ) + ω ⃗ ( t ) × R ⃗ q ( t ) \dot{\vec{R}}_q\left( t \right) =\vec{v}_{\mathrm{O}}\left( t \right) +\vec{\omega}\left( t \right) \times \vec{R}_q\left( t \right) R ˙q(t)=v O(t)+ω (t)×R q(t)),而与该坐标系所代表的真实点的运动无关( R ⃗ q ( t ) \vec{R}_q\left( t \right) R q(t) is the body fixed particle coincides with o o o at time t t t),即为:
R ⃗ ¨ q ( t ) = v ⃗ ˙ O ( t ) + ω ⃗ ˙ ( t ) × R ⃗ q ( t ) ↗ 0 + ω ⃗ ( t ) × R ⃗ ˙ q ( t ) = v ⃗ ˙ O ( t ) + ω ⃗ ( t ) × R ⃗ ˙ q ( t ) \ddot{\vec{R}}_q\left( t \right) =\dot{\vec{v}}_{\mathrm{O}}\left( t \right) +\dot{\vec{\omega}}\left( t \right) \times \vec{R}_q\left( t \right) _{\nearrow 0}+\vec{\omega}\left( t \right) \times \dot{\vec{R}}_q\left( t \right) =\dot{\vec{v}}_{\mathrm{O}}\left( t \right) +\vec{\omega}\left( t \right) \times \dot{\vec{R}}_q\left( t \right) R ¨q(t)=v ˙O(t)+ω ˙(t)×R q(t)0+ω (t)×R ˙q(t)=v ˙O(t)+ω (t)×R ˙q(t)

1.2 Plueker Coordinate System and Basis Vectors

按照向量的本质理解即可,这也是笔者为啥不是很喜欢旋量的原因。

Recall coordinate-free concept: let R ⃗ ∈ R 3 \vec{R}\in \mathbb{R} ^3 R R3 be a free vector with { O } \left\{ O \right\} {O} and { B } \left\{ B \right\} {B} frame coordinate R ⃗ O \vec{R}^O R O and R ⃗ B \vec{R}^B R B

矢量的变换:
在这里插入图片描述在这里插入图片描述

旋量的变换:
在这里插入图片描述
[ e B 1 O e B 2 O e B 3 O e B 4 O e B 4 O e B 5 O ] 6 × 6 = [ X B O ] = [ A d [ T B O ] ] \left[ \begin{array}{l} e_{\mathrm{B}1}^{O}& e_{\mathrm{B}2}^{O}& e_{\mathrm{B}3}^{O}& e_{\mathrm{B}4}^{O}& e_{\mathrm{B}4}^{O}& e_{\mathrm{B}5}^{O}\\ \end{array} \right] _{6\times 6}=\left[ X_{\mathrm{B}}^{O} \right] =\left[ Ad_{\left[ T_{\mathrm{B}}^{O} \right]} \right] [eB1OeB2OeB3OeB4OeB4OeB5O]6×6=[XBO]=[Ad[TBO]]
在这里插入图片描述
在这里插入图片描述

1.3 Work with Moving Reference Frame

Now let’s work with { O } \left\{ O \right\} {O} frame to find the derivative —— we need to compute : [ e ˙ B 1 O e ˙ B 2 O e ˙ B 3 O e ˙ B 4 O e ˙ B 4 O e ˙ B 5 O ] 6 × 6 = [ X ˙ B O ] = d d t [ A d [ T B O ] ] \left[ \begin{array}{l} \dot{e}_{\mathrm{B}1}^{O}& \dot{e}_{\mathrm{B}2}^{O}& \dot{e}_{\mathrm{B}3}^{O}& \dot{e}_{\mathrm{B}4}^{O}& \dot{e}_{\mathrm{B}4}^{O}& \dot{e}_{\mathrm{B}5}^{O}\\ \end{array} \right] _{6\times 6}=\left[ \dot{X}_{\mathrm{B}}^{O} \right] =\frac{\mathrm{d}}{\mathrm{d}t}\left[ Ad_{\left[ T_{\mathrm{B}}^{O} \right]} \right] [e˙B1Oe˙B2Oe˙B3Oe˙B4Oe˙B4Oe˙B5O]6×6=[X˙BO]=dtd[Ad[TBO]]

Let’s denote : [ T B O ] = ( [ Q ] , R ⃗ ) ⇒ d d t ( [ [ Q ] 0 R ⃗ ~ [ Q ] [ Q ] ] ) = [ [ Q ˙ ] 0 ( R ⃗ ~ [ Q ] ) ′ [ Q ˙ ] ] \left[ T_{\mathrm{B}}^{O} \right] =\left( \left[ Q \right] ,\vec{R} \right) \Rightarrow \frac{\mathrm{d}}{\mathrm{d}t}\left( \left[ \begin{matrix} \left[ Q \right]& 0\\ \tilde{\vec{R}}\left[ Q \right]& \left[ Q \right]\\ \end{matrix} \right] \right) =\left[ \begin{matrix} \left[ \dot{Q} \right]& 0\\ \left( \tilde{\vec{R}}\left[ Q \right] \right) ^{\prime}& \left[ \dot{Q} \right]\\ \end{matrix} \right] [TBO]=([Q],R )dtd([[Q]R ~[Q]0[Q]])= [Q˙](R ~[Q])0[Q˙]

{ B } \left\{ B \right\} {B} frame has instantaneous velocity V B = [ ω ⃗ v ⃗ O ] \mathcal{V} _B=\left[ \begin{array}{c} \vec{\omega}\\ \vec{v}_{\mathrm{O}}\\ \end{array} \right] VB=[ω v O]

1.4 Derivative of Adjoint

Note : [ Q ˙ ] = ω ⃗ × [ Q ] , R ⃗ ˙ = v ⃗ O + ω ⃗ × R ⃗ , [ Q ] ω ⃗ ~ = [ Q ] ω ⃗ ~ [ Q ] T , ω ⃗ 1 × ω ⃗ 2 ~ = ω ⃗ ~ 1 ω ⃗ ~ 2 − ω ⃗ ~ 2 ω ⃗ ~ 1 \left[ \dot{Q} \right] =\vec{\omega}\times \left[ Q \right] ,\dot{\vec{R}}=\vec{v}_{\mathrm{O}}+\vec{\omega}\times \vec{R},\widetilde{\left[ Q \right] \vec{\omega}}=\left[ Q \right] \tilde{\vec{\omega}}\left[ Q \right] ^{\mathrm{T}},\widetilde{\vec{\omega}_1\times \vec{\omega}_2}=\tilde{\vec{\omega}}_1\tilde{\vec{\omega}}_2-\tilde{\vec{\omega}}_2\tilde{\vec{\omega}}_1 [Q˙]=ω ×[Q],R ˙=v O+ω ×R ,[Q]ω =[Q]ω ~[Q]T,ω 1×ω 2 =ω ~1ω ~2ω ~2ω ~1(Jacobi’s Identity)

After some computation :
d d t [ A d [ T B O ] ] = [ ω ⃗ ~ 0 v ⃗ ~ O ω ⃗ ~ ] [ A d [ T B O ] ] = [ X ˙ B O ] \frac{\mathrm{d}}{\mathrm{d}t}\left[ Ad_{\left[ T_{\mathrm{B}}^{O} \right]} \right] =\left[ \begin{matrix} \tilde{\vec{\omega}}& 0\\ \tilde{\vec{v}}_{\mathrm{O}}& \tilde{\vec{\omega}}\\ \end{matrix} \right] \left[ Ad_{\left[ T_{\mathrm{B}}^{O} \right]} \right] =\left[ \dot{X}_{\mathrm{B}}^{O} \right] dtd[Ad[TBO]]=[ω ~v ~O0ω ~][Ad[TBO]]=[X˙BO]

Define : [ ω ⃗ ~ 0 v ⃗ ~ O ω ⃗ ~ ] = V ~ B \left[ \begin{matrix} \tilde{\vec{\omega}}& 0\\ \tilde{\vec{v}}_{\mathrm{O}}& \tilde{\vec{\omega}}\\ \end{matrix} \right] =\tilde{\mathcal{V}}_B [ω ~v ~O0ω ~]=V~B
{ [ Q ˙ B O ] = ω ⃗ ~ B [ Q B O ] [ X ˙ B O ] = V ~ B [ X ˙ B O ] \begin{cases} \left[ \dot{Q}_{\mathrm{B}}^{O} \right] =\tilde{\vec{\omega}}_B\left[ Q_{\mathrm{B}}^{O} \right]\\ \left[ \dot{X}_{\mathrm{B}}^{O} \right] =\tilde{\mathcal{V}}_B\left[ \dot{X}_{\mathrm{B}}^{O} \right]\\ \end{cases} [Q˙BO]=ω ~B[QBO][X˙BO]=V~B[X˙BO]
In coordinate free: e ˙ B 1 O = V ~ B e B 1 O \dot{e}_{\mathrm{B}1}^{O}=\tilde{\mathcal{V}}_Be_{\mathrm{B}1}^{O} e˙B1O=V~BeB1O

1.4.1 Spatial Cross Product

Given two spatial velocities(twists) V 1 \mathcal{V} _1 V1 and V 2 \mathcal{V} _2 V2 , their spatial product is
V 1 × V 2 = [ ω ⃗ 1 v ⃗ 1 O ] × [ ω ⃗ 2 v ⃗ 2 O ] = [ ω ⃗ 1 × ω ⃗ 2 ω ⃗ 1 × v ⃗ 2 O + v ⃗ 1 O × ω ⃗ 2 ] \mathcal{V} _1\times \mathcal{V} _2=\left[ \begin{array}{c} \vec{\omega}_1\\ {\vec{v}_1}_{\mathrm{O}}\\ \end{array} \right] \times \left[ \begin{array}{c} \vec{\omega}_2\\ {\vec{v}_2}_{\mathrm{O}}\\ \end{array} \right] =\left[ \begin{array}{c} \vec{\omega}_1\times \vec{\omega}_2\\ \vec{\omega}_1\times {\vec{v}_2}_{\mathrm{O}}+{\vec{v}_1}_{\mathrm{O}}\times \vec{\omega}_2\\ \end{array} \right] V1×V2=[ω 1v 1O]×[ω 2v 2O]=[ω 1×ω 2ω 1×v 2O+v 1O×ω 2]

Matrix representation : V 1 × V 2 = V ~ 1 V 2 , V ~ 1 = [ ω ⃗ ~ 1 0 v ⃗ ~ 1 O ω ⃗ ~ 1 ] \mathcal{V} _1\times \mathcal{V} _2=\tilde{\mathcal{V}}_1\mathcal{V} _2,\tilde{\mathcal{V}}_1=\left[ \begin{matrix} \tilde{\vec{\omega}}_1& 0\\ {\tilde{\vec{v}}_1}_{\mathrm{O}}& \tilde{\vec{\omega}}_1\\ \end{matrix} \right] V1×V2=V~1V2,V~1=[ω ~1v ~1O0ω ~1]

Roughly speaking, when a motion V \mathcal{V} V is moving with a spatial velocity Z \mathcal{Z} Z (e.g. it is attached to a moving frame) but is otherwise not changing , then
V ˙ = Z × V \dot{\mathcal{V}}=\mathcal{Z} \times \mathcal{V} V˙=Z×V

  • Propertries

Assume A is moving wrt O O O with velocity V A \mathcal{V} _{\mathrm{A}} VA : [ X ˙ A O ] = V ~ A O [ X A O ] \left[ \dot{X}_{\mathrm{A}}^{O} \right] =\tilde{\mathcal{V}}_{\mathrm{A}}^{O}\left[ X_{\mathrm{A}}^{O} \right] [X˙AO]=V~AO[XAO]
[ X ] V ~ = [ X ] V ~ [ X ] T \widetilde{\left[ X \right] \mathcal{V} }=\left[ X \right] \tilde{\mathcal{V}}\left[ X \right] ^{\mathrm{T}} [X]V =[X]V~[X]T for any transformation [ X ] \left[ X \right] [X] and twist V \mathcal{V} V

1.4.2 Spatial Acceleration with Moving Reference Frame

Consider a body with velocity V B o d y \mathcal{V} _{\mathrm{Body}} VBody (wrt inertia frame), and V B o d y O \mathcal{V} _{\mathrm{Body}}^{O} VBodyO and V B o d y B \mathcal{V} _{\mathrm{Body}}^{B} VBodyB be its Plueker coordinates wrt { O } \left\{ O \right\} {O} and { B } \left\{ B \right\} {B} :
A B o d y B = d d t ( V B o d y B ) + V ~ B O B V B o d y B \mathcal{A} _{\mathrm{Body}}^{B}=\frac{\mathrm{d}}{\mathrm{d}t}\left( \mathcal{V} _{\mathrm{Body}}^{B} \right) +\tilde{\mathcal{V}}_{\mathrm{BO}}^{B}\mathcal{V} _{\mathrm{Body}}^{B} ABodyB=dtd(VBodyB)+V~BOBVBodyB
A B o d y O = [ X B O ] A B o d y B \mathcal{A} _{\mathrm{Body}}^{O}=\left[ X_{\mathrm{B}}^{O} \right] \mathcal{A} _{\mathrm{Body}}^{B} ABodyO=[XBO]ABodyB

A B o d y O = d d t ( V B o d y O ) = d d t ( [ X B O ] V B o d y B ) = [ X ˙ B O ] V B o d y B + [ X B O ] V ˙ B o d y B = V ~ B O [ X B O ] V B o d y B + [ X B O ] V ˙ B o d y B = [ X B O ] ( [ X O B ] V ~ B O [ X B O ] V B o d y B + V ˙ B o d y B ) = [ X B O ] ( [ X O B ] V B O ~ V B o d y B + V ˙ B o d y B ) = [ X B O ] ( V ~ B O B V B o d y B + V ˙ B o d y B ) = [ X B O ] A B o d y B \mathcal{A} _{\mathrm{Body}}^{O}=\frac{\mathrm{d}}{\mathrm{d}t}\left( \mathcal{V} _{\mathrm{Body}}^{O} \right) =\frac{\mathrm{d}}{\mathrm{d}t}\left( \left[ X_{\mathrm{B}}^{O} \right] \mathcal{V} _{\mathrm{Body}}^{B} \right) =\left[ \dot{X}_{\mathrm{B}}^{O} \right] \mathcal{V} _{\mathrm{Body}}^{B}+\left[ X_{\mathrm{B}}^{O} \right] \dot{\mathcal{V}}_{\mathrm{Body}}^{B}=\tilde{\mathcal{V}}_{\mathrm{B}}^{O}\left[ X_{\mathrm{B}}^{O} \right] \mathcal{V} _{\mathrm{Body}}^{B}+\left[ X_{\mathrm{B}}^{O} \right] \dot{\mathcal{V}}_{\mathrm{Body}}^{B}=\left[ X_{\mathrm{B}}^{O} \right] \left( \left[ X_{\mathrm{O}}^{B} \right] \tilde{\mathcal{V}}_{\mathrm{B}}^{O}\left[ X_{\mathrm{B}}^{O} \right] \mathcal{V} _{\mathrm{Body}}^{B}+\dot{\mathcal{V}}_{\mathrm{Body}}^{B} \right) =\left[ X_{\mathrm{B}}^{O} \right] \left( \widetilde{\left[ X_{\mathrm{O}}^{B} \right] \mathcal{V} _{\mathrm{B}}^{O}}\mathcal{V} _{\mathrm{Body}}^{B}+\dot{\mathcal{V}}_{\mathrm{Body}}^{B} \right) =\left[ X_{\mathrm{B}}^{O} \right] \left( \tilde{\mathcal{V}}_{\mathrm{BO}}^{B}\mathcal{V} _{\mathrm{Body}}^{B}+\dot{\mathcal{V}}_{\mathrm{Body}}^{B} \right) =\left[ X_{\mathrm{B}}^{O} \right] \mathcal{A} _{\mathrm{Body}}^{B} ABodyO=dtd(VBodyO)=dtd([XBO]VBodyB)=[X˙BO]VBodyB+[XBO]V˙BodyB=V~BO[XBO]VBodyB+[XBO]V˙BodyB=[XBO]([XOB]V~BO[XBO]VBodyB+V˙BodyB)=[XBO]([XOB]VBO VBodyB+V˙BodyB)=[XBO](V~BOBVBodyB+V˙BodyB)=[XBO]ABodyB

EXAMPLE:
在这里插入图片描述

2. Spatial Force(Wrench)

Consider a rigid body with many forces on it and fix an arbitrary point O O O in space
在这里插入图片描述
The net effect of these forces can be expressed as:

  • A force f f f , acting along a line passing through O O O —— f ⃗ = ∑ f ⃗ i i \vec{f}=\sum{\vec{f}_{\mathrm{i}}}_{\mathrm{i}} f =f ii
  • A moment m ⃗ O \vec{m}_{\mathrm{O}} m O about point O O O —— m ⃗ O = ∑ R ⃗ P i O × f ⃗ i \vec{m}_{\mathrm{O}}=\sum{\vec{R}_{\mathrm{Pi}}^{O}\times \vec{f}_{\mathrm{i}}} m O=R PiO×f i

Spatial Force(Wrench) : is given by the 6D vector
F = [ m ⃗ O f ⃗ ] \mathcal{F} =\left[ \begin{array}{c} \vec{m}_{\mathrm{O}}\\ \vec{f}\\ \end{array} \right] F=[m Of ]

What is we choose reference point to Q Q Q?
m ⃗ Q = ∑ R ⃗ P i Q × f ⃗ i = ∑ ( R ⃗ O Q + R ⃗ P i O ) × f ⃗ i = m ⃗ O + ∑ R ⃗ O Q × f ⃗ i \vec{m}_{\mathrm{Q}}=\sum{\vec{R}_{\mathrm{Pi}}^{Q}\times \vec{f}_{\mathrm{i}}}=\sum{\left( \vec{R}_{\mathrm{O}}^{Q}+\vec{R}_{\mathrm{Pi}}^{O} \right) \times \vec{f}_{\mathrm{i}}}=\vec{m}_{\mathrm{O}}+\sum{\vec{R}_{\mathrm{O}}^{Q}\times \vec{f}_{\mathrm{i}}} m Q=R PiQ×f i=(R OQ+R PiO)×f i=m O+R OQ×f i

2.1 Spatial Force in Pluecker Coordinate Systems

Given a frame { A } \left\{ A \right\} {A}, the Plueker coordinate of a spatial force F \mathcal{F} F is given by F A = [ m ⃗ O A f ⃗ A ] \mathcal{F} ^A=\left[ \begin{array}{c} \vec{m}_{\mathrm{O}}^{A}\\ \vec{f}^A\\ \end{array} \right] FA=[m OAf A]

Coordinate transform :
{ f ⃗ A = [ Q B A ] f ⃗ B m ⃗ O A = [ Q B A ] m ⃗ O B + R ⃗ B A × [ Q B A ] f ⃗ B ⇒ F A = [ X B A ] T F B = [ X B A ] ∗ F B \begin{cases} \vec{f}^A=\left[ Q_{\mathrm{B}}^{A} \right] \vec{f}^B\\ \vec{m}_{\mathrm{O}}^{A}=\left[ Q_{\mathrm{B}}^{A} \right] \vec{m}_{\mathrm{O}}^{B}+\vec{R}_{\mathrm{B}}^{A}\times \left[ Q_{\mathrm{B}}^{A} \right] \vec{f}^B\\ \end{cases}\Rightarrow \mathcal{F} ^A=\left[ X_{\mathrm{B}}^{A} \right] ^{\mathrm{T}}\mathcal{F} ^B=\left[ X_{\mathrm{B}}^{A} \right] ^*\mathcal{F} ^B {f A=[QBA]f Bm OA=[QBA]m OB+R BA×[QBA]f BFA=[XBA]TFB=[XBA]FB

2.2 Wrench-Twist Pair and Power

Recall that for a point mass with linear velocity v ⃗ \vec{v} v and a linear force f ⃗ \vec{f} f . Then we know that the power (instantaneous work done by f ⃗ \vec{f} f ) is given by : f ⃗ ⋅ v ⃗ = f ⃗ T v ⃗ \vec{f}\cdot \vec{v}=\vec{f}^{\mathrm{T}}\vec{v} f v =f Tv

This relation can be generalized to spatial force (i.e. wrench) and spatial velocity (i.e. twist)

Suppose a rigid body has a twist V A = ( ω ⃗ A , v ⃗ O A ) \mathcal{V} ^A=\left( \vec{\omega}^A,\vec{v}_{\mathrm{O}}^{A} \right) VA=(ω A,v OA) and a wrench F A = ( m ⃗ O A , f ⃗ A ) \mathcal{F} ^A=\left( \vec{m}_{\mathrm{O}}^{A},\vec{f}^A \right) FA=(m OA,f A) acts on the body. Then the power is simply
P = ( V A ) T F A = ( F A ) T V A = ( ω ⃗ A ) T m ⃗ O A + ( v ⃗ O A ) T f ⃗ A P=\left( \mathcal{V} ^A \right) ^{\mathrm{T}}\mathcal{F} ^A=\left( \mathcal{F} ^A \right) ^{\mathrm{T}}\mathcal{V} ^A=\left( \vec{\omega}^A \right) ^{\mathrm{T}}\vec{m}_{\mathrm{O}}^{A}+\left( \vec{v}_{\mathrm{O}}^{A} \right) ^{\mathrm{T}}\vec{f}^A P=(VA)TFA=(FA)TVA=(ω A)Tm OA+(v OA)Tf A

2.3 Joint Torque

Consider a link attached to a 1-dof joint(r.g. revolute or prismatic). be the screw axis of the joint. Then the power produced by the joint is V = S ^ θ ˙ \mathcal{V} =\hat{\mathcal{S}}\dot{\theta} V=S^θ˙

F \mathcal{F} F be the wrench provided by the joint. Then the power produced by the joint is P = ( V ) T F = ( S ^ θ ˙ ) T F = ( S ^ T F ) θ ˙ = τ θ ˙ P=\left( \mathcal{V} \right) ^{\mathrm{T}}\mathcal{F} =\left( \hat{\mathcal{S}}\dot{\theta} \right) ^{\mathrm{T}}\mathcal{F} =\left( \hat{\mathcal{S}}^{\mathrm{T}}\mathcal{F} \right) \dot{\theta}=\tau \dot{\theta} P=(V)TF=(S^θ˙)TF=(S^TF)θ˙=τθ˙

τ = S ^ T F = F T S ^ \tau =\hat{\mathcal{S}}^{\mathrm{T}}\mathcal{F} =\mathcal{F} ^{\mathrm{T}}\hat{\mathcal{S}} τ=S^TF=FTS^ is the projection of the wrench onto the screw axis, i.e. the effective part of the wrench

Often times, τ \tau τ is referred to as joint “torque” or generalized force

3. Spatial Momentum

笔者待整理: 链接

3.1 Rotational Interial

  • Recall momentum for point mass:

笔者待整理: 链接

在这里插入图片描述

H = [ h ⃗ p ⃗ ] ∈ R 6 \mathcal{H} =\left[ \begin{array}{c} \vec{h}\\ \vec{p}\\ \end{array} \right] \in \mathbb{R} ^6 H=[h p ]R6

3.2 Change Reference for Momentum

  • Spatial momentum transforms in the same way as spatial forces:
    H A = [ X C A ] ∗ H C \mathcal{H} ^A=\left[ X_{\mathrm{C}}^{A} \right] ^*\mathcal{H} ^C HA=[XCA]HC
    H C = [ h ⃗ B o d y / C C p ⃗ C ] , H A = [ h ⃗ A A p ⃗ A ] = [ [ Q C A ] h ⃗ B o d y / C C − R ⃗ ~ C A [ Q C A ] p ⃗ C [ Q C A ] p ⃗ C ] = [ [ Q C A ] − R ⃗ ~ C A [ Q C A ] 0 [ Q C A ] ] [ h ⃗ B o d y / C C p ⃗ C ] = [ X C A ] ∗ [ h ⃗ B o d y / C C p ⃗ C ] \mathcal{H} ^C=\left[ \begin{array}{c} \vec{h}_{\mathrm{Body}/\mathrm{C}}^{C}\\ \vec{p}^C\\ \end{array} \right] ,\mathcal{H} ^A=\left[ \begin{array}{c} \vec{h}_{\mathrm{A}}^{A}\\ \vec{p}^A\\ \end{array} \right] =\left[ \begin{array}{c} \left[ Q_{\mathrm{C}}^{A} \right] \vec{h}_{\mathrm{Body}/\mathrm{C}}^{C}-\tilde{\vec{R}}_{\mathrm{C}}^{A}\left[ Q_{\mathrm{C}}^{A} \right] \vec{p}^C\\ \left[ Q_{\mathrm{C}}^{A} \right] \vec{p}^C\\ \end{array} \right] =\left[ \begin{matrix} \left[ Q_{\mathrm{C}}^{A} \right]& -\tilde{\vec{R}}_{\mathrm{C}}^{A}\left[ Q_{\mathrm{C}}^{A} \right]\\ 0& \left[ Q_{\mathrm{C}}^{A} \right]\\ \end{matrix} \right] \left[ \begin{array}{c} \vec{h}_{\mathrm{Body}/\mathrm{C}}^{C}\\ \vec{p}^C\\ \end{array} \right] =\left[ X_{\mathrm{C}}^{A} \right] ^*\left[ \begin{array}{c} \vec{h}_{\mathrm{Body}/\mathrm{C}}^{C}\\ \vec{p}^C\\ \end{array} \right] HC=[h Body/CCp C],HA=[h AAp A]=[[QCA]h Body/CCR ~CA[QCA]p C[QCA]p C]=[[QCA]0R ~CA[QCA][QCA]][h Body/CCp C]=[XCA][h Body/CCp C]

3.3 Spatial Inertia

Inertia of a rigid body defines linear relationship between velocity and momentum

Spacial inertia I \mathcal{I} I is the one such that
H = I V \mathcal{H} =\mathcal{I} \mathcal{V} H=IV
Let { M } \left\{ M \right\} {M} be a frame whose origin coincide with CoM. Then
I B o d y / C o M M = [ I B o d y / C o M M 0 0 m t o t a l E 3 × 3 ] G \mathcal{I} _{\mathrm{Body}/\mathrm{CoM}}^{M}=\left[ \begin{matrix} I_{\mathrm{Body}/\mathrm{CoM}}^{M}& 0\\ 0& m_{\mathrm{total}}E_{3\times 3}\\ \end{matrix} \right] G IBody/CoMM=[IBody/CoMM00mtotalE3×3]G

  • Spatial inertia wrt another frame { F } \left\{ F \right\} {F}:
    I F = [ X M F ] ∗ I M [ X F M ] \mathcal{I} ^F=\left[ X_{\mathrm{M}}^{F} \right] ^*\mathcal{I} ^M\left[ X_{\mathrm{F}}^{M} \right] IF=[XMF]IM[XFM]

Special case : [ Q F M ] = E 3 × 3 \left[ Q_{\mathrm{F}}^{M} \right] =E_{3\times 3} [QFM]=E3×3
[ X M F ] = [ E 3 × 3 0 R ⃗ ~ M F E 3 × 3 ] ⇒ I F = [ I M + m t o t a l R ⃗ ~ M F T R ⃗ ~ M F m t o t a l R ⃗ ~ M F m t o t a l R ⃗ ~ M F m t o t a l E 3 × 3 ] \left[ X_{\mathrm{M}}^{F} \right] =\left[ \begin{matrix} E_{3\times 3}& 0\\ \tilde{\vec{R}}_{\mathrm{M}}^{F}& E_{3\times 3}\\ \end{matrix} \right] \Rightarrow \mathcal{I} ^F=\left[ \begin{matrix} \mathcal{I} ^M+m_{\mathrm{total}}{\tilde{\vec{R}}_{\mathrm{M}}^{F}}^{\mathrm{T}}\tilde{\vec{R}}_{\mathrm{M}}^{F}& m_{\mathrm{total}}\tilde{\vec{R}}_{\mathrm{M}}^{F}\\ m_{\mathrm{total}}\tilde{\vec{R}}_{\mathrm{M}}^{F}& m_{\mathrm{total}}E_{3\times 3}\\ \end{matrix} \right] [XMF]=[E3×3R ~MF0E3×3]IF= IM+mtotalR ~MFTR ~MFmtotalR ~MFmtotalR ~MFmtotalE3×3

4. Newton-Euler Equation using Spatial Vectors

4.1 Cross Product for Spatial Force and Momentum

Assume frame A A A is moving with velocity V A A \mathcal{V} _{\mathrm{A}}^{A} VAA
( d d t F ) A = d d t F A + V A × ∗ F A \left( \frac{\mathrm{d}}{\mathrm{d}t}\mathcal{F} \right) ^A=\frac{\mathrm{d}}{\mathrm{d}t}\mathcal{F} ^A+\mathcal{V} ^A\times ^*\mathcal{F} ^A (dtdF)A=dtdFA+VA×FA
( d d t H ) A = d d t H A + V A × ∗ H A \left( \frac{\mathrm{d}}{\mathrm{d}t}\mathcal{H} \right) ^A=\frac{\mathrm{d}}{\mathrm{d}t}\mathcal{H} ^A+\mathcal{V} ^A\times ^*\mathcal{H} ^A (dtdH)A=dtdHA+VA×HA

where × ∗ \times ^* × defined as V = [ ω ⃗ v ⃗ ] , F = [ m ⃗ f ⃗ ] , V × ∗ F = [ ω ⃗ ~ m ⃗ + v ⃗ ~ f ⃗ ω ⃗ ~ f ⃗ ] \mathcal{V} =\left[ \begin{array}{c} \vec{\omega}\\ \vec{v}\\ \end{array} \right] ,\mathcal{F} =\left[ \begin{array}{c} \vec{m}\\ \vec{f}\\ \end{array} \right] ,\mathcal{V} \times ^*\mathcal{F} =\left[ \begin{array}{c} \tilde{\vec{\omega}}\vec{m}+\tilde{\vec{v}}\vec{f}\\ \tilde{\vec{\omega}}\vec{f}\\ \end{array} \right] V=[ω v ],F=[m f ],V×F=[ω ~m +v ~f ω ~f ], or equivately V × ∗ ~ = [ ω ⃗ ~ v ⃗ ~ 0 ω ⃗ ~ ] \widetilde{\mathcal{V} \times ^*}=\left[ \begin{matrix} \tilde{\vec{\omega}}& \tilde{\vec{v}}\\ 0& \tilde{\vec{\omega}}\\ \end{matrix} \right] V× =[ω ~0v ~ω ~]

Fact : V × ∗ ~ = V ~ T \widetilde{\mathcal{V} \times ^*}=\tilde{\mathcal{V}}^{\mathrm{T}} V× =V~T

4.2 Newton-Euler Equation

  • Newton-Euler equation :
    F = d d t H = I A + V ~ T I V \mathcal{F} =\frac{\mathrm{d}}{\mathrm{d}t}\mathcal{H} =\mathcal{I} \mathcal{A} +\tilde{\mathcal{V}}^{\mathrm{T}}\mathcal{I} \mathcal{V} F=dtdH=IA+V~TIV
    (due to velocity is changing and account for the face that inertia is moving)

Adopting spatial vectors, the Newton-Euler equation has the same form in any frame

4.3 Derivations of Newton-Euler Equation

d d t H O = d d t ( I O V O ) = I ˙ O V O + I O A O = d d t ( [ X B O ] ∗ I B [ X O B ] ) V O + I O A O = [ X ˙ B O ] ∗ I B [ X O B ] V O + [ X B O ] ∗ I B [ X ˙ O B ] V O + I O A O = V ~ B O T [ X B O ] ∗ I B [ X O B ] V O − [ X B O ] ∗ I B [ X O B ] V ~ B O T V O ↗ 0 + I O A O = V ~ B O T I O V O + I O A O \frac{\mathrm{d}}{\mathrm{d}t}\mathcal{H} ^O=\frac{\mathrm{d}}{\mathrm{d}t}\left( \mathcal{I} ^O\mathcal{V} ^O \right) =\dot{\mathcal{I}}^O\mathcal{V} ^O+\mathcal{I} ^O\mathcal{A} ^O=\frac{\mathrm{d}}{\mathrm{d}t}\left( \left[ X_{\mathrm{B}}^{O} \right] ^*\mathcal{I} ^B\left[ X_{\mathrm{O}}^{B} \right] \right) \mathcal{V} ^O+\mathcal{I} ^O\mathcal{A} ^O \\ =\left[ \dot{X}_{\mathrm{B}}^{O} \right] ^*\mathcal{I} ^B\left[ X_{\mathrm{O}}^{B} \right] \mathcal{V} ^O+\left[ X_{\mathrm{B}}^{O} \right] ^*\mathcal{I} ^B\left[ \dot{X}_{\mathrm{O}}^{B} \right] \mathcal{V} ^O+\mathcal{I} ^O\mathcal{A} ^O \\ ={\tilde{\mathcal{V}}_{\mathrm{B}}^{O}}^{\mathrm{T}}\left[ X_{\mathrm{B}}^{O} \right] ^*\mathcal{I} ^B\left[ X_{\mathrm{O}}^{B} \right] \mathcal{V} ^O-\left[ X_{\mathrm{B}}^{O} \right] ^*\mathcal{I} ^B\left[ X_{\mathrm{O}}^{B} \right] {\tilde{\mathcal{V}}_{\mathrm{B}}^{O}}^{\mathrm{T}}{\mathcal{V} ^O}_{\nearrow 0}+\mathcal{I} ^O\mathcal{A} ^O \\ ={\tilde{\mathcal{V}}_{\mathrm{B}}^{O}}^{\mathrm{T}}\mathcal{I} ^O\mathcal{V} ^O+\mathcal{I} ^O\mathcal{A} ^O dtdHO=dtd(IOVO)=I˙OVO+IOAO=dtd([XBO]IB[XOB])VO+IOAO=[X˙BO]IB[XOB]VO+[XBO]IB[X˙OB]VO+IOAO=V~BOT[XBO]IB[XOB]VO[XBO]IB[XOB]V~BOTVO0+IOAO=V~BOTIOVO+IOAO

Note :
{ [ X ˙ B O ] = V ~ B O [ X B O ] [ X B O ] [ X O B ] = E ⇒ [ X ˙ B O ] [ X O B ] + [ X B O ] [ X ˙ O B ] = 0 ⇒ [ X ˙ O B ] = − [ X O B ] [ X ˙ B O ] [ X O B ] = − [ X O B ] V ~ B O \begin{cases} \left[ \dot{X}_{\mathrm{B}}^{O} \right] =\tilde{\mathcal{V}}_{\mathrm{B}}^{O}\left[ X_{\mathrm{B}}^{O} \right]\\ \left[ X_{\mathrm{B}}^{O} \right] \left[ X_{\mathrm{O}}^{B} \right] =E\\ \end{cases}\Rightarrow \left[ \dot{X}_{\mathrm{B}}^{O} \right] \left[ X_{\mathrm{O}}^{B} \right] +\left[ X_{\mathrm{B}}^{O} \right] \left[ \dot{X}_{\mathrm{O}}^{B} \right] =0\Rightarrow \left[ \dot{X}_{\mathrm{O}}^{B} \right] =-\left[ X_{\mathrm{O}}^{B} \right] \left[ \dot{X}_{\mathrm{B}}^{O} \right] \left[ X_{\mathrm{O}}^{B} \right] =-\left[ X_{\mathrm{O}}^{B} \right] \tilde{\mathcal{V}}_{\mathrm{B}}^{O} {[X˙BO]=V~BO[XBO][XBO][XOB]=E[X˙BO][XOB]+[XBO][X˙OB]=0[X˙OB]=[XOB][X˙BO][XOB]=[XOB]V~BO
Frame B is attached to the body , V B = V B o d y , I B \mathcal{V} _B=\mathcal{V} _{Body},\mathcal{I} ^B VB=VBody,IB is constant

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言学习NO.-操作符(二)二进制相关的操作符,原码、反码、补码是什么,左移右移操作符、按位与,按位或,按位异或,按位取反

一、操作符的分类 操作符的分类 算术操作符&#xff1a; 、- 、* 、/ 、%移位操作符: << >>位操作符: & | ^ 赋值操作符: 、 、 - 、 * 、 / 、% 、<< 、>> 、& 、| 、^单⽬操作符&#xff1a; &#xff01;、、–、&、*、、-、~ 、siz…

Redis 数据类型和对象机制

一、Redis 简介 Redis 是&#xff08;key-value&#xff09;的 NoSQL 数据库&#xff0c;所有的 key 都是 String ,它的 value 可以是 String、hash、list、set、zset&#xff08;有序集合&#xff09;、Bitmaps&#xff08;位图&#xff09;、HyperLogLog、GEO(地理信息定位)…

汽车清除积碳和清洗节气门

汽车清除积碳和清洗节气门 汽车需要清除积碳的部位检查积碳方法&#xff1a; 清除积碳和清洗节气门风险&#xff1a;燃油宝 第一次清除积碳1万公里2万公里3万公里--5万公里6万公里以上 汽车需要清除积碳的部位 节气门喷油嘴进气道燃烧室 检查积碳方法&#xff1a; 建议每3到5…

烦躁的广告弹窗如何在 Edge 上消失?轻松招架 3 种方法

Edge问题解决教程之广告弹窗如何消失&#xff1f; 一、前言&#xff1a;广告弹窗问题二、使用Edge浏览器内置的广告拦截功能三、安装广告拦截浏览器扩展程序四、处理恶意软件和广告弹窗网站五、总结 一、前言&#xff1a;广告弹窗问题 Edge浏览器中出现的广告弹窗问题是由恶意…

verilog语法进阶,时钟原语

概述&#xff1a; 内容 1. 时钟缓冲 2. 输入时钟缓冲 3. ODDR2作为输出时钟缓冲 1. 输入时钟缓冲 BUFGP verilog c代码&#xff0c;clk作为触发器的边沿触发&#xff0c;会自动将clk综合成时钟信号。 module primitive1(input clk,input a,output reg y); always (posed…

ES6 面试题 | 02.精选 ES6 面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

计算机网络:DNS域名解析系统

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

DevOps常用工具全家桶,实现高效运维和交付

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

任务书 软件名称 版本 ubuntu 18.04 64 位 Hadoop&#xff1a;hadoop-3.1.3.tar.gz 3.1.3 Jdk&#xff1a;jdk-8u212-linux-x64.tar.gz 1.8 Spark&#xff1a;spark-3.1.1-bin-hadoop3.2.tgz 3.1.1 Hive&#xff1a;apache-hive-3.1.2-bin.tar.gz 3.1.2 MySQL …

商家收款降低费率开户指南:微信支付0.2%费率(千分之二)开通步骤

在数字支付日益普及的今天&#xff0c;降低交易成本对商家而言至关重要。本文将引导您轻松开通微信支付0.2%的超低费率。 首先&#xff0c;让我们深入了解微信支付为不同商户类别提供的相关资质要求、费率标准以及资金结算的时间周期https://kf.qq.com/faq/220228IJb2UV220228u…

JWT知识

JWT概念 JWT组成 Java实现JWT Header String getHeader() {String header "{\"alg\":\"HS256\",\"typ\":\"JWT\"}";String encodeBase64URLSafeString Base64.encodeBase64URLSafeString(header.getBytes(StandardCharset…

8. 安全认证

8. 安全认证 文章目录 8. 安全认证8.1 访问控制概述8.2 认证管理8.3 授权管理8.4 准入控制 8.1 访问控制概述 Kubernetes作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。…

DevEco Studio 项目鸿蒙(HarmonyOS)多语言

DevEco Studio 项目鸿蒙&#xff08;HarmonyOS&#xff09;多语言 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、多语言 新版本IDE可以创建多语言的文件夹&#xff0c;在entry->src->main->resources下&#xff0c;修…

C#深拷贝效率对比

对于浅拷贝和深拷贝&#xff0c;前面的文章已经说明了。 C#浅拷贝和深拷贝数据-CSDN博客 本篇说一下&#xff0c;深拷贝的效率问题&#xff0c;效率一直是程序追求的&#xff0c;效率越高肯定越好&#xff0c;有时候功能是实现了&#xff0c;但是运行以及处理数据的效率非常低…

C/C++ STL提供的关联式容器之set

set&#xff08;集合&#xff09;顾名思义&#xff0c;就是数学上的集合 —— 每个元素最多只出现一次&#xff0c;并且 set 中的元素已经从小到大排好序。 特点 1. 使用红黑树实现&#xff0c;其内部元素依据其值自动排序&#xff0c;每个元素值只能出现一次&#xff0c;…

讯飞星火大模型api调用

讯飞星火大模型&#xff0c;通过websocket方式通信传递协议要求的报文&#xff0c;然后将流式返回的报文拼接为完整的响应内容&#xff0c;status2时是最后一条消息。因为是websocket方式所以是异步响应的&#xff0c;如果想要同步需要使用CountDownLatch控制下线程等待最后一条…

利用C语言模拟实现堆的基本操作和调堆算法

利用C语言模拟实现堆的基本操作和调堆算法 文章目录 利用C语言模拟实现堆的基本操作和调堆算法前言一、堆的基本原理大根堆和小根堆的比较 二、实现堆的基本操作1&#xff09;结构定义2&#xff09;初始化堆&#xff08;HeapInit&#xff09;3&#xff09;销毁堆&#xff08;He…

(数据结构)单链表的查找和长度计算

代码实现 #include<stdio.h> #include<stdlib.h> typedef struct LNode {int data;struct LNode* next; }LNode,*LinkList; //创建头结点 LNode* InitList(LinkList L) {L (LNode*)malloc(sizeof(LNode));if (L NULL){return NULL;}L->data 0;L->next N…

前端视角看 Docker :在国内的基础配置教程(含国内镜像源)

引言 在国内使用Docker时&#xff0c;直接从Docker Hub拉取镜像可能会遇到网络速度慢的问题。配置国内的镜像加速器可以显著提升拉取速度。本教程将指导您完成安装Docker后的基础配置&#xff0c;特别是设置国内镜像加速器。 1. 安装Docker 确保您已在系统上安装Docker。根…

鸿蒙开发组件之DatePicker

一、功能 DatePicker是鸿蒙开发中的日期组件&#xff0c;主要用来日期的选择。样式如下 二、初始化一个DatePicker DatePicker({start:new Date(1970-01-01),end: new Date(2035-12-31)})当然我们的start和end参数是可选的&#xff0c;不必须传递&#xff0c;所以初始化也可以…