普通的矢量属于3D矢量,即每个3D矢量是由空间的三个标量表示,举例来说,空间的某个位置矢量是由三个XYZ轴的标量值得到,空间的力矢量是力在XYZ轴的标量值合成,力矩也是三个标量合成。而在6D 空间矢量则是分为运动学量以及动力学量,具体为
基于空间矢量的动力学模型其动力学原理仍然是牛顿-欧拉方程,而牛顿方程是用力与线加速度之间的关系,欧拉方程是力矩与角速度以及角加速度之间的关系。牛顿方程与欧拉方程之间的结合即是空间矢量的动力学建模。
考虑到
则进一步有单刚体的运动方程
对机器人的建模进行如下的假设
a) 忽略机械臂的弹性效应,将其看作为刚体
b) 关节只是连接相邻连杆,无柔性
c) 该机械臂为串行结构,无支路且末端自由、不闭合
可以将机械臂若干个连杆看作是统一的铰接体,铰接体中各个连杆均保留原有的速度和加速度,铰接体的概念让空间矢量的的物理意义更加接近现实的3D矢量动力学,3D矢量的刚体动力学参数主要是单刚体的质量以及转动惯量,6D矢量的多刚体动力学参数主要是多刚体组成的铰接体的质量以及铰接体转动惯量。
机械臂的具体构型如下所示,可以看出,机械臂有7个自由度
动力学的递推表达具体如下所示
上述给出了基于空间矢量的机器的逆向动力学建模,即根据机器人的运动状态求解机器人的控制力矩,机器人的逆向动力学一般应用在机器人的控制领域,
下面进一步给出基于空间矢量的机械臂的正向递推动力学的算法,与逆向动力学正好相反,正向动力学主要是根据机器人的控制力矩,以及上一时刻机器人的运动状态,求解机器人下一时刻的运动加速度,进而积分求解出速度和角度。正向动力学一般应用在机器人的仿真中。
组合体惯量的机器人动力学建模主要包括三个模块,逆向动力学模块计算,离心力等项目的计算,以及惯量矩阵的计算。
为了对比不同算法的异同点,下面给出具体的仿真对比
机械臂的三维模型具体如下,在Simechanics中建立机械臂的动力学仿真模块,作为实验对比参考
上述是SimMechanics中建立的机械臂动力学模型,并且进行了一定程度的封装。仿真曲线如下所示。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。