前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Dynamics】机械臂动力学建模(牛顿-欧拉法)

【Dynamics】机械臂动力学建模(牛顿-欧拉法)

原创
作者头像
ZC_Robot机器人技术
修改2020-06-25 20:19:21
8.5K0
修改2020-06-25 20:19:21
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

一概述

机械臂的动力学是研究机器人动态性能的基础,建立机械臂的动力学主要目的有以下几点:

(1)动力学用于机械臂的仿真,机械臂的动力学有助于进行机械臂完成特定任务比如目标捕获、操作、抓取以及分拣等操作;仿真可以得到机械臂在完成此类任务过程中的动态特性;

(2)动力学用于机械臂的控制,基于动力学的控制会大大提高机械臂的动态性能,使得机械臂可以在更快的速度下稳定运行;

(3)动力学用于机械臂的重力补偿,机械臂自身有助于重力补偿下的控制模式,一般配合关节空间阻抗控制用于完成示教操作或者遥操作主端设备的控制,而重力补偿是动力学中的一个关键部分;

动力学建模的原理在之前的文中已经有所介绍。而对于机械臂的动力学建模常规的方法包括:

(1)牛顿-欧拉递推方法;

(2)拉格朗日方法;

二牛顿-欧拉方法

2.1 单刚体动力学模型

机械臂是典型的多体系统,建立多体系统的最常规方法是采用牛顿-欧拉方法,由于Neton-Euler方程可以很好的描述单刚体在力和力矩下的平动以及转动。

单刚体动力学主要是解决平动和转动的建模问题,对于牛顿-欧拉方程中,牛顿方程主要是为了解决平动问题,即外部作用力F 和加速度a 之间的关系: F=ma

欧拉方程则主要处理的刚体的转动问题,其涉及到刚体的角速度w以及角加速度\dot w ,即N= {_{}^{c}I}\dot{w}+w\times{_{}^{c}I}w

刚体受力和受力矩作用图
刚体受力和受力矩作用图

2.2 运动学量的递推

要建立机械臂各个连杆之间的动力学方程,首先需要推导机械臂各个部分的速度与加速度值:

{^{i+1}w_{i+1}=_{i}^{i+1}R}^{i}w_{i}+\dot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}}
{^{i+1}{\dot w}_{i+1}=_{i}^{i+1}R^{i}{\dot w}_{i}+_{i}^{i+1}R}^{i}{\dot w}_{i} {\dot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}}} +\ddot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}}

如果第i 个关节是移动关节,则上式可以转化为

^{i+1}{w}_{i+1}=_{i}^{i+1}R^{i}{w}_{i}

同样的,对于各个连杆坐标系处的线加速度可以表示如下:

^{i+1}{\dot v}_{i+1}=_{i}^{i+1}R{^{i}{w}_{i}\times^{i}{P}_{i+1}+^{i}{w}_{i}\times(^{i}{w}_{i}\times^{i}{P}_{i+1}))+^{i}{\dot v}_{i}}

由此,进一步推导,可以得到各个连杆质心处的线加速度如下所示

^{i+1}{\dot v}_{C_{i+1}}=^{i}{\dot w}_{i}\times ^{i+1}{P}_{C_{i}}+^{i}{w}_{i}\times(^{i}{w}_{i}+^{i}{P}_{C_{i}})+^{i+1}{\dot v}_{{i}}

2.3 力和力矩的向内递推

杆件受力情况
杆件受力情况
连杆受力矩情况
连杆受力矩情况

根据上述递推可以知道各个杆件的速度和加速度关系,由此,根据之前单刚体的牛顿-欧拉方程,可以得到具体的各部分连杆的作用力和力矩

F_{i}=m{\dot v}_{C_{i}}
N_{i}={^{C_i}I}{\dot w}_{i}+{w}_{i}\times{^{C_i}I}{w}_{i}
杆件i力分析
杆件i力分析

