机器人动力学建模

文章详细介绍了机器人动力学在设计和控制中的重要性,主要讨论了两种建模方法。拉格朗日方程基于系统的能量,简化了建模,但物理意义不明确。牛顿-欧拉方程则分别描述了刚体平移和旋转的动力学关系,提供了更直接的力和力矩分析。

机器人动力学在机器人设计、控制以及碰撞检测中是不可或缺的。常见的动力学建模方法有拉格朗日方程、牛顿欧拉方程以及虚功原理。

1、 拉格朗日方程

拉格朗日方程以系统的能量为基础建立动力学模型,可以避免内部刚体之间出现的作用力,简化了建模过程,但其物理意义不明确,而且对于复杂系统,拉格朗日函数的微分运算将变得十分繁琐。

1.1 动能

连杆的动能 = 移动动能 + 转动动能
K=12mvcTvc+12ωTIcωcK=\frac{1}{2}m\boldsymbol{v}_{c}^{T}\boldsymbol{v}_{c}+\frac{1}{2}\boldsymbol{\omega}^{T}\boldsymbol{I}_{c}\boldsymbol{\omega}_{c}K=21mvcTvc+21ωTIcωc

1.2 势能

连杆的势能 = 重力势能 + 零势能点
P=−mgTpc+mgThcP=-m\boldsymbol{g}^{T}\boldsymbol{p}_{c}+m\boldsymbol{g}^{T}\boldsymbol{h}_{c}P=mgTpc+mgThc

1.3 拉格朗日算子

L(θ,θ˙)=K(θ,θ˙)−P(θ)L(\boldsymbol{\theta},\boldsymbol{\dot\theta})=K(\boldsymbol{\theta},\boldsymbol{\dot\theta})-P(\boldsymbol{\theta})L(θ,θ˙)=K(θ,θ˙)P(θ)

1.4 拉格朗日方程

ddt∂L∂θ˙−∂L∂θ=τ\frac{d}{dt}\frac{\partial{L}}{\partial{\boldsymbol{\dot{\theta}}}}-\frac{\partial{L}}{\partial{\boldsymbol{\theta}}}=\boldsymbol{\tau}dtdθ˙LθL=τ

2、 牛顿-欧拉方程

牛顿方程描述了刚体平移所受的外力与刚体质心处质量和质心处加速度之间的关系;欧拉方程描述了刚体旋转所受的外力矩与角速度、角加速度和惯性张量之间的关系;因此,可以使用牛顿-欧拉方程建立刚体动力学方程。

2.1 线速度

rA=rAB+ARB⋅BrB\boldsymbol{r}_{A}=\boldsymbol{r}_{AB}+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{r}_{B}rA=rAB+ARBBrB
等式两边同时对时间ttt求导可得:
vA=vAB+AR˙B⋅BrB+ARB⋅BvB\boldsymbol{v}_{A}=\boldsymbol{v}_{AB}+^{A}\dot{ \boldsymbol{R}}_{B} \cdot ^{B}\boldsymbol{r}_{B}+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{v}_{B}vA=vAB+AR˙BBrB+ARBBvB
根据导数和微分的定义可知:
AR˙B=S(ω)ARB=[0−ωz−ωyωz0−ωx−ωyωx0]^{A}\boldsymbol{\dot R}_{B}=\boldsymbol{S(\omega)}^{A}\boldsymbol{ R}_{B}=\begin{bmatrix} 0&-\omega_{z}&-\omega_{y}\\ \omega_{z}&0&-\omega_{x}\\ -\omega_{y}&\omega_{x}&0\\ \end{bmatrix}AR˙B=S(ω)ARB=0ωzωyωz0ωxωyωx0
由于坐标系BBB和点PPP位于同一个连杆,因此BrB^{B}\boldsymbol{r}_{B}BrB为定值,所以BvB=0^{B}\boldsymbol{v}_{B}=0BvB=0
综上可知:
vA=vAB+S(ω)⋅ARB⋅BrB\boldsymbol{v}_{A}=\boldsymbol{v}_{AB}+\boldsymbol{S(\omega)} \cdot ^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B}vA=vAB+S(ω)ARBBrB
即:
vA=vAB+ω×(ARB⋅BrB)\boldsymbol{v}_{A}=\boldsymbol{v}_{AB}+\boldsymbol{\omega} \times (^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B})vA=vAB+ω×(ARBBrB)

2.2 线加速度

对上式求导可得:
aA=aAB+β×(ARB⋅BrB)+ω×ω×(ARB⋅BrB)\boldsymbol{a}_{A}=\boldsymbol{a}_{AB}+\boldsymbol{\beta} \times (^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B})+\boldsymbol{\omega} \times \boldsymbol{\omega} \times (^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B})aA=aAB+β×(ARBBrB)+ω×ω×(ARBBrB)

2.3 角速度

Aωc=AωB+ARB⋅Bωc^{A}\boldsymbol{\omega}_{c}=^{A}\boldsymbol{\omega}_{B}+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{\omega}_{c}Aωc=AωB+ARBBωc

2.3 角加速度

等式两边同时对时间ttt求导得:
Aβc=AβB+AR˙B⋅Bωc+ARB⋅Bβc^{A}\boldsymbol{\beta}_{c}=^{A}\boldsymbol{\beta}_{B}+^{A}\dot{\boldsymbol{R}}_{B} \cdot ^{B}\boldsymbol{\omega}_{c}+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{\beta}_{c}Aβc=AβB+AR˙BBωc+ARBBβc
即:
Aβc=AβB+AωB×(ARB⋅Bωc)+ARB⋅Bβc^{A}\boldsymbol{\beta}_{c}=^{A}\boldsymbol{\beta}_{B}+^{A}\boldsymbol{\omega}_{B} \times (^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{\omega}_{c})+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{\beta}_{c}Aβc=AβB+AωB×(ARBBωc)+ARBBβc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值