【人工智能与机器人研究】基于力传感器坐标系预标定的重力补偿算法

导读:

重力补偿算法需要实时估计力传感器的初始值及工具重力对力传感器所施加的力和力矩,进而获得外界所施加的力和力矩。当估计工具重力对力传感器所施加的力和力矩时,需要获得力传感器坐标系和机器人末端坐标系的旋转变换矩阵。当前的重力补偿算法采用手动校准的方式,通过不断的拆卸力传感器去保证力传感器坐标系和机器人末端坐标系平行。该手动校准的方式操作复杂耗时较长,本文提出一种带有标定力传感器坐标系相对于机器人末端坐标系的重力补偿算法,从算法层面标定力传感器坐标系和机器人末端坐标系的旋转变换矩阵,实现重力补偿算法的自动化。通过实验验证该方法不需要手动校准,即可实现[0.237/N 0.395/N 0.928/N 0.032/N·m 0.018/N·m 0.002/N·m]的重力补偿误差。

正文

本文提出一种带有力传感器初始值的力牵引重力补偿方法,与已有方法不同,为解决力传感器因安装不精确,无法保证力传感器坐标系和机械臂末端坐标系平行,进而需要反复拆卸调整安装力传感器的问题,本文通过测试并保证机器人底座和地面基本平行的前提下,变换机器人多组任意姿态,利用最小二乘法估计力传感器的初始值、工具的重力及工具的重心位置,变换机器人多组特定姿态精准标定力传感器坐标系相对机器人末端坐标系的旋转变换矩阵,从而解决力传感器因安装不精确,需要反复拆卸调整安装的问题。基于以上步骤,可以实现重力补偿自动化,进而实时获得工作人员所施加的力和力矩。

如图1所示,为重力补偿原理示意图,{B}{B} 表示机器人基坐标系,{E}{E} 表示机器人末端坐标系,{FS}{FS} 表示六维力传感器坐标系,工具重心在pgravitypgravity 处,且工具对六维力传感器XX 、YY 、轴所施加力及力矩为FTx 、FTy、FTz、MTx、MTy、MTz。

如图2所示,为真实实验示意图,本文所采用的机械臂为AUBO-I5六轴机械臂,额定负载为5 kg,重复定位精度为±0.02 mm,具有防碰撞停止功能,并提供了对应的SDK控制包。本文所采用的力传感器为ATI-Gamma六维力学传感器,X、Y轴的力量程为±130 N,Z轴的力量程为±400 N,力矩量程为±10 N∙m,最小力分辨率为0.0063 N,最小力矩分辨率为0.0005 N∙m,在机械臂末端利用连接件固连施力工具。

为验证算法的精度,将力传感器安装到机械臂末端,随机生成N (本文实验N = 10)组机械臂六个关节角度,并将所生成的六个关节角的角度记录到表1中。

从表2、表3及表4中可以看出,在重力补偿中添加力传感器坐标系标定的步骤后,重力补偿的残差最小,本文重力补偿算法的残差为[0.237/N 0.395/N 0.928/N 0.032/N∙m 0.018/N∙m 0.002/N∙m],对比于原算法的重力补偿残差[5.011/N 3.171/N 0.3/N 0.214/N∙m 0.339/N∙m 0.010/N∙m],该算法具有一定的优越性,因此本文的重力补偿算法具有有效性。

图3表示3种方法的重力补偿残差示意图,从曲线变化图可以看出本文的重力补偿算法残差最小且平稳性最好。

结论

  1. 目前重力补偿算法普遍假设力传感器坐标系和机器人末端坐标系平行,而受加工件的影响,工作人员需要不断设计加工件并拆卸调整安装力传感器,从而保证力传感器坐标系和机器人末端坐标系平行。本文提出一种具有标定力传感器坐标系相对于机器人末端坐标系的带有力传感器初始值的重力补偿算法,从算法层面解决了力传感器坐标系和机器人末端坐标系不平行的问题,降低了重力补偿操作的复杂度。

  2. 给出了所提出方法的理论分析,说明了重力补偿所需要估计的参数量,介绍了利用最小二乘法估计力传感器初始值、工具重力及重心坐标及利用多个特定机器人位姿精准标定力传感器坐标系相对于机器人末端坐标系的方法,确保了模型的有效性。

  3. 实验结果表明,在力传感器坐标系和机器人末端坐标系不平行的情况下,本文的算法与原有的重力补偿算法相比,降低了重力补偿残差,提高了重力补偿算法的场景实用度。

后续工作将深入研究力传感器坐标系标定的精确度及基于动态力的重力补偿算法,提高机器人运动过程中的重力补偿效果,进而提高机器人力控算法的稳定性。

基金项目:

国家自然科学基金共融机器人重大研究计划重点项目(No. 92148206)

北京市自然科学基金(7202103)

原文链接: https://doi.org/10.12677/airr.2024.134088

相关推荐
bot55566610 小时前
“企业微信iPad协议”凌晨沉默实验:当群发接口只剩心跳声
算法
郝学胜-神的一滴10 小时前
深入理解 C++ 中的 `std::bind`:功能、用法与实践
开发语言·c++·算法·软件工程
却道天凉_好个秋10 小时前
深度学习(十三):向量化与矩阵化
人工智能·深度学习·矩阵·向量化
yzx99101310 小时前
低空物流自动驾驶机器人
人工智能·机器人·自动驾驶
努力学习的小廉10 小时前
我爱学算法之—— 模拟(上)
c++·算法
大模型铲屎官10 小时前
【数据结构与算法-Day 35】拓扑排序:从依赖关系到关键路径的完整解析
人工智能·python·深度学习·操作系统·数据结构与算法·关键路径·扩扑排序
Keying,,,,10 小时前
秋招算法记录 | 排序算法整理 | 直接选择、直接插入、冒泡、快排、希尔排序
数据结构·python·算法·排序算法
ChinaRainbowSea10 小时前
6. Advisor 对话拦截
java·人工智能·后端·spring·ai编程
静若繁花_jingjing10 小时前
牛客算法题_二叉树
算法
聚客AI10 小时前
🔥图片搜索文本,语音检索视频?多模态RAG的跨模态检索能力
人工智能·llm·掘金·日新计划