推前映射(Push forward)和拉回映射(Pull back)

推前映射和拉回映射

前言

最近,学习到了微分几何的"迷雾区"------推前映射 (Push forward)和拉回映射 (Pull back)。推前映射比较容易理解,从一个切空间映射到另一个切空间。但是,余切空间(切空间的对偶空间)之间的拉回映射,开头给我整懵圈了(从数学层面,容易符号化推理出来,但是找不到对应的物理意义,就完全不知道为什么这样定义,感觉就像搞着玩一样)。结合机器人学,进行了进一步的思考(知道了为什么这么定义,不是瞎定义的),所以,记录如下。
本博客阅读预备知识: 已经知道微分几何中的推前映射和拉回映射(包括切空间和余切空间),以及机器人学中的雅可比矩阵相关的运动学和动力学。

正文

关节空间到工作空间的流形映射 的定义:记 n n n自由度串联机械臂的关节空间流形为 Q = R n \mathcal{Q} =\mathbb{R}^{n} Q=Rn,机械臂的工作空间流形为 W = S E ( 3 ) \mathcal{W} = \mathrm{SE}(3) W=SE(3),关节空间到工作空间的映射为 F \mathbf{F} F(由机械臂的运动学可以求出)
F : Q → W , p ↦ F ( p ) \mathbf{F}:\ \mathcal{Q} \to \mathcal{W},\qquad p \mapsto \mathbf{F}(p) F: Q→W,p↦F(p)

其中 p p p是关节空间 Q \mathcal{Q} Q中的一个点。

关节空间的切空间到工作空间的切空间的推前映射 的定义:记 p p p点的切空间为 T p Q T_{p}\mathcal{Q} TpQ, p ∈ Q p \in \mathcal{Q} p∈Q, F ( p ) \mathbf{F}(p) F(p)点的切空间为 T F ( p ) W T_{\mathbf{F}(p)}\mathcal{W} TF(p)W, F ( p ) ∈ W \mathbf{F}(p) \in \mathcal{W} F(p)∈W,推前映射定义为:
P 1 : T p Q → T F ( p ) W , ∑ α i ∂ ∂ q i ↦ ∑ J i α ∂ ∂ q i \mathbf{P}{1}:\ T{p}\mathcal{Q} \to T_{\mathbf{F}(p)}\mathcal{W}, \qquad \sum \alpha_{i} \frac{\partial}{\partial q^{i}} \mapsto \sum J_{i}\alpha \frac{\partial}{\partial q^{i}} P1: TpQ→TF(p)W,∑αi∂qi∂↦∑Jiα∂qi∂

其中 J i J_{i} Ji是雅可比矩阵 J J J的第 i i i行, α = α 1 , . . . , α n T \alpha=\\alpha_{1}, ..., \\alpha_{n}^{T} α=α1,...,αnT。

工作空间的余切空间到关节空间的余切空间的拉回映射 的定义:记 F ( p ) \mathbf{F}(p) F(p)点的余切空间为 T F ( p ) ∗ W T^{*}{\mathbf{F}(p)}\mathcal{W} TF(p)∗W, F ( p ) ∈ W \mathbf{F}(p) \in \mathcal{W} F(p)∈W, p p p点的余切空间为 T p ∗ Q T^{*}{p}\mathcal{Q} Tp∗Q, p ∈ Q p \in \mathcal{Q} p∈Q,拉回映射定义为:
P 2 : T F ( p ) ∗ W → T p ∗ Q , ∑ β i d x i ↦ ∑ γ i d q i \mathbf{P}{2}:\ T^{*}{\mathbf{F}(p)}\mathcal{W} \to T^{*}{p}\mathcal{Q}, \qquad \sum \beta{i} d x^{i} \mapsto \sum \gamma_{i} d q^{i} P2: TF(p)∗W→Tp∗Q,∑βidxi↦∑γidqi

其中 P 2 \mathbf{P}{2} P2需要满足
( P 2 ( ∑ β i d x i ) ) ⏟ ∈ T p ∗ Q ( ∑ α i ∂ ∂ q i ) ⏟ ∈ T p Q = ( ∑ β i d x i ) ⏟ ∈ T F ( p ) ∗ W P 1 ( ∑ α i ∂ ∂ q i ) ⏟ ∈ T F ( p ) W (1) \underbrace{(\mathbf{P}
{2}(\sum \beta_{i} d x^{i}))}{\in T^{*}{p}\mathcal{Q}}\underbrace{(\sum \alpha_{i} \frac{\partial}{\partial q^{i}})}{\in T{p}\mathcal{Q}} = \underbrace{(\sum \beta_{i} d x^{i})}{\in T^{*}{\mathbf{F}(p)}\mathcal{W}}\underbrace{\mathbf{P}{1}(\sum \alpha{i} \frac{\partial}{\partial q^{i}})}{\in T{\mathbf{F}(p)}\mathcal{W}} \tag{1} ∈Tp∗Q (P2(∑βidxi))∈TpQ (∑αi∂qi∂)=∈TF(p)∗W (∑βidxi)∈TF(p)W P1(∑αi∂qi∂)(1)

