首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >六维力传感器重力补偿的参数获取

六维力传感器重力补偿的参数获取

作者头像
索旭东
发布2026-07-16 20:37:29
发布2026-07-16 20:37:29
20
举报
文章被收录于专栏:具身小站具身小站

一、传感器的物理结构与测量盲区

一个六维力传感器,不是一整块铁。它内部有一个通过精密加工形成的弹性体,弹性体上贴着应变片。我们可以把它想象成一个小型的“测力弹簧”。

物理结构上,它明确分为两部分:

[上安装面] <-- 弹性体上端 || (传感器内部是悬空的弹性梁,贴有应变片)[下安装面] <-- 弹性体下端

上安装面:固定在机械臂手腕上。

下安装面:固定在你的工具上(清洁模组)。

传感器只能测量施加在下安装面上的力, 原理是:外部负载会拉扯下安装面,导致内部弹性梁发生形变,应变片测量这个形变。上安装面以上的部件(机械臂手腕、机械臂本体)的重力,直接作用在弹性梁的“上端”,被整个机械臂的金属结构刚性支撑住了,并不会让弹性梁产生新的、可被感知的形变。

因此,连接手腕和传感器的法兰,处于传感器的测量盲区


二、准确的物理分界线

正确的分界线,就是六维力传感器自身的下安装面。这个面是传感器的测量基准点,也是工具侧负载的“开始”。

  • 不包含在 m 内的部分
    • 机械臂手腕法兰
    • 连接手腕和传感器上安装面的那块法兰
    • 传感器的上半部分外壳、上安装面
    • 整个机械臂本体
  • 必须包含在 m 内的部分
    • 传感器的下半部分(下安装面及以下随动的壳体、内部弹性体的一部分)
    • 连接传感器下安装面和清洁模组的转接板
    • 整个清洁模组(电机、刷头、外壳、线缆、管路等)
    • 所有螺丝、垫片等紧固件

三、如何精准确定“有效”的 m

不可能把传感器拆开,只称它下半部分的重量。因此,几何测绘和CAD计算都不够精确,最好的方法是进行整体负载辨识标定。

这个方法会自动找出对传感器“有效”的负载参数,无需关心物理分界线到底在哪。

步骤如下:

  1. 整机装配完毕:把腕部法兰、传感器、工具转接板、清洁模组全部装好,所有线缆、管路固定到最终状态。
  2. 执行负载辨识:操作机器人,让整个工具端在多个不同姿态静止。传感器会记录下它在这些姿态下感受到的“总静态负载”(即:传感器下安装面以下所有东西的重力)。
  3. 算法自动求解:辨识算法会根据这些数据,反向解算出这个“有效负载”的总质量 m质心坐标 r_com

这个辨识出来的 m,就是进行重力补偿时应该使用的准确数值,代表了对传感器弹性体产生拉/压力的“真实有效负载”的总质量,是“六维力传感器安装面以外、所有承载的部件”的总质量。

想象机械臂是一串由关节连接的连杆,最终的“手腕”法兰盘上装着六维力传感器,传感器再连着清洁模组。传感器测量的是安装面之外所有东西对它的作用力(包括重力、惯性力、接触力)。

传感器“后面”的负载 m 包括:

  1. 传感器自身的安装法兰/转接板
  2. 清洁模组全部:外壳、电机、刷头、泡沫/水管路、微型相机、照明灯等
  3. 连接两者的所有螺丝、支架
  4. 管路中残留的水/清洁液重量(动态变化,最好结构上固定,使力臂不变)
  5. 线缆的一部分(好的走线工艺应让线缆的重力不通过传感器传导,而是直接固定在机械臂外壳上,否则也要计入)

结论:m 就是“工具侧”总质量,这是可以通过高精度电子秤直接称重得到的。例如,将整个清洁模组(含传感器)拆下,放在秤上,得到 m=1.35kg。这个直接测量值,可以作为后续标定的重要参考,甚至可以将其作为已知固定参数,去标定更复杂的质心。


四、负载标识

除了质量m还需要计算质心,质心 r_com=[xc,yc,zc]T 是在传感器坐标系原点下,整个工具组合质量的加权中心,不只是一个几何形状中心,而是一个物理属性。绝对不要尝试用尺子去量,因为:

  • 清洁模组内部密度不均匀(电机重、塑料壳轻)。
  • 实际安装存在微小角度和位移偏差。
  • 软管、线缆的等效质心根本无法用几何方法测量。

标准做法是:通过算法进行“负载辨识”标定, 这是力控应用前的标准工序。核心原理是:在不同姿态下,重力在传感器坐标系中的分量不同,通过多组测量,反向解出质量和质心。

标定具体步骤

0. 准备工作

  • 机器人已完整安装好,所有线缆、管路固定就绪,处于最终工作状态。
  • 传感器已上电,读取原始数据流 Fraw,Mraw (六维)。
  • 确保周围空旷,工具绝不接触任何物体。
  • 传感器校零:让工具自然下垂静止,记录当前读数作为零点偏移 bF,bM。此后读数减去此偏移。

1. 数据采集 操作机器人,让工具末端摆出至少 3 个以上(推荐 6~8 个)不同姿态。姿态选择原则:

  • 尽量分散:比如让工具分别指向上、下、左、右,以及倾斜 45° 等。
  • 覆盖工作空间:姿态要能体现末端在清洁时的朝向变化。
  • 静止记录:每个姿态下,让机器人完全静止 2~3 秒,取这段时间内传感器读数(已减零漂)的均值。同时,通过正运动学精确记录当前传感器坐标系相对于基座的旋转矩阵 Ri。
  • 注意:对于 SCARA 结构,由于它本身不能做大幅度的 3D 翻转,让末端工具呈现尽量多的不同倾斜角度。

2. 列出方程 工具重力在基座标系下始终为 G_base=[0,0,−mg]T。在某个姿态 i 下,重力在传感器坐标系下的分量 F_g,i为:

由于重力不过传感器原点,会产生力矩 M_g,i:

实际采集到的读数就是重力的贡献(无接触力):

目标是找到 m 和 rcom=[x_c,y_c,z_c]T,使得这 4 个未知数,在所有采集姿态下的方程残差最小。

3. 求解方法(最小二乘) 可以先将力矩方程展开为线性形式:

把质量 m 和质心 rcom 写成一个向量 p=m[1,x_c,y_c,z_c]T(一阶矩),则可以直接构造出形如 Ax=b 的线性方程组,将所有姿态的方程堆叠,用最小二乘法求解 p,再解出 m 和 rcom。

更工程化的方法: 很多机器人厂商(如 KUKA、UR、Franka)都提供了内置的负载辨识功能。只需运行一个例程,它会自动规划一系列动作,读取传感器,然后在后台完成上述计算,直接返回 m 和 rcom。如果系统是开放的,可以用 MATLAB 或 Python 的 scipy.optimize.least_squares 完成。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 具身小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、传感器的物理结构与测量盲区
  • 二、准确的物理分界线
  • 三、如何精准确定“有效”的 m?
  • 四、负载标识
    • 标定具体步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档