定义f_i是杆件i-1作用在杆件i上的作用力;n_i是杆件i−1作用在杆件i上的作用力矩;则可以得到杆件i

动力学平衡方程有

^{i}f_{i}=_{i+1}^{i}R^{i+1}f_{i+1}+^{i}F_i
^{i}n_i=^{i}N_i+_{i+1}^{i}R^{i+1}n_{i+1}+^{i}P_{C_i}\times ^{i}F_i+^{i}P_{i+1}\times _{i+1}^{i}R^{i+1}f_{i+1}

2.4 牛顿-欧拉递推

对于多自由度机械臂动力学方程的建模,主要包含两个部分,首先是关于运动学量的向外递推,从关节1到关节n,从连杆1到连杆n

\begin{cases} & {^{i+1}w_{i+1}=_{i}^{i+1}R}^{i}w_{i}+\dot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}} \\ & {^{i+1}{\dot w}_{i+1}=_{i}^{i+1}R^{i}{\dot w}_{i}+_{i}^{i+1}R}^{i}{\dot w}_{i} {\dot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}}} +\ddot{\theta}_{i+1}{^{i+1}\hat{Z}_{i+1}} \\ & ^{i+1}{\dot v}_{i+1}=_{i}^{i+1}R{^{i}{w}_{i}\times^{i}{P}_{i+1}+^{i}{w}_{i}\times(^{i}{w}_{i}\times^{i}{P}_{i+1}))+^{i}{\dot v}_{i}}\\ & ^{i+1}{\dot v}_{C_{i+1}}=^{i}{\dot w}_{i}\times ^{i+1}{P}_{C_{i}}+^{i}{w}_{i}\times(^{i}{w}_{i}+^{i}{P}_{C_{i}})+^{i+1}{\dot v}_{{i}} \\ & ^{i+1}F_{i}=m^{i+1}{\dot v}_{C_{i+1}} \\ & ^{i+1}N_{i+1}={^{C_{i+1}}I}^{i+1}{\dot w}_{i+1}+^{i+1}{w}_{i+1}\times {^{C_{i+1}}I}^{i+1}{w}_{i+1} \end{cases}

其次是动力学量从外向内递推

\left\{\begin{matrix} ^{i}f_{i}=_{i+1}^{i}R^{i+1}f_{i+1}+^{i}F_i\\ ^{i}n_i=^{i}N_i+_{i+1}^{i}R^{i+1}n_{i+1}+^{i}P_{C_i}\times ^{i}F_i+^{i}P_{i+1}\times _{i+1}^{i}R^{i+1}f_{i+1}\\ \tau _i=^{i}n_{i}^{T}\hat{Z}_{i} \end{matrix}\right.

三 总结

关于牛顿欧拉法的总结具体如下:

  • 牛顿欧拉方程中牛顿方程主要用于解决刚体的平动问题,欧拉方程主要解决刚体的旋转问题;
  • 任何刚体的任何运动均可以用平动以及转动合成,力的平移会产生转矩,力矩的平移可以直接进行;
  • 刚体的受力分析可以集中到一个点;
  • 多体系统的牛顿欧拉方程建模只是动力学的建模算法之一
  • 目前建立的牛顿你欧拉方程仅仅是多刚体系统在自由运动空间的动力学方程,且可以在在静力分析时候引入外部作用力和力矩;但是多刚体的接触情况需要单独进行,因为多刚体的接触是一个很复杂的情况,涉及情况较多;
  • 多刚体动力学分析相对单刚体动力学需要引入多刚体的运动学分析,运动学分析需要求解刚体的线速度以及角速度,进而求解出刚体的线加速度以及角加速度

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一概述
  • 二牛顿-欧拉方法
    • 2.1 单刚体动力学模型
      • 2.2 运动学量的递推
        • 2.3 力和力矩的向内递推
          • 2.4 牛顿-欧拉递推
          • 三 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档