这是用户在 2024-11-1 2:47 为 https://app.immersivetranslate.com/pdf-pro/b41a2e4c-9d94-4fbf-9bf3-6343a25462dc 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

Chapter 3
Modeling
第三章 建模

This chapter provides the underlying models for deriving the Whole-Body Control framework in Chaps. 6 and 7. Section 3.1 gives a brief overview on rigid body transformations in order to introduce the equations of motion of humanoid robots in Sect. 3.2. In multi-contact balancing, the distribution of forces and torques among the contacts is a challenging aspect of the problem, which arises from the closed kinematic chain given by the robot and its environment. Section 3.3 provides a mathematical description of this so-called Wrench Distribution Problem. The physical properties of the involved contacts are modeled and studied in Sects.3.4 to 3.6.
本章为推导第 6 章和第 7 章中的全身控制框架提供了基础模型。第 3.1 节简要介绍了刚体变换,以便在第 3.2 节介绍仿人机器人的运动方程。第 3.1 节简要介绍了刚体变换,以便在第 3.2 节中介绍仿人机器人的运动方程。3.2.在多触点平衡中,触点之间的力和力矩分布是一个具有挑战性的问题,这源于机器人及其环境所提供的封闭运动链。第 3.3 节对这一所谓的 "扳手分布问题 "进行了数学描述。第 3.4 节至第 3.6 节对相关触点的物理特性进行了建模和研究。

3.1 Rigid Body Transformations
3.1 刚体变换

