糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 【机器人算法】机器人动力学参数辨识

【机器人算法】机器人动力学参数辨识

时间:2021-11-14 01:28:04

相关推荐

【机器人算法】机器人动力学参数辨识

本篇博文以二连杆系统为例子,讲解机器人的动力学参数辨识,并进行仿真,由于本篇主要是进行仿真因此没有实验数据处理的过程。

本篇博文主要参考了霍伟的《机器人动力学与控制》。

机器人动力学参数主要步骤:

牛顿欧拉动力学建模向外迭代线性化提取最小参数集激励轨迹设计最小二乘法求出动力学参数

动力学建模的方法不用赘述,请参见《机器人学建模、规划与控制》

其中在向外迭代的过程中,对标黄部分进行线性化处理:

于是就可以得到动力学方程的线性化的形式。

这个时候并不能直接使用最小二乘法,因为Y矩阵不满秩,并且如果使用SVD等方式进行伪逆解处理时,由于Y矩阵的条件数较大,Y矩阵是一个病态矩阵,这就导致伪逆计算的结果十分不精确,并且没有实际的物理意义,比如说将质量计算为负值等等的。因此需要对观测矩阵Y和惯量参数矩阵进行修改。

这就涉及到了最小参数集的提取,最小参数集的提取方法见《霍伟》P97页。

对于二连杆系统,其最小参数集为:

Y矩阵和各个关节的位置、速度和加速度有关。因此激励轨迹将直接影响到Y.’*Y求逆时候的可信度,因此需要优化激励轨迹,激励轨迹的优化一般是寻找约束非线性多变量函数的最小值,本篇博文由于没有优化计算量的原因,没有进行激励轨迹的优化。

优化后可以直接使用最小二乘法:

本篇博文二连杆的参数为

subs(p,{'L1','L2','m1','m2','I1','I2','c1x','c1y','c2x','c2y','Izz1','Izz2'},{0.3,0.3,0.5,0.5,5.4e-3,5.4e-3,0.15,0,0.15,0,0.016650,0.016650})

因此真实连杆的最小参数集为:

0.061650.22500.016650.075

仿真后的结果:

可以看出辨识结果精确有效。

如果觉得《【机器人算法】机器人动力学参数辨识》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。