将 P 2 ( ∑ β i d x i ) = ∑ γ i d q i \mathbf{P}{2}(\sum \beta{i} d x^{i})=\sum \gamma_{i} d q^{i} P2(∑βidxi)=∑γidqi代入(1)式左侧,将 P 1 ( ∑ α i ∂ ∂ q i ) = ∑ J i α ∂ ∂ q i \mathbf{P}{1}(\sum \alpha{i} \frac{\partial}{\partial q^{i}})=\sum J_{i}\alpha \frac{\partial}{\partial q^{i}} P1(∑αi∂qi∂)=∑Jiα∂qi∂代入(1)式右侧,得
β T J α = γ T α (2) \beta^{T}J\alpha=\gamma^{T}\alpha \tag{2} βTJα=γTα(2)

其中 β = β 1 , . . . , β 6 T \beta = \\beta_{1}, ..., \\beta_{6}^{T} β=β1,...,β6T, γ = γ 1 , . . . , γ n \gamma=\\gamma_{1}, ..., \\gamma_{n} γ=γ1,...,γn。由于 α \alpha α的任意性,所以 γ = J T β \gamma = J^{T}\beta γ=JTβ。
注: β \beta β是6维向量。因为 W = S E ( 3 ) \mathcal{W}=\mathrm{SE}(3) W=SE(3),即嵌入16维空间的6维流形。

从理论物理角度或者从机器人学来看,(1)式就是虚功原理 (或者虚功率原理 ),其中 P 2 ( ∑ β i d x i ) = ∑ γ i d q i ∈ T p ∗ Q \mathbf{P}{2}(\sum \beta{i} d x^{i})=\sum \gamma_{i} d q^{i} \in T^{*}{p}\mathcal{Q} P2(∑βidxi)=∑γidqi∈Tp∗Q为关节力矩, ∑ α i ∂ ∂ q i ∈ T p Q \sum \alpha{i} \frac{\partial}{\partial q^{i}} \in T_{p}\mathcal{Q} ∑αi∂qi∂∈TpQ为关节速度, ∑ β i d x i ∈ T F ( p ) ∗ W \sum \beta_{i} d x^{i} \in T^{*}{\mathbf{F}(p)}\mathcal{W} ∑βidxi∈TF(p)∗W为末端执行器上的受力, P 1 ( ∑ α i ∂ ∂ q i ) = ∑ J i α ∂ ∂ q i ∈ T p Q \mathbf{P}{1}(\sum \alpha_{i} \frac{\partial}{\partial q^{i}})=\sum J_{i}\alpha \frac{\partial}{\partial q^{i}} \in T_{p}\mathcal{Q} P1(∑αi∂qi∂)=∑Jiα∂qi∂∈TpQ为末端速度。

推前映射(Push forward)把关节空间的运动速度推到末端工作空间。拉回映射(Pull back)把作用在末端工作空间的"功率或者功的评价规则"拉回到关节空间,变成了各个关节应该承担多少力矩, τ = J T F \tau = J^{T}F τ=JTF。即:如果末端工作空间存在力 F F F,那么每一个关节需要提供多大的力矩来平衡这份功。

如果不能保障关节力矩提供额外的 J T F J^{T}F JTF来平衡外力 F F F的功率,那么外力 F F F会向系统灌输功率(转换为或者耗散掉系统的动能或者势能)。

写在最后

上述如有错误,恳请指正,谢谢。同时,欢迎讨论。

相关推荐
Rocktech_ruixun1 小时前
智慧餐饮新机遇:全场景无人化升级,破解餐饮业降本增效难题
人工智能·嵌入式硬件·ai·机器人
牛肉在哪里17 小时前
ros2 从零开始27 编写广播C++
开发语言·c++·机器人
winxp-pic19 小时前
OpenVLA 技术综述
人工智能·机器人·openvla
田里的水稻19 小时前
OE_永久配置网络_linux系统终端命令行ip_setting
人工智能·网络协议·机器人·运维开发
天天讯通19 小时前
机器人外呼行业适用性分析
人工智能·机器人
沫儿笙19 小时前
安川焊接机器人保护气智能节气阀
机器人
J_Xiong011720 小时前
【WAM篇】18:LV-P(Large Video Planner)——把“视频“当作机器人的母语,14B 大基座如何用扩散强迫想象未来
机器人·wam
InHand云飞小白21 小时前
智能制造中的5G工业路由器应用实践:从痛点到方案
5g·机器人·智能路由器·制造·工业路由器·工业物联网·5g路由器
J_Xiong01171 天前
【WAM篇】19:Dream2Flow——用现成视频模型“做梦“,把 3D 物体流变成开放世界的机器人指令
机器人·wam
J_Xiong01171 天前
【WAM篇】16:3DFlowAction——把光流从平面提升到立体,用“3D 流世界模型“驱动跨本体操作
机器人·wam