基于六维力传感器的工业机器人末端负载受力感知研究
2018-8-24 来源:转载 作者: 张立建 胡瑞钦 易旺民
摘 要: 针对工业机器人末端负载与外界环境接触力的感知需求, 在机器人法兰与负载之间设置六维力传感器, 并研究一套标定与计算方法, 综合考虑负载重力作用、传感器零点、机器人安装倾角等因素, 利用不少于 3 个机器人姿态下的力传感器数据, 可求得传感器零点、机器人安装倾角、负载重力大小、负载重心坐标等参数, 进一步可消除传感器零点及负载重力对受力感知的影响, 精确得到机器人末端负载所受的外部作用力与力矩. 实验得到对于重量从 320 N 到 1 917 N 的负载, 在静态条件下, 感知外力的误差在负载重力的 0.28 % 以内, 感知外力矩的误差在负载对传感器力矩的 0.59 % 以内.
关键词 : 受力感知, 重力补偿, 零点标定, 六维力传感器, 工业机器人
引用格式 张立建, 胡瑞钦, 易旺民. 基于六维力传感器的工业机器人末端负载受力感知研究. 自动化学报, 2017, 43(3):439−447
在加工、装配等工业机器人的应用中, 机器人末端工具或工件与外界环境的接触力需要被精确地感知, 控制系统据此修正机器人的运动, 才能保证作业的柔顺性. 在医用手术机器人的操作中, 也需要实时精确反馈手术工具与外界的接触力, 保证手术过程的安全. 对机器人末端负载受力的精确感知是进行机器人柔顺控制与安全保障的基础.在现有应用中, 通常在工业机器人腕部与末端负载之间安装六维力传感器, 用于机器人的力反馈控制[2−5]. 六维力传感器能够测量空间任意力系中的三维正交力 (Fx, Fy, Fz) 和三维正交力矩 (Mx,My, Mz)[6]. 在静态条件下, 机器人腕部六维力传感器测得的力与力矩数据由三部分组成, 即: 1) 传感器自身系统误差; 2) 负载重力作用; 3) 负载所受外部接触力. 若要得到负载所受外部接触力, 需要消除传感器系统误差、负载重力作用两方面的影响. 对于机器人运动带来的惯性力, 本文暂不考虑, 实际在机器人慢速运动中, 惯性力的影响可忽略.
传感器自身系统误差方面, 六维力传感器在空载状态下的读数并不为零, 本文假定传感器自身的系统误差为常数, 并称之作 “零点”. 六维力传感器在安装负载后, 负载与传感器间的紧固安装方式及紧固程度也会对传感器零点造成影响, 因此传感器零点无法在传感器空载时准确得到, 对于零点的测定必须在负载安装的条件下进行.负载重力影响方面, 在机器人运动过程中, 负载姿态随之改变, 而重力方向始终竖直向下, 因此负载重力对六维力传感器数据的影响随机器人的运动不断变化, 对于负载重力影响的消除需要根据当前机器人姿态实时进行.
在传感器零点的补偿方面, 文献 [8 – 10] 调整机器人至一系列特定姿态, 部分姿态中重力对传感器某一测量分量的作用可相互抵消, 进而综合对应姿态的传感器数据可消除重力影响, 求得传感器零点.在负载重力补偿方面, 文献 [2, 4, 11 – 14] 采用已知重量与重心位置的负载, 根据机器人姿态实时计算重力的影响, 消除了重力对六维力传感器力与力矩值的影响. 一般情况下负载的重量、重心位置并不已知, 需要在线测定. 文献 [15 – 19] 默认机器人基座标系 Z 轴与重力方向相同, 进而调整机器人使力传感器到达特定姿态, 直接得到负载重力大小,并通过变化机器人姿态标定传感器的安装角度, 文献 [19] 进一步按照力与力矩关系解得负载重心位置, 以此换算消除负载重力对传感器力矩测量的影响. 文献 [8] 利用传感器数据及力与力矩的关系, 采用最小二乘法求解负载重力大小及重心位置. 上述文献 [2, 4, 8, 11 – 19] 均默认机器人基座标系 Z 轴与重力方向相同, 但实际中工业机器人的安装并不针对重力方向进行特殊设置, 机器人基座标系 Z 轴与重力方向往往存在偏角, 上述文献中的重力补偿算法未考虑此方面的误差. 文献 [5] 在重力补偿中考虑了机器人的安装姿态, 采用最小二乘法求得了机器人安装倾角、负载重力大小及重心坐标, 对于重量为24.5 N 的负载, 消除负载重力作用后, 感知外力的最大误差小于 1 N, 但文献 [5] 没有考虑传感器的零点问题.
综上所述, 已有对工业机器人腕部力传感器负载受力感知的研究中, 传感器安装角度通过标定计算得到, 传感器零点通过调整机器人至一系列特殊姿态进行测定, 而机器人安装倾角、负载重力大小及重心坐标则利用不同姿态下的传感器数据通过最小二乘法求得.
本文研究一种工业机器人腕部力传感器负载受力感知方法, 与已有方法不同, 本文方法在通过机械定位保证传感器安装角度的基础上, 利用不少于 3个机器人一般姿态下的传感器数据, 采用最小二乘法一次求得传感器零点、机器人安装倾角、负载重力大小、负载重心坐标等参数, 进而消除传感器零点及负载重力对受力感知的影响, 精确得到机器人末端负载所受的外部力与力矩数据.
1 、计算模型建立
1.1 六维力传感器力与力矩的关系
将六维力传感器三个力分量的零点值记为
式 (28) 和式 (29) 即完成了对传感器零点及负载重力影响的补偿, 得到了负载所受的外部力与力矩.2 外力感知实验2.1 实验条件实验采用 KUKA 公司的 KR210 机器人, 其主要参数见表 1. 六维力传感器采用 ATI 公司的Omega190 型传感器, 其测量范围及精度参数见表2.
表 1 KR210 机器人性能参数
表 2 Omega190 技术参数
六维力传感器在机器人末端法兰的安装方式如图 3 所示, 传感器自身的 2 个定位销孔通过两个定位销与连接盘 2 实现定位, 连接盘 2 的中心圆孔通过连接盘 1 两侧中心的圆形凸台与机器人法兰中心的圆形凹腔实现中心定位, 连接盘 2 又通过穿过连接盘 1 的定位销与机器人法兰销孔实现方向定位.这样, 连接盘 1、2 两侧安装面的平行度保证了传感器安装面与机器人法兰安装面的平行, 确保传感器Z 轴与机器人工具坐标系 Z 轴的平行, 连接盘 1、2的中心定位及 3 个定位销的辅助定位, 确保了传感器 X/Y 轴与机器人工具坐标系 X/Y 轴的平行.
试验中六维力传感器负载采用如图 4 所示的配重块, 共采用 7 个配重块, 每块重约 27 kg, 首个配重块通过连接法兰与传感器连接, 后续配重块之间可通过连接孔逐个累加或拆下, 在试验中实现负载重量的调整. 实验用系统的实物照片如图 5 所示.
图 4 试验用配重块示意图
图 5 系统实物照片
2.2 实验过程及结果
为充分验证所研究的算法, 分别对 7 种负载重量 (安装 1 ∼ 7 个配重块) 下的重力补偿精度进行实验验证.对每种负载, 调整机器人到表 3 所列的 8个姿态采集传感器数据. 试验中传感器采样频率为7 000 Hz, 连续采集 500 个求平均作为计算参考数据. 给出安装 7 个配重块时采集的传感器数据见表4.计算得到 7 种负载情况下的负载重力、机器人安装倾角参数如表 5, 7 种负载情况下得到的传感器零点如表 6, 而后调整机器人至 (A: 0◦, B: 90◦, C:0◦) 的姿态, 进行外力感知计算, 在负载不受外力的条件下, 记录消除传感器零点及负载重力影响后的数据作为补偿误差, 误差统计结果见表 7, 其中, Fe为重力补偿后传感器 3 个力分量的合力大小, Me为重力补偿后传感器 3 个力矩分量的合力矩大小, G为测得的负载重力大小, Mg为机器人姿态 (A: 0◦,B: 90◦, C: 0◦) 时负载对传感器的力矩大小, 此时传感器 Z 轴近似与水平面平行, 负载对传感器的力矩可由 Mg= G × z 估算得到. δF表示 Fe相对于G 的百分比, δM表示 Me相对于 Mg的百分比.由表 7 可见, 消除传感器零点及负载重力作用后, 感知外力误差在负载重力的 0.28 % 以内, 感知外力矩的误差在负载对传感器力矩的 0.59 % 以内
表 3 机器人姿态列表
表 4 加载 7 个配重块时的传感器数据
表 5 负载重力及机器人安装倾角计算结果
表 6 六维力传感器零点计算结果
表 7 受力感知误差统计
为验证采用所述方法测量负载重力的精度, 通过其他测量方式实测所安装负载的重量进行对比.表 5 中得到的负载重力包含了安装至六维力传感器上所有零部件的重量, 同时也包含了六维力传感器敏感端自身的重量. 而传感器敏感端无法拆下单独称重, 因此, 在六维力传感器空载情况下 (即不安装任何零部件至传感器), 进行与上述完全相同的实验过程, 计算得到传感器敏感端自重为 35.5 N.表 5 中 负 载 重 力 G 减 去 传 感 器 敏 感 端 重量, 即可得到安装至传感器上零部件的重量, 如表 8 “安装重量计算值” 所示. 另一方面, 实测安装至传感器上零部件的重量. 使用 S 型拉力传感器, 采用悬挂方式测量, 选用中诺传感器公司 ZNLBS-200 型传感器, 量程 200 kg, 测量精度0.05 %, 即 200 × 0.05 % = 0.1 kg, 传感器示数乘重力常数 g = 9.8 m/s2, 得到表 8 中 “安装重量实测值”. 表 8 显示, 负载重力测量的最大误差为 1.2 N,接近于拉力传感器的测量误差.
表 8 负载重力测量误差统计 (N)
3、 感知误差分析
3.1 传感器测量精度的影响
表 2 给出了所用六维力传感器的测量精度, 数据来自原厂给出的精度测试报告, 列出的精度指标为测试中出现的全量程最大精度偏差. 其中, 力最大偏差为 18 000 × 0.09 % = 16.2 N, 力矩最大偏差为 1 400 × 0.87 % = 12.18 N·m. 实验中对连续采集的 500 组传感器求平均作为参考数据, 因此, 传感器误差的影响达不到上述最大偏差数值. 对采集的传感器数据求平均一定程度减小了数据的随机波动,但不能完全消除, 波动的程度会造成最终的感知误差. 为评估求平均后数据的波动程度, 在静止状态下, 连续采集传感器数据序列 65 000 组, 每 500 组求平均后得到 130 组数据. 对于求平均得到的数据序列, 对 6 个测量分量, 求出每个分量数据序列中最大值与最小值的差 D 及标准差 σ, 以评价数据的波动程度, 见表 9.
表 9 参考数据随机误差
对于力的感知误差, 表 9 中的波动值远小于表 7中的误差值 Fe. 对于力矩, 表 9 中的波动值则与表7 中的误差值 Me相当. 因此, 对于表 7 中的感知误差, 力矩感知误差可以通过数据随机误差解释, 而力感知误差则存在其他原因.
3.2 机器人姿态角度误差的影响
本文在计算中直接使用了机器人控制系统提供的 A、B、C 值, 即机器人工具坐标系相对于基座标系的角度值. 控制系统给出的角度值与真实值间的误差将对最终的受力感知带来误差.按照所述算法, 仿真计算所述角度误差对最终受力感知的影响, 仿真所采用的机器人姿态读数与表 3 实验数据完全相同, 所用负载质量特性及机器人底座倾角数据采用表 5 中第 7 行的数据. A、B、C值的误差为人为指定, 得出不同 A、B、C 误差引起的机器人在姿态 (A: 0◦, B: 90◦, C: 0◦) 下的受力感知误差如图 6 所示.
图 6 机器人姿态误差对受力感知的影响曲线
图 6 中的 3 条曲线对应 A、B、C 值各自误差对受力感知的影响. 由图 6 可见, 受力感知误差与角度误差近似呈正比例线性关系, 机器人在姿态 (A: 0◦,B: 90◦, C: 0◦) 时, B 值误差的影响远大于 A、C,因此, 下面分析 B 值误差引起受力感知误差的具体大小.对于工业机器人的绝对定位误差, 机器人制造商往往不给出相关数值, 而需要使用者自行测量标定[20−21]. 文献 [22] 对 KUKA公司 KR500 机器人(额定负载 500 kg) 进行了误差测量, 机器人工具坐标系姿态角度误差平均值为 0.21◦[22], 文献 [23] 对ABB 公司的 IRB1 600 机器人进行误差测量, 最大角度误差为 0.16◦. 参照参考文献中的测量结果, 假定 B 值误差为 0.1◦, 仿真计算由此造成的实验中 7种负载下的受力感知误差, 结果如表 10 所示.
表 10 仿真受力感知误差统计
对比表 7 与表 10, 对于力的感知误差 Fe, 仿真结果与实验吻合较好, 因此, 实验中力的感知误差可以由机器人角度误差解释. 而对于力矩的感知误差Me, 对比表 10 与表 9, 表 10 中的误差值被数据随机误差“淹没”.上述的实验与仿真计算可以表明, 表 7 中力的感知误差主要由机器人姿态角度误差引起, 力矩感知误差主要由采样数据的随机误差引起.
4、 结论
本文面向工业机器人在加工、装配等应用中精确测量外力的需求, 在机器人末端与负载之间设置六维力传感器, 并研究一套标定与计算方法, 在通过机械定位保证六维力传感器与机器人安装精度的条件下, 方法综合考虑了负载重力作用、传感器零点、机器人安装倾角等因素, 利用不少于 3 个机器人姿态下的力传感器数据, 采用最小二乘法求得传感器零点、机器人安装倾角、负载重力大小、负载重心坐标等参数, 进一步消除传感器零点及负载重力对受力感知的影响, 精确得到机器人末端负载所受的外部作用力与力矩.实验中对于重量从 320 N 到 1 917 N 的负载,重力补偿后传感器感知外力的误差在负载重力的0.28 % 以内, 感知外力矩的误差在负载对传感器力矩的 0.59 % 以内. 实验与仿真计算表明, 力的感知误差主要由机器人姿态角度误差引起, 力矩感知误差主要由采样数据的随机误差引起.相对已有方法, 本文方法的优势在于:
1) 应用过程得到简化: 已有方法需要先调整机器人到一系列特定姿态进行传感器数据采集, 首先完成零点标定计算, 在消除零点的基础上, 再调整机器人到一系列一般姿态进行传感器数据采集, 计算得到负载重力影响参数, 前后需要 2 次机器人姿态调整及数据采集计算过程, 而本文方法只需 1 次机器人姿态调整过程, 得到不少于 3 个机器人姿态下的传感器数据, 即可计算得出全部所需参数. 另一方面, 采用特殊姿态进行零点标定的过程中, 机器人运动幅度大,操作时间较长, 且在空间有限的情况下难以操作, 而本文方法只需机器人的一系列一般姿态, 机器人运动幅度小、效率高, 在空间有限的情况下也可实施.
2) 有望提高感知精度: 相对于已有方法利用特定机器人姿态下的传感器数据, 本文方法中传感器零点通过一般机器人姿态下的传感器数据计算得到,计算结果更具一般性, 有望提高零点精度. 已有方法中传感器零点通过独立的过程求出, 没有充分考虑零点与其他参数的耦合影响, 本文方法中所有参数联立建模求解, 各参数间的耦合作用被充分考虑, 这也有助于提高结果精度. 另一方面, 本文方法能够在机器人最终的目标姿态附近进行姿态变换完成零点标定, 求得的零点更接近传感器在机器人目标姿态下的零点数值. 而已有采用特殊姿态进行零点标定的方法则很难有针对性地对特定姿态下传感器的零点进行标定.
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息