This section provides a brief summary on rigid body transformations, which will be used later to discuss the so-called wrench distribution problem (see Sect.3.3). Let us consider two arbitrary frames F A F A F_(A)\mathcal{F}_{A} and F B F B F_(B)\mathcal{F}_{B} in six-dimensional Cartesian space attached to a rigid body (see Fig. 3.1). The position and orientation of both frames relative to a common world frame W W W\mathcal{W} are denoted by x A R 3 , R A S O ( 3 ) x A R 3 , R A S O ( 3 ) x_(A)inR^(3),R_(A)inSO(3)\boldsymbol{x}_{A} \in \mathbb{R}^{3}, \boldsymbol{R}_{A} \in \mathcal{S O}(3) and x B R 3 , R B S O ( 3 ) x B R 3 , R B S O ( 3 ) x_(B)inR^(3),R_(B)inSO(3)\boldsymbol{x}_{B} \in \mathbb{R}^{3}, \boldsymbol{R}_{B} \in \mathcal{S O}(3), respectively. The linear and angular velocities of frame F A F A F_(A)\mathcal{F}_{A} and F B F B F_(B)\mathcal{F}_{B} relative to the world frame W W W\mathcal{W} are given by χ A R 3 , ω A R 3 χ A R 3 , ω A R 3 chi_(A)inR^(3),omega_(A)inR^(3)\chi_{A} \in \mathbb{R}^{3}, \omega_{A} \in \mathbb{R}^{3} and χ B R 3 χ B R 3 chi_(B)inR^(3)\chi_{B} \in \mathbb{R}^{3}, ω B R 3 ω B R 3 omega_(B)inR^(3)\omega_{B} \in \mathbb{R}^{3}. Both can be stacked into the six-dimensional Cartesian velocities
本节简要介绍了刚体变换,稍后将用于讨论所谓的扳手分布问题(见第 3.3 节)。让我们考虑六维笛卡尔空间中与刚体相连的两个任意框架 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B} (见图 3.1)。两个框架相对于共同世界框架 W W W\mathcal{W} 的位置和方向分别用 x A R 3 , R A S O ( 3 ) x A R 3 , R A S O ( 3 ) x_(A)inR^(3),R_(A)inSO(3)\boldsymbol{x}_{A} \in \mathbb{R}^{3}, \boldsymbol{R}_{A} \in \mathcal{S O}(3) x B R 3 , R B S O ( 3 ) x B R 3 , R B S O ( 3 ) x_(B)inR^(3),R_(B)inSO(3)\boldsymbol{x}_{B} \in \mathbb{R}^{3}, \boldsymbol{R}_{B} \in \mathcal{S O}(3) 表示。帧 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B} 相对于世界帧 W W W\mathcal{W} 的线速度和角速度分别用 χ A R 3 , ω A R 3 χ A R 3 , ω A R 3 chi_(A)inR^(3),omega_(A)inR^(3)\chi_{A} \in \mathbb{R}^{3}, \omega_{A} \in \mathbb{R}^{3} χ B R 3 χ B R 3 chi_(B)inR^(3)\chi_{B} \in \mathbb{R}^{3} , ω B R 3 ω B R 3 omega_(B)inR^(3)\omega_{B} \in \mathbb{R}^{3} 表示。两者可以叠加成六维笛卡尔速度
v A = ( χ A ω A ) and v B = ( χ B ω B ) . v A = ( χ A ω A )  and  v B = ( χ B ω B ) . v_(A)=((chi_(A))/(omega_(A)))quad" and "quadv_(B)=((chi_(B))/(omega_(B))).\boldsymbol{v}_{A}=\binom{\chi_{A}}{\omega_{A}} \quad \text { and } \quad \boldsymbol{v}_{B}=\binom{\chi_{B}}{\omega_{B}} .
The forces and torques acting on F A F A F_(A)\mathcal{F}_{A} and F B F B F_(B)\mathcal{F}_{B} are given by f A R 3 , τ A R 3 f A R 3 , τ A R 3 f_(A)inR^(3),tau_(A)inR^(3)\boldsymbol{f}_{A} \in \mathbb{R}^{3}, \boldsymbol{\tau}_{A} \in \mathbb{R}^{3} and f B R 3 , τ B R 3 f B R 3 , τ B R 3 f_(B)inR^(3),tau_(B)inR^(3)\boldsymbol{f}_{B} \in \mathbb{R}^{3}, \boldsymbol{\tau}_{B} \in \mathbb{R}^{3}, respectively. Analogously to the velocities, the forces and
作用在 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B} 上的力和力矩分别由 f A R 3 , τ A R 3 f A R 3 , τ A R 3 f_(A)inR^(3),tau_(A)inR^(3)\boldsymbol{f}_{A} \in \mathbb{R}^{3}, \boldsymbol{\tau}_{A} \in \mathbb{R}^{3} f B R 3 , τ B R 3 f B R 3 , τ B R 3 f_(B)inR^(3),tau_(B)inR^(3)\boldsymbol{f}_{B} \in \mathbb{R}^{3}, \boldsymbol{\tau}_{B} \in \mathbb{R}^{3} 给出。与速度类似,作用在 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B}上的力和力矩分别为
Fig. 3.1 Frames F A F A F_(A)\mathcal{F}_{A} and F B F B F_(B)\mathcal{F}_{B} located on a rigid body
图 3.1 位于刚体上的框架 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B}


torques can be stacked into the wrenches
扭矩可叠加到扳手中
F A = ( f A τ A ) and F B = ( f B τ B ) . F A = ( f A τ A )  and  F B = ( f B τ B ) . F_(A)=((f_(A))/(tau_(A)))quad" and "quadF_(B)=((f_(B))/(tau_(B))).\boldsymbol{F}_{A}=\binom{\boldsymbol{f}_{A}}{\boldsymbol{\tau}_{A}} \quad \text { and } \quad \boldsymbol{F}_{B}=\binom{\boldsymbol{f}_{B}}{\boldsymbol{\tau}_{B}} .

3.1.1 Body Coordinates 3.1.1 机身坐标

