机器人动力学建模

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

1、 拉格朗日方程

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

1.1 动能

连杆的动能 = 移动动能 + 转动动能
K = 1 2 m v c T v c + 1 2 ω T I c ω c K=\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 = − m g T p c + m g T h c P=-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 拉格朗日方程

d d t ∂ 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 线速度

r A = r A B + A R B ⋅ B r B \boldsymbol{r}_{A}=\boldsymbol{r}_{AB}+^{A}\boldsymbol{R}_{B} \cdot ^{B}\boldsymbol{r}_{B} rA=rAB+ARBBrB
等式两边同时对时间 t t t求导可得:
v A = v A B + A R ˙ B ⋅ B r B + A R B ⋅ B v B \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
根据导数和微分的定义可知:
A R ˙ B = S ( ω ) A R B = [ 0 − ω z − ω y ω z 0 − ω x − ω y ω x 0 ] ^{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
由于坐标系 B B B和点 P P P位于同一个连杆,因此 B r B ^{B}\boldsymbol{r}_{B} BrB为定值,所以 B v B = 0 ^{B}\boldsymbol{v}_{B}=0 BvB=0
综上可知:
v A = v A B + S ( ω ) ⋅ A R B ⋅ B r B \boldsymbol{v}_{A}=\boldsymbol{v}_{AB}+\boldsymbol{S(\omega)} \cdot ^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B} vA=vAB+S(ω)ARBBrB
即:
v A = v A B + ω × ( A R B ⋅ B r B ) \boldsymbol{v}_{A}=\boldsymbol{v}_{AB}+\boldsymbol{\omega} \times (^{A}\boldsymbol{ R}_{B} \cdot ^{B}\boldsymbol{r}_{B}) vA=vAB+ω×(ARBBrB)

2.2 线加速度

对上式求导可得:
a A = a A B + β × ( A R B ⋅ B r B ) + ω × ω × ( A R B ⋅ B r B ) + a B \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})+\boldsymbol{a}_{B} aA=aAB+β×(ARBBrB)+ω×ω×(ARBBrB)+aB

2.3 角速度

A ω c = A ω B + A R B ⋅ 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 角加速度

等式两边同时对时间 t t t求导得:
A β c = A β B + A R ˙ B ⋅ B ω c + A R B ⋅ 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 × ( A R B ⋅ B ω c ) + A R B ⋅ 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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设我们有两个并联的机器人,其中一个是移动平台,另一个是悬臂臂。下面给出其动力学建模的示例。 首先,我们需要定义每个机器人的运动学模型,包括它们的位置、速度和加速度。 对于移动平台,假设它的位置为 $(x,y)$,朝向角度为 $\theta$,速度为 $v$,角速度为 $\omega$,则其运动学模型可以表示为: $$ \begin{aligned} x &= x_0 + v\cos(\theta)t \\ y &= y_0 + v\sin(\theta)t \\ \theta &= \theta_0 + \omega t \\ \end{aligned} $$ 其中,$x_0$ 和 $y_0$ 是初始位置。这个模型可以帮助我们计算平台上各个点的位置和速度。 对于悬臂臂,假设它的位置为 $(x_1,y_1)$,角度为 $\theta_1$,速度为 $v_1$,角速度为 $\omega_1$,则其运动学模型可以表示为: $$ \begin{aligned} x_1 &= x + l\cos(\theta_1) \\ y_1 &= y + l\sin(\theta_1) \\ \theta_1 &= \theta_0 + \theta_1' \\ \end{aligned} $$ 其中,$l$ 是悬臂臂的长度,$\theta_1'$ 是悬臂臂的角度变化量。这个模型可以帮助我们计算悬臂臂末端的位置和速度。 接下来,我们需要推导每个机器人动力学模型,包括它们的力和加速度。假设每个机器人只受到重力和由电机引起的力的作用。 对于移动平台,其受到的合力可以表示为: $$ F = F_{motor} - mg\sin(\theta) $$ 其中,$F_{motor}$ 是由电机引起的力,$m$ 是平台的质量,$g$ 是重力加速度,$\theta$ 是平台的朝向角度。根据牛顿第二定律,平台的加速度可以表示为: $$ a = \frac{F}{m} $$ 对于悬臂臂,其受到的合力可以表示为: $$ F_1 = F_{motor1} - mg\sin(\theta_1) $$ 其中,$F_{motor1}$ 是由电机引起的力,$\theta_1$ 是悬臂臂的角度。根据牛顿第二定律,悬臂臂末端的加速度可以表示为: $$ a_1 = \frac{F_1}{m_1} $$ 其中,$m_1$ 是悬臂臂的质量。 最后,我们可以使用这些模型和方程来计算机器人的运动和动力学行为,例如计算它们的速度、加速度、能量等等。同时,我们也可以使用这些模型来设计和优化机器人的控制器,以实现所需的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值