3. 力/力矩传感器与信号处理
在机器人柔顺控制中,力/力矩感知是闭环反馈的核心信息来源。无论是阻抗控制中的外力交互,还是导纳控制中的期望运动修正,其控制品质的上限直接取决于力感知链路的精度、带宽与信噪比。六维力/力矩传感器(F/T Sensor)能够同时测量三维力(Fx, Fy, Fz)与三维力矩(Mx, My, Mz),是绝大多数柔顺控制方案的首选感知元件。然而,传感器原始输出并不能直接用于控制——它混合了重力分量、惯性力、安装偏差、温漂、噪声与弹性变形误差。本章围绕六维力传感器的原理、标定方法、滤波策略以及重力/惯性补偿展开,帮助学习者建立从“原始电压/数字量”到“可用于柔顺控制的纯净外力”的完整信号处理链路。
上图展示了六维力信号从原始感知到纯净外力输出的完整处理链路。下面将分别从传感器原理、标定方法、滤波策略以及重力/惯性补偿四个维度展开详细讲解。
3.1 六维力传感器的工作原理与结构选型
3.1.1 核心原理:弹性体应变与电桥测量
绝大多数工业级六维力传感器基于电阻应变式原理。其核心是一个经过精密设计的弹性体结构(常见形式有十字梁、双环梁、 Stewart 平台等),当外力作用于传感器法兰时,弹性体发生微米级形变,粘贴在关键应力区的应变片阻值随之变化。通过惠斯通电桥将阻值变化转换为电压信号,再经 ADC 采样为数字量。
六维力测量的难点在于维间耦合——施加 Fx 时,不仅会在 Fx 方向产生应变,也会在 Mz 或 Fy 方向产生微小输出。因此,传感器内部通常包含 8~12 组应变片,构成 6 个独立测量通道,并通过标定矩阵进行解耦。设原始输出电压向量为 V(6×1),实际力/力矩向量为 F(6×1),则存在线性关系:
F = C · V
其中 C 为 6×6 解耦矩阵(标定矩阵),其精度直接决定了传感器的测量准确度。此外,还有基于压电效应(适合动态测量,但无法测静态力)和电容式(高灵敏度但量程受限)的六维力传感器,在柔顺控制中应用较少。
3.1.2 关键性能指标与选型依据
| 指标 | 典型值范围 | 对柔顺控制的影响 |
|---|---|---|
| 量程(Fx/Fy/Fz) | 50N ~ 2000N | 需覆盖最大交互力,避免过载损坏 |
| 分辨率 | 0.05N ~ 0.5N | 决定接触检测的灵敏度 |
| 采样率 | 500Hz ~ 8kHz | 需高于控制频率的 5~10 倍 |
| 维间耦合误差 | < 1% FS | 耦合误差会直接引入控制偏差 |
| 过载能力 | 200% ~ 500% | 防止碰撞冲击损坏 |
3.1.3 安装方式与结构耦合
传感器通常安装在机器人末端法兰与工具之间。安装时需注意:
- 机械过定位:法兰面需保证平面度 < 0.02mm,避免安装应力导致零点偏移;
- 线缆管理:传感器线缆应留有适当余量并固定,避免运动时拉扯产生额外力;
- 热隔离:传感器应远离电机或减速器等热源,温漂会导致零点漂移。
3.2 六维力传感器标定:从原始信号到物理量
3.2.1 标定的核心原理与流程
标定的目标是求解解耦矩阵 C 以及零点偏移 V₀。理想情况下,传感器在零力状态输出应为零,但由于应变片不对称、电桥不平衡、安装应力等原因,实际存在零点偏移。完整的标定流程如下:
- 零点采集:传感器在无负载、无加速度状态下,采集 N 组数据取平均,得到零点向量 V₀;
- 加载标准力:使用砝码或标准力源,分别沿 +X、-X、+Y、-Y、+Z、-Z 方向施加已知力,并记录对应的输出电压;
- 力矩标定:通过力臂杠杆施加已知力矩,或利用偏心加载产生力矩;
- 矩阵求解:利用最小二乘法求解超定方程组,得到 6×6 标定矩阵 C;
- 验证:施加随机方向力,对比测量值与真值,计算各通道误差。
3.2.2 标定矩阵的工程求解
设采集了 m 组数据(m > 6),每组包含已知力向量 Fᵢ 和电压向量 Vᵢ(已减去零点),则:
F = C · V
[F₁ F₂ ... Fₘ] = C · [V₁ V₂ ... Vₘ]
C = F · Vᵀ · (V · Vᵀ)⁻¹
实际标定中,建议每个方向加载 3~5 个不同量级的力,以覆盖线性区间并提高矩阵条件数。标定后应检查矩阵的条件数 cond(C),若条件数过大(> 100),说明传感器结构设计存在严重耦合或标定加载方式不合理。
3.2.3 温度补偿与在线标定
温度变化会引起应变片灵敏度和弹性体弹性模量变化。常见做法是在传感器内部集成温度传感器,建立温度-零点/灵敏度补偿曲线。对于高精度应用,可在机器人开机时执行“空载自动零点校准”,以消除长期漂移。
3.3 力信号滤波:低通与卡尔曼滤波
3.3.1 噪声来源与滤波需求
力传感器信号中的噪声主要来自:
- 电气噪声:ADC 量化噪声、电源纹波、电磁干扰;
- 机械振动:机器人运动时关节振动通过结构传递到传感器;
- 谐振噪声:传感器自身固有频率(通常 200Hz~1kHz)被激励。
柔顺控制中,力信号既需要足够平滑以避免控制抖动,又需要足够带宽以感知快速接触变化。滤波设计需要在噪声抑制与相位延迟之间取得平衡。
3.3.2 低通滤波器设计
最常用的是 Butterworth 低通滤波器,因其在通带内具有最大平坦幅度响应。二阶 Butterworth 低通的传递函数为:
H(s) = ω₀² / (s² + 1.414·ω₀·s + ω₀²)
其中 ω₀ = 2π·f₀ 为截止角频率。离散化可采用双线性变换(Tustin 法)。工程经验:
- 截止频率 f₀ 通常设为控制带宽的 3~5 倍。若阻抗控制带宽为 10Hz,则 f₀ 取 30~50Hz;
- 阶数不宜超过 4 阶,否则相位延迟过大;
- 可使用零相位滤波(filtfilt)用于离线分析,但实时控制中无法使用。
3.3.3 卡尔曼滤波在力信号处理中的应用
卡尔曼滤波能够融合力传感器测量值与机器人运动状态(加速度、关节力矩)进行最优估计。其优势在于:
- 可同时估计力信号及其变化率(导数);
- 能利用机器人动力学模型作为过程模型,提高信噪比;
- 可处理非平稳噪声。
一个简化的力估计卡尔曼模型如下:
状态向量: x = [F, dF/dt]ᵀ
过程模型: xₖ = A·xₖ₋₁ + w, A = [[1, Δt], [0, 1]]
测量模型: zₖ = H·xₖ + v, H = [1, 0]
其中过程噪声协方差 Q 和测量噪声协方差 R 需要根据实际信号调试。Q 越大表示信任运动模型越多,R 越大表示信任传感器测量越多。
3.3.4 滤波参数调试清单
| 参数 | 调试方法 | 典型值 |
|---|---|---|
| 低通截止频率 | 扫频激励,观察幅值衰减 -3dB 点 | 30~80Hz |
| 滤波器阶数 | 阶数越高衰减越快,但延迟增大 | 2~4 阶 |
| 卡尔曼 Q | 增大 Q 使估计更平滑,但响应变慢 | 1e-4 ~ 1e-2 |
| 卡尔曼 R | 根据传感器噪声方差确定 | 0.01 ~ 1.0 |
3.4 重力补偿与惯性补偿
3.4.1 重力补偿原理
当传感器安装在机器人末端时,其测量值包含工具(或负载)的重力分量。重力在传感器坐标系中的投影随机器人姿态变化而变化。设工具质量为 m,质心在传感器坐标系中的位置为 r_cg = [x_cg, y_cg, z_cg]ᵀ,则重力在传感器坐标系中产生的力/力矩为:
F_gravity = m · R_sensor_to_worldᵀ · [0, 0, -g]ᵀ
M_gravity = r_cg × F_gravity
其中 R_sensor_to_world 为传感器坐标系到世界坐标系的旋转矩阵。因此,重力补偿的关键在于:
- 质量 m 的辨识:可通过称重或最小二乘辨识;
- 质心位置 r_cg 的辨识:通过多个姿态下的力/力矩测量值反算;
- 姿态获取:从机器人正运动学或 IMU 获取实时姿态。
3.4.2 质心辨识方法
在机器人静止状态下,采集 N 个不同姿态下的力/力矩测量值。每个姿态下,测量值满足:
F_meas = F_gravity + F_contact
M_meas = r_cg × F_gravity + M_contact
在无接触力(F_contact = 0)时,利用多个姿态的数据,可以构建线性方程组求解 m 和 r_cg。实际操作中,建议采集 10~20 个姿态,覆盖机器人工作空间的不同方位。
① 在 12 个不同姿态下采集空载力数据;
② 利用最小二乘辨识得到 m = 3.18kg,r_cg = [12.5mm, -3.2mm, 85.4mm];
③ 在控制循环中以 1kHz 频率计算重力补偿值并实时扣除;
④ 补偿后,姿态变化引起的力波动降至 ±0.8N,满足打磨力控制精度要求。
复盘要点:质心辨识精度受传感器噪声影响,可通过增加采样姿态数、多次平均来降低误差;同时需确保辨识过程中机器人处于静止状态,避免惯性力混入。
3.4.3 惯性补偿方法
当机器人末端存在较大加速度时,惯性力会叠加在传感器测量值上。惯性力包括:
- 平动惯性力:F_inertia = m · a(a 为传感器坐标系下的线加速度);
- 转动惯性力矩:M_inertia = I · α + ω × (I · ω)(I 为工具惯量张量,α 为角加速度,ω 为角速度);
- 科氏力:F_coriolis = 2m · ω × v(v 为质心线速度)。
惯性补偿需要获取末端加速度和角速度,通常通过以下方式:
- 对机器人关节位置做二阶微分(噪声大,需滤波);
- 使用 IMU 直接测量末端线加速度和角速度;
- 利用机器人动力学模型前馈计算。
工程中,惯性补偿的精度往往受限于加速度估计的噪声。建议对加速度信号进行低通滤波(截止频率 20~50Hz),并采用前馈-反馈结合的方式:前馈补偿大惯性力,反馈修正残余误差。
3.4.4 重力/惯性补偿的工程注意事项
此外,工具更换后必须重新辨识质量与质心参数。对于自动换枪盘(Tool Changer)应用,应在每次换枪后执行快速辨识流程(约 2~3 秒),以保证补偿参数与实际工具匹配。
3.5 信号处理链路综合调试与验证
3.5.1 调试流程
- 静态验证:机器人静止于某一姿态,观察力信号噪声峰峰值,应小于传感器分辨率的 3~5 倍;
- 姿态扫描验证:机器人缓慢运动遍历多个姿态,验证重力补偿后的残余力波动;
- 动态验证:机器人执行典型运动轨迹(如正弦摆动),验证惯性补偿效果;
- 接触验证:机器人末端接触刚性环境,检查力响应时间与超调量。
3.5.2 性能评估指标
| 指标 | 计算公式 | 合格标准 |
|---|---|---|
| 零点漂移 | |F_meas - F_true| 在零力状态 | < 0.5% FS |
| 重力补偿残余 | max|F_meas| 在无接触、姿态变化时 | < 1% FS |
| 力响应延迟 | 阶跃力从 10% 到 90% 的时间 | < 20ms |
| 信噪比 | 20·log10(信号有效值/噪声有效值) | > 40dB |
通过上述完整的信号处理链路,机器人柔顺控制系统能够获得高质量的外力估计,为阻抗/导纳控制提供可靠的反馈基础。在实际工程中,建议将标定参数、滤波参数、补偿参数统一管理,并在每次系统启动时执行自动校验流程,确保长期运行稳定性。