If the translational and rotational velocities are expressed in body frame, which means with respect to the base vectors of F A F A F_(A)\mathcal{F}_{A} and F B F B F_(B)\mathcal{F}_{B}, then they can be computed via
如果平移速度和旋转速度以主体框架表示,也就是相对于 F A F A F_(A)\mathcal{F}_{A} F B F B F_(B)\mathcal{F}_{B} 的基向量,那么它们可以通过以下方式进行计算
A χ A = R A T ( W W x ˙ A ) , B χ B = R B T ( W W x ˙ B ) , S ( A ω A ) = R A T R ˙ A , S ( B ω B ) = R B T R ˙ B . A χ A = R A T W W x ˙ A , B χ B = R B T W W x ˙ B , S A ω A = R A T R ˙ A , S B ω B = R B T R ˙ B . {:[^(A)chi_(A)=R_(A)^(T)(^(W^(W))x^(˙)_(A))","quad^(B)chi_(B)=R_(B)^(T)(^(W^(W))x^(˙)_(B))","],[S(^(A)omega_(A))=R_(A)^(T)R^(˙)_(A)","quad S(^(B)omega_(B))=R_(B)^(T)R^(˙)_(B).]:}\begin{aligned} & { }^{A} \boldsymbol{\chi}_{A}=\boldsymbol{R}_{A}^{T}\left({ }^{W^{W}} \dot{\boldsymbol{x}}_{A}\right), \quad{ }^{B} \boldsymbol{\chi}_{B}=\boldsymbol{R}_{B}^{T}\left({ }^{W^{W}} \dot{\boldsymbol{x}}_{B}\right), \\ & \boldsymbol{S}\left({ }^{A} \boldsymbol{\omega}_{A}\right)=\boldsymbol{R}_{A}^{T} \dot{\boldsymbol{R}}_{A}, \quad \boldsymbol{S}\left({ }^{B} \boldsymbol{\omega}_{B}\right)=\boldsymbol{R}_{B}^{T} \dot{\boldsymbol{R}}_{B} . \end{aligned}
Here, the operator S ( ) S ( ) S(∙)\boldsymbol{S}(\bullet) denotes the cross product matrix according to Definition 3.1.
这里,运算符 S ( ) S ( ) S(∙)\boldsymbol{S}(\bullet) 表示定义 3.1 中的交叉积矩阵。
Definition 3.1 (Cross product matrix S ( λ ) S ( λ ) S(lambda)\boldsymbol{S}(\boldsymbol{\lambda}) ) Let λ = ( λ x T λ y T λ z T ) T λ = λ x T λ y T λ z T T lambda=(lambda_(x)^(T)lambda_(y)^(T)lambda_(z)^(T))^(T)\boldsymbol{\lambda}=\left(\lambda_{x}^{T} \lambda_{y}^{T} \lambda_{z}^{T}\right)^{T} be an arbitrary vector in R 3 R 3 R^(3)\mathbb{R}^{3}. The cross product matrix S ( λ ) R 3 × 3 S ( λ ) R 3 × 3 S(lambda)inR^(3xx3)S(\lambda) \in \mathbb{R}^{3 \times 3} is defined as
定义 3.1(交叉积矩阵 S ( λ ) S ( λ ) S(lambda)\boldsymbol{S}(\boldsymbol{\lambda}) )设 λ = ( λ x T λ y T λ z T ) T λ = λ x T λ y T λ z T T lambda=(lambda_(x)^(T)lambda_(y)^(T)lambda_(z)^(T))^(T)\boldsymbol{\lambda}=\left(\lambda_{x}^{T} \lambda_{y}^{T} \lambda_{z}^{T}\right)^{T} R 3 R 3 R^(3)\mathbb{R}^{3} 中的任意向量。交叉积矩阵 S ( λ ) R 3 × 3 S ( λ ) R 3 × 3 S(lambda)inR^(3xx3)S(\lambda) \in \mathbb{R}^{3 \times 3} 的定义为
S ( λ ) = [ 0 λ z λ y λ z 0 λ x λ y λ x 0 ] S ( λ ) = 0 λ z λ y λ z 0 λ x λ y λ x 0 S(lambda)=[[0,-lambda_(z),lambda_(y)],[lambda_(z),0,-lambda_(x)],[-lambda_(y),lambda_(x),0]]\boldsymbol{S}(\boldsymbol{\lambda})=\left[\begin{array}{ccc} 0 & -\lambda_{z} & \lambda_{y} \\ \lambda_{z} & 0 & -\lambda_{x} \\ -\lambda_{y} & \lambda_{x} & 0 \end{array}\right]
Note that the cross product matrix S ( λ ) S ( λ ) S(lambda)\boldsymbol{S}(\boldsymbol{\lambda}) is skew-symmetric, that is S ( λ ) = S ( λ ) T S ( λ ) = S ( λ ) T S(lambda)=-S(lambda)^(T)\boldsymbol{S}(\boldsymbol{\lambda})=-\boldsymbol{S}(\boldsymbol{\lambda})^{T} and S ( λ ) = S ( λ ) T S ( λ ) = S ( λ ) T S(-lambda)=S(lambda)^(T)\boldsymbol{S}(-\lambda)=\boldsymbol{S}(\lambda)^{T} hold.
请注意,交叉积矩阵 S ( λ ) S ( λ ) S(lambda)\boldsymbol{S}(\boldsymbol{\lambda}) 是倾斜对称的,即 S ( λ ) = S ( λ ) T S ( λ ) = S ( λ ) T S(lambda)=-S(lambda)^(T)\boldsymbol{S}(\boldsymbol{\lambda})=-\boldsymbol{S}(\boldsymbol{\lambda})^{T} S ( λ ) = S ( λ ) T S ( λ ) = S ( λ ) T S(-lambda)=S(lambda)^(T)\boldsymbol{S}(-\lambda)=\boldsymbol{S}(\lambda)^{T} 成立。
The velocities of frame F A F A F_(A)\mathcal{F}_{A} can be mapped to frame F B F B F_(B)\mathcal{F}_{B} via
F A F A F_(A)\mathcal{F}_{A} 的速度可通过以下方式映射到帧 F B F B F_(B)\mathcal{F}_{B}
( A χ A A ω A ) A v A = A d ( R A B , A x A B ) ( B χ A B ω A ) B v B ( A χ A A ω A ) A v A = A d R A B , A x A B ( B χ A B ω A ) B v B ubrace(((^(A)chi_(A))/(^(A)omega_(A)))ubrace)_(^(A)v_(A))=Ad(R_(AB),^(A)x_(AB))ubrace(((^(B)chi_(A))/(^(B)omega_(A)))ubrace)_(^(B)v_(B))\underbrace{\binom{{ }^{A} \boldsymbol{\chi}_{A}}{{ }^{A} \boldsymbol{\omega}_{A}}}_{{ }^{A} \boldsymbol{v}_{A}}=\boldsymbol{A d}\left(\boldsymbol{R}_{A B},{ }^{A} \boldsymbol{x}_{A B}\right) \underbrace{\binom{{ }^{B} \boldsymbol{\chi}_{A}}{{ }^{B} \boldsymbol{\omega}_{A}}}_{{ }^{B} \boldsymbol{v}_{B}}
with A d ( , ) A d ( , ) Ad(∙,***)\boldsymbol{A d}(\bullet, \star) denoting the adjoint matrix according to Definition 3.2. The matrix R A B = R A T R B R A B = R A T R B R_(AB)=R_(A)^(T)R_(B)\boldsymbol{R}_{A B}=\boldsymbol{R}_{A}^{T} \boldsymbol{R}_{B} and the vector A x A B = R A T ( W x B W x A ) A x A B = R A T W x B W x A ^(A)x_(AB)=R_(A)^(T)(^(W)x_(B)-^(W)x_(A)){ }^{A} \boldsymbol{x}_{A B}=\boldsymbol{R}_{A}^{T}\left({ }^{\mathcal{W}} \boldsymbol{x}_{B}-{ }^{\boldsymbol{W}} \boldsymbol{x}_{A}\right) describe the orientation and position of F B F B F_(B)\mathcal{F}_{B} relative to F A F A F_(A)\mathcal{F}_{A}, expressed using the base vectors of F A F A F_(A)\mathcal{F}_{A}.
根据定义 3.2, A d ( , ) A d ( , ) Ad(∙,***)\boldsymbol{A d}(\bullet, \star) 表示邻接矩阵。矩阵 R A B = R A T R B R A B = R A T R B R_(AB)=R_(A)^(T)R_(B)\boldsymbol{R}_{A B}=\boldsymbol{R}_{A}^{T} \boldsymbol{R}_{B} 和向量 A x A B = R A T ( W x B W x A ) A x A B = R A T W x B W x A ^(A)x_(AB)=R_(A)^(T)(^(W)x_(B)-^(W)x_(A)){ }^{A} \boldsymbol{x}_{A B}=\boldsymbol{R}_{A}^{T}\left({ }^{\mathcal{W}} \boldsymbol{x}_{B}-{ }^{\boldsymbol{W}} \boldsymbol{x}_{A}\right) 描述了 F B F B F_(B)\mathcal{F}_{B} 相对于 F A F A F_(A)\mathcal{F}_{A} 的方向和位置,使用基向量 F A F A F_(A)\mathcal{F}_{A} 表示。
Definition 3.2 (Adjoint matrix A d ( R , x ) A d ( R , x ) Ad(R,x)\boldsymbol{A d}(\boldsymbol{R}, \boldsymbol{x}) ) Let R S O ( 3 ) R S O ( 3 ) R inSO(3)\boldsymbol{R} \in \mathcal{S O}(3) and x R 3 x R 3 x inR^(3)\boldsymbol{x} \in \mathbb{R}^{3} be an arbitrary rotation matrix and an arbitrary position vector. Then, the adjoint matrix is defined as
定义 3.2(邻接矩阵 A d ( R , x ) A d ( R , x ) Ad(R,x)\boldsymbol{A d}(\boldsymbol{R}, \boldsymbol{x}) )假设 R S O ( 3 ) R S O ( 3 ) R inSO(3)\boldsymbol{R} \in \mathcal{S O}(3) x R 3 x R 3 x inR^(3)\boldsymbol{x} \in \mathbb{R}^{3} 是任意旋转矩阵和任意位置矢量。那么,邻接矩阵的定义为
A d ( R , x ) = [ R S ( x ) R 0 R ] A d ( R , x ) = R S ( x ) R 0 R Ad(R,x)=[[R,S(x)R],[0,R]]A d(R, x)=\left[\begin{array}{cc} R & S(x) R \\ 0 & R \end{array}\right]
based on the cross product matrix S ( ) S ( ) S(∙)\boldsymbol{S}(\bullet) according to Definition 3.1. The inverse is given by A d ( R , x ) 1 = A d ( R T , R T x ) A d ( R , x ) 1 = A d R T , R T x Ad(R,x)^(-1)=Ad(R^(T),-R^(T)x)\boldsymbol{A d}(\boldsymbol{R}, \boldsymbol{x})^{-1}=\boldsymbol{A d}\left(\boldsymbol{R}^{T},-\boldsymbol{R}^{T} \boldsymbol{x}\right).
根据定义 3.1,以交叉积矩阵 S ( ) S ( ) S(∙)\boldsymbol{S}(\bullet) 为基础。逆矩阵由 A d ( R , x ) 1 = A d ( R T , R T x ) A d ( R , x ) 1 = A d R T , R T x Ad(R,x)^(-1)=Ad(R^(T),-R^(T)x)\boldsymbol{A d}(\boldsymbol{R}, \boldsymbol{x})^{-1}=\boldsymbol{A d}\left(\boldsymbol{R}^{T},-\boldsymbol{R}^{T} \boldsymbol{x}\right) 给出。
The transpose of the adjoint matrix can be used to map forces and torques from frame F A F A F_(A)\mathcal{F}_{A} to frame F B F B F_(B)\mathcal{F}_{B} via
可以通过邻接矩阵的转置将力和力矩从框架 F A F A F_(A)\mathcal{F}_{A}<