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


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

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

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

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

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

    辨识结果:

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

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

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

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

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

  • 相关阅读:
    ORACLE 在内存管理机制上的演变和进化
    【闲聊杂谈】ElasticSearch的深度分页相关
    Flink系列之Flink中RestartStrategy重启策略和FailoverStrategy故障转移策略
    【2023秋招笔经】20220813 16点美团笔试
    topk算法-leetcode java题解
    补充:selenium操作已打开的浏览器窗口
    打通谷歌办公软件 Bard与ChatGPT走差异化道路
    Linux内核中网络部分结构以及分布
    Nginx反向代理与负载均衡
    linux Make 工具 Makefile变量
  • 原文地址:https://blog.csdn.net/weixin_44229927/article/details/126056611