• 【机器人算法】机器人运动学参数辨识/DH参数校准/DH参数辨识


    本文主要进行的是以提高位置精度为目的,基于误差模型和最小二乘法的DH参数辨识。需要注意的是,由于DH参数使得机械臂的位置和姿态存在强耦合,因此在提高位置精度的同时,姿态精度也会获得提升。
    DH参数辨识的主要步骤:

    1. 建立误差模型;
    2. 不能辨识的冗余参数剔除;
    3. 雅可比矩阵求伪逆;
    4. 迭代求解。

    在建立误差模型的过程中,如果机械臂存在相邻两个轴平行时,需要建立含有beta模型的DH参数。
    还有需要注意的是,基于误差模型的DH参数校准方法是建立在DH误差相对较小的情况,只有当此时才能进行线性近似,保证辨识的效果。
    本文随机给出一种6轴的机械臂,同时存在相邻两个轴平行,进行参数辨识。
    首先假设,DH模型存在误差如下:

    可以看出无论是距离还是角度都为1e-2数量级。
    然后我们进行数据采样,比较基于NDI采样的机器人末端位姿和基于机器人运动学读出的位姿的差异:

    进行迭代补偿:
    (待补充)

    辨识结果:

    可以看出,除去冗余参数,其他DH参数都能辨识出来。
    对比补偿前后的绝对精度:

    可以看出,补偿后的位置精度大大提升。
    同时我们再关心一下姿态精度:

    可以看出,虽然我们是建立在辨识位置精度误差模型的基础上,机器人位姿关系的强耦合,我们同时也提高了姿态精度。
    因此通过此算法,机器人的位置精度和姿态精度都大大提升了。

    为了更直观的展示,我们讲机器人末端轨迹展示出来。

    其中绿线是补偿前的轨迹,蓝线是补偿后的轨迹,可以看出通过DH参数辨识,我们将机器人的模型和真实的机器人更加接近了,因此也就提高了控制的精度。

  • 相关阅读:
    vue之浏览器存储方法封装实例
    针对公网IP签发的IP地址SSL证书
    猫罐头买什么牌子的?宠物店最受欢迎的5款猫罐头推荐!
    外汇天眼:经济调控之术!升息如何化解通货膨胀的困扰?
    QT之项目经验(windows下的sqlite,c++开发)
    linux开发之制作Ubuntu根文件系统
    网速快慢与网线材质的选择关系
    类图 UML从入门到放弃系列之二
    OpenCV 卷积运算和卷积核
    Java学习笔记(三)
  • 原文地址:https://blog.csdn.net/weixin_44229927/article/details/126056611