机器人动力学建模之刚体动力学基础学习

本文深入探讨刚体动力学的基础原理,涵盖动量、动量矩及其定理,解析牛顿-欧拉公式,并通过实例推导多连杆机器人动力学方程,适合力学与机器人学领域的学习者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚体动力学基础学习

在这里插入图片描述

1 符号

rrr:刚体上某个质量微元对固定点O的位置矢径

rPr_PrP:刚体上一点P对固定点O的位置矢径

ρ\rhoρ:刚体上某个质量微元对基点P的位置矢径

ρc\rho_cρc:刚体质心C对P的位置矢径

mmm:质量

vkv_kvk:点k的速度

ω\omegaω:角速度

aka_kak:点k的加速度

QQQ:动量

GkG_kGk:关于点k的绝对动量矩

Gk′G_k^{'}Gk:关于点k的相对动量矩

FFF:合外力

LkL_kLk:对点k的合外力矩

2 动量

(2-1)Q=∫mr˙ dm=mr˙c=mvc Q=\int_m \dot r \ {\rm dm}=m\dot r_c=mv_c\tag{2-1} Q=mr˙ dm=mr˙c=mvc(2-1)

3 动量矩

动量矩的这部分内容相对复杂,因为要分成好多种情况进行讨论。分别是:

  • 对固定点的动量矩
  • 对动点的绝对动量矩
  • 对动点的相对动量矩

首先,要对动点和固定点做区分。动点就是在动坐标系上的点,固定点就是在固定坐标系(或者说是惯性系)下的点。

其次,要对绝对动量矩和相对动量矩做区分。动量矩的计算公式是矢径和速度的乘积的积分,所谓绝对动量矩就是用绝对速度求解的动量矩,而相对动量矩就是用相对速度(相对动坐标系的速度)来求解的动量矩。由此可知,对固定点求动量矩,都没有绝对动量矩和相对动量矩的说法,因为对固定点都是绝对动量矩。而对于动点求动量矩,就有二者的区分。

另外,特别值得注意的是,动点中有一个点,非常特殊,那就是质心,它是占据有非常特殊地位的一个动点。对于质心而言,绝对动量矩和相对动量矩是相等的。而对于一般的动点,这一条完全不成立。

3.1 对固定点O的动量矩

(3-1)GO=∫mr×r˙ dm=∫m(rP+ρ)×(r˙P+ρ˙) dm=∫m(rP+ρ)×(vP+ω×ρ) dm=rP×vcm+ρc×vPm+JP⋅ω \begin{aligned} G_O&=\int_m r\times\dot r \ {\rm dm}\\ &=\int_m (r_P+\rho)\times (\dot r_P + \dot \rho) \ {\rm dm}\\ &=\int_m (r_P+\rho)\times (v_P + \omega\times\rho) \ {\rm dm}\\ &=r_P\times v_c m+\rho_c\times v_P m+J_P\cdot \omega\\ \end{aligned}\tag{3-1} GO=mr×r˙ dm=m(rP+ρ)×(r˙P+ρ˙) dm=m(rP+ρ)×(vP+ω×ρ) dm=rP×vcm+ρc×vPm+JPω(3-1)

3.2 对动点P的相对动量矩

公式(3-1)右端的第三项,实际上就是刚体在相对P点平动坐标系运动中对P点的动量矩。
(3-2)GP′=JP⋅ω G_P^{'}=J_P\cdot\omega\tag{3-2} GP=JPω(3-2)
它的意思就是说,假设有一个坐标系固连在P点上,这个坐标系相对固定点O在平动,然后,计算刚体相对于P点的动量矩。因此,上式也可以写成:
(3-3)GP′=∫mρ×ρ˙ dm=∫m(ρc+ρ′)×(ρ˙c+ρ˙′) dm=ρc×ρ˙cm+Jc⋅ω=JP⋅ω \begin{aligned} G_P^{'}&=\int_m \rho\times\dot\rho \ {\rm dm}\\ &=\int_m (\rho_c+\rho^{'})\times(\dot\rho_c+\dot\rho^{'})\ {\rm dm}\\ &=\rho_c\times\dot\rho_c m+J_c\cdot \omega=J_P\cdot\omega \end{aligned}\tag{3-3} GP=mρ×ρ˙ dm=m(ρc+ρ)×(ρ˙c+ρ˙) dm=ρc×ρ˙cm+Jcω=JPω(3-3)

3.3 对动点P的绝对动量矩

公式(3-1)右端的第二和第三项,实际上是刚体对P点的绝对动量矩。
(3-4)GP=ρc×vPm+JP⋅ω G_P=\rho_c\times v_P m+J_P\cdot \omega\tag{3-4} GP=ρc×vPm+JPω(3-4)
而上式又可以写作:
(3-5)GP=∫mρ×r˙ dm=∫m(ρc+ρ′)×r˙ dm=ρc×vcm+Jc⋅ω \begin{aligned} G_P&=\int_m \rho\times\dot r \ {\rm dm}\\ &=\int_m (\rho_c+\rho^{'})\times\dot r\ {\rm dm}\\ &=\rho_c\times v_c m+J_c\cdot \omega \end{aligned}\tag{3-5} GP=mρ×r˙ dm=m(ρc+ρ)×r˙ dm=ρc×vcm+Jcω(3-5)

3.4 对质心C的相对动量矩和绝对动量矩

相对动量矩
(3-6)Gc′=Jc⋅ω G_c^{'}=J_c\cdot\omega\tag{3-6} Gc=Jcω(3-6)
刚体在绝对运动(相对于固定点O的运动)中,对刚体质心的动量矩,等于,刚体在相对运动(相对基点P的运动)中对质心的动量矩。即:
(3-7)Gc=Gc′ G_c=G_c^{'}\tag{3-7} Gc=Gc(3-7)

3.5 固定点的动量矩与对动点的动量矩之间的关系

对固定点的动量矩与对动点P的绝对动量矩的关系为:
(3-8)GO=rP×vcm+GP=rP×vcm+ρc×vcm+Jc⋅ω G_O=r_P\times v_c m+G_P=r_P\times v_c m+\rho_c\times v_c m+J_c\cdot \omega\tag{3-8} GO=rP×vcm+GP=rP×vcm+ρc×vcm+Jcω(3-8)
当P点就是C点时,
(3-9)GO=rc×vcm+Jc⋅ω=rc×vcm+Gc G_O=r_c\times v_c m+J_c\cdot \omega=r_c\times v_c m+G_c\tag{3-9} GO=rc×vcm+Jcω=rc×vcm+Gc(3-9)

4 动量定理

(4-1)dQdt=F=mr¨c=mac \frac{{\rm d}Q}{{\rm d}t}=F=m\ddot r_c=ma_c\tag{4-1} dtdQ=F=mr¨c=mac(4-1)

上式便是牛顿动力学方程。

5 动量矩定理

5.1 动量矩基本定理(无需证明的)

刚体对固定点O的动量矩定理:
(5-1)ddtGO=LO \frac{{\rm d}}{{\rm d}t}G_O=L_O \tag{5-1} dtdGO=LO(5-1)
刚体对质心的动量矩定理:
(5-2)ddtGc=Lc \frac{{\rm d}}{{\rm d}t}G_c=L_c \tag{5-2} dtdGc=Lc(5-2)

5.2 刚体对动点的绝对动量矩定理

首先申明,刚体对动点的绝对动量矩就是前文推导的GPG_PGP。对动点的绝对动量矩的意思就是,对平移坐标系的原点求动量矩,但是求解时用的是绝对速度。

所以,
(5-3)GP=∫mρ×r˙ dm=ρc×vcm+Gc G_P=\int_m \rho\times\dot r \ {\rm dm}=\rho_c\times v_c m+G_c \tag{5-3} GP=mρ×r˙ dm=ρc×vcm+Gc(5-3)
所以求导,
(5-4)ddtGP=ρ˙c×mvc+ρc×mac+ddtGc=(r˙c−r˙P)×mvc+ρc×F+Lc=−vP×mvc+LP \begin{aligned} \frac{{\rm d}}{{\rm d}t}G_P &=\dot \rho_c\times mv_c+\rho_c\times ma_c+\frac{{\rm d}}{{\rm d}t}G_c\\ &=(\dot r_c-\dot r_P)\times mv_c+\rho_c\times F+L_c\\ &=-v_P\times mv_c+L_P \end{aligned}\tag{5-4} dtdGP=ρ˙c×mvc+ρc×mac+dtdGc=(r˙cr˙P)×mvc+ρc×F+Lc=vP×mvc+LP(5-4)
其中,LPL_PLP代表了刚体所受的外力系对动点P的主矩,它的定义为:
(5-5)LP=ρc×F+Lc L_P=\rho_c\times F+L_c\tag{5-5} LP=ρc×F+Lc(5-5)
最终,刚体对动点的绝对动量矩定理的表达形式为:
(5-6)ddtGP=−vP×mvc+LP \frac{{\rm d}}{{\rm d}t}G_P=-v_P\times mv_c+L_P\tag{5-6} dtdGP=vP×mvc+LP(5-6)

5.3 刚体对动点的相对动量矩定理

首先申明,刚体对动点的相对动量矩就是前文推导的GP′′G_P^{''}GP。对动点的相对动量矩的意思就是,对平移坐标系的原点求动量矩,但是求解时用的是相对速度。
(5-7)GP′=∫mρ×ρ˙ dm=ρc×ρ˙cm+Gc G_P^{'}=\int_m \rho\times\dot\rho \ {\rm dm}=\rho_c\times\dot\rho_c m+G_c\tag{5-7} GP=mρ×ρ˙ dm=ρc×ρ˙cm+Gc(5-7)
求导:
(5-8)ddtGP′=ρc×mρ¨c+ddtGc=ρc×m(r¨c−r¨P)+Lc=ρc×mac−ρc×maP+Lc=ρc×F−ρc×maP+Lc=−ρc×maP+LP \begin{aligned} \frac{{\rm d}}{{\rm d}t}G_P^{'} &=\rho_c\times m \ddot\rho_c +\frac{{\rm d}}{{\rm d}t} G_c\\ &=\rho_c\times m (\ddot r_c-\ddot r_P) +L_c\\ &=\rho_c\times m a_c-\rho_c\times ma_P+L_c\\ &=\rho_c\times F-\rho_c\times ma_P+L_c\\ &=-\rho_c\times ma_P+L_P\\ \end{aligned}\tag{5-8} dtdGP=ρc×mρ¨c+dtdGc=ρc×m(r¨cr¨P)+Lc=ρc×macρc×maP+Lc=ρc×Fρc×maP+Lc=ρc×maP+LP(5-8)
又因为,GP′=JP⋅ωG_P^{'}=J_P\cdot\omegaGP=JPω,其中JPJ_PJP是一个张量在某组坐标系(基)下的坐标矩阵,它的取值和基的选取非常相关。如果JPJ_PJP表示在固定坐标系下,那么由于刚体的旋转,JPJ_PJP的取值时时刻刻都会发生变化。而如果JPJ_PJP表示在与刚体固连的动坐标系下,那么其取值可以为一个常量。另外,必须注意,当JPJ_PJP表示在动坐标系下时,此时公式中相应的ω\omegaω也是表示在动坐标系下的。所以:
(5-9)ddtGP′=ddt(JP⋅ω)=JP⋅ω˙+ω×JP⋅ω \begin{aligned} \frac{{\rm d}}{{\rm d}t}G_P^{'}=\frac{{\rm d}}{{\rm d}t}(J_P\cdot\omega)={J_P}\cdot\dot\omega+\omega\times J_P\cdot\omega \end{aligned}\tag{5-9} dtdGP=dtd(JPω)=JPω˙+ω×JPω(5-9)

所以,若把公式(5-9)带入公式(5-8),可得:
(5-10)JP⋅ω˙+ω×JP⋅ω+ρc×maP=LP {J_P}\cdot\dot\omega+\omega\times J_P\cdot\omega+\rho_c\times ma_P=L_P \tag{5-10} JPω˙+ω×JPω+ρc×maP=LP(5-10)
若P点就是质心,则ρc=0\rho_c=0ρc=0,由公式(5-10),可得:
(5-11)Jc⋅ω˙+ω×Jc⋅ω=Lc {J_c}\cdot\dot\omega+\omega\times J_c\cdot\omega=L_c \tag{5-11} Jcω˙+ω×Jcω=Lc(5-11)
上式便是鼎鼎大名的欧拉动力学方程了。

最终,刚体对动点的相对动量矩定理的表达形式为:
(5-12)ddtGP′=−ρc×maP+LP \frac{{\rm d}}{{\rm d}t}G_P^{'}=-\rho_c\times ma_P+L_P\tag{5-12} dtdGP=ρc×maP+LP(5-12)

6 牛顿—欧拉公式

(6-1)F=macLc=Jc⋅ω˙+ω×Jc⋅ω \begin{aligned} &F=ma_c\\ &L_c={J_c}\cdot\dot\omega+\omega\times J_c\cdot\omega \end{aligned}\tag{6-1} F=macLc=Jcω˙+ω×Jcω(6-1)

以上,是大名鼎鼎的牛顿欧拉公式,看着形式很简单,但在应用时,有一些细节务必注意。

  • aca_cac是质心处的绝对加速度
  • JcJ_cJc是质心处定义的在动坐标系下表示的惯性张量
  • ω\omegaω是刚体在动坐标系下表示的角速度,通常也就是体坐标系
  • LcL_cLc是对质心的合外力矩

7 利用牛顿—欧拉公式推导常见的多连杆机器人动力学方程

假设所有量都是表示在动坐标系下的,也就是刚体的随体坐标系{b}系,另外{b}系的原点设置在b点,b点与刚体质心不重合。此时的牛顿欧拉方程为:
(7-1)Fb=macbLcb=Jc⋅ω˙b+ωb×Jc⋅ωb \begin{aligned} &F^b=ma_c^b\\ &L_c^b={J_c}\cdot\dot\omega^b+\omega^b\times J_c\cdot\omega^b \end{aligned}\tag{7-1} Fb=macbLcb=Jcω˙b+ωb×Jcωb(7-1)
首先分析牛顿方程:
(7-2)vcb=vbb+ωb×rbcbv˙cb=v˙bb+ωb×vbb+(ω˙b+ωb×ωb)×rbcb+ωb×(ωb×rbcb)acb=v˙cb=v˙bb+ωb×vbb+ω˙b×rbcb+ωb×(ωb×rbcb) \begin{aligned} &v_c^b=v_b^b+\omega^b\times r_{bc}^b\\ &\dot v_c^b=\dot v_b^b+\omega^b\times v_b^b+(\dot\omega^b+\omega^b\times\omega^b)\times r_{bc}^b+\omega^b\times(\omega^b\times r_{bc}^b)\\ &a_c^b=\dot v_c^b=\dot v_b^b+\omega^b\times v_b^b+\dot\omega^b\times r_{bc}^b+\omega^b\times(\omega^b\times r_{bc}^b)\\ \end{aligned}\tag{7-2} vcb=vbb+ωb×rbcbv˙cb=v˙bb+ωb×vbb+(ω˙b+ωb×ωb)×rbcb+ωb×(ωb×rbcb)acb=v˙cb=v˙bb+ωb×vbb+ω˙b×rbcb+ωb×(ωb×rbcb)(7-2)
所以,得到结论:
(7-3)Fb=mv˙bb+mωb×vbb+mω˙b×rbcb+mωb×(ωb×rbcb) \begin{aligned} &F^b=m\dot v_b^b+m\omega^b\times v_b^b+m\dot\omega^b\times r_{bc}^b+m\omega^b\times(\omega^b\times r_{bc}^b)\\ \end{aligned}\tag{7-3} Fb=mv˙bb+mωb×vbb+mω˙b×rbcb+mωb×(ωb×rbcb)(7-3)
接下来分析欧拉方程:
(7-4)Lbb=Lcb+rbcb×Fb=Lcb+mrbcb×acb=Jc⋅ω˙b+ωb×Jc⋅ωb+mrbcb×v˙bb+mrbcb×(ωb×vbb)+mrbcb×(ω˙b×rbcb)     +mrbcb×[ωb×(ωb×rbcb)]=(Jc+mrbcb⋅rbcb⋅I3×3−mrbcbTrbcb)⋅ω˙b+ωb×Jc⋅ωb+mrbcb×v˙bb     +mrbcb×(ωb×vbb)+mωb×[rbcb×(ωb×rbcb)]=(Jc+mrbcb⋅rbcb⋅I3×3−mrbcbTrbcb)⋅ω˙b+mrbcb×v˙bb     +mrbcb×(ωb×vbb)+ωb×(Jc+mrbcb⋅rbcb⋅I3×3−mrbcbTrbcb)⋅ωb \begin{aligned} L_b^b&=L_c^b+r_{bc}^b\times F^b=L_c^b+mr_{bc}^b\times a_c^b\\ &={J_c}\cdot\dot\omega^b+\omega^b\times J_c\cdot\omega^b+mr_{bc}^b\times\dot v_b^b+mr_{bc}^b\times(\omega^b\times v_b^b)+mr_{bc}^b\times(\dot\omega^b\times r_{bc}^b)\\ &\ \ \ \ \ +mr_{bc}^b\times[\omega^b\times(\omega^b\times r_{bc}^b)]\\ &=(J_c+m{r_{bc}^b}\cdot{r_{bc}^b}\cdot I_{3\times3}-m{r_{bc}^b}^T{r_{bc}^b})\cdot\dot\omega^b+\omega^b\times J_c\cdot\omega^b+mr_{bc}^b\times\dot v_b^b\\ &\ \ \ \ \ +mr_{bc}^b\times(\omega^b\times v_b^b)+m\omega^b\times[r_{bc}^b\times(\omega^b\times r_{bc}^b)]\\ &=(J_c+m{r_{bc}^b}\cdot{r_{bc}^b}\cdot I_{3\times3}-m{r_{bc}^b}^T{r_{bc}^b})\cdot\dot\omega^b+mr_{bc}^b\times\dot v_b^b\\ &\ \ \ \ \ +mr_{bc}^b\times(\omega^b\times v_b^b)+\omega^b\times(J_c+m{r_{bc}^b}\cdot{r_{bc}^b}\cdot I_{3\times3}-m{r_{bc}^b}^T{r_{bc}^b})\cdot\omega^b \end{aligned}\tag{7-4} Lbb=Lcb+rbcb×Fb=Lcb+mrbcb×acb=Jcω˙b+ωb×Jcωb+mrbcb×v˙bb+mrbcb×(ωb×vbb)+mrbcb×(ω˙b×rbcb)     +mrbcb×[ωb×(ωb×rbcb)]=(Jc+mrbcbrbcbI3×3mrbcbTrbcb)ω˙b+ωb×Jcωb+mrbcb×v˙bb     +mrbcb×(ωb×vbb)+mωb×[rbcb×(ωb×rbcb)]=(Jc+mrbcbrbcbI3×3mrbcbTrbcb)ω˙b+mrbcb×v˙bb     +mrbcb×(ωb×vbb)+ωb×(Jc+mrbcbrbcbI3×3mrbcbTrbcb)ωb(7-4)
最终形式为:
(7-5)Lbb=Jb⋅ω˙b+mrbcb×v˙bb+mrbcb×(ωb×vbb)+ωb×Jb⋅ωb L_b^b=J_b\cdot\dot\omega^b+mr_{bc}^b\times\dot v_b^b +mr_{bc}^b\times(\omega^b\times v_b^b)+\omega^b\times J_b\cdot\omega^b\tag{7-5} Lbb=Jbω˙b+mrbcb×v˙bb+mrbcb×(ωb×vbb)+ωb×Jbωb(7-5)
其中:
(7-6)Jb=Jc+mrbcb⋅rbcb⋅I3×3−mrbcbTrbcb J_b = J_c+m{r_{bc}^b}\cdot{r_{bc}^b}\cdot I_{3\times3}-m{r_{bc}^b}^T{r_{bc}^b}\tag{7-6} Jb=Jc+mrbcbrbcbI3×3mrbcbTrbcb(7-6)
所以,结合牛顿和欧拉方程,写成矩阵形式,有:
(7-7)[FbLbb]=[mI3×3−m[rbcb]×m[rbcb]×Jb][v˙bbω˙b]+[mωb×vbb+mωb×(ωb×rbcb)mrbcb×(ωb×vbb)+ωb×Jb⋅ωb] \begin{aligned} \left[\begin{matrix} F^b \\ L_b^b \end{matrix}\right]= \left[\begin{matrix} mI_{3\times3} & -m[r_{bc}^b]_\times \\ m[r_{bc}^b]_\times & J_b \\ \end{matrix}\right] \left[\begin{matrix} \dot v_b^b \\ \dot\omega^b \end{matrix}\right] + \left[\begin{matrix} m\omega^b\times v_b^b+m\omega^b\times(\omega^b\times r_{bc}^b) \\ mr_{bc}^b\times(\omega^b\times v_b^b)+\omega^b\times J_b\cdot\omega^b \end{matrix}\right] \end{aligned}\tag{7-7} [FbLbb]=[mI3×3m[rbcb]×m[rbcb]×Jb][v˙bbω˙b]+[mωb×vbb+mωb×(ωb×rbcb)mrbcb×(ωb×vbb)+ωb×Jbωb](7-7)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值