3、力矩传感器与反馈:力矩传感器的类型、信号调理与滤波、传感器标定方法
好,咱们进入第三章。力矩传感器,说白了就是机器人的“触觉神经”。没有它,机器人就是个大力士,但不知道轻重。我最早接触力矩传感器是在一个协作臂项目上,当时觉得这东西不就是个高级秤吗?结果一上手,发现坑多得很。今天咱们就把这层窗户纸捅破。
3.1 力矩传感器的类型
市面上主流的力矩传感器,就两大流派:应变片式和压电式。它们原理不同,脾气也不同。
3.1.1 应变片式力矩传感器
这个最常见。原理很简单:金属受力会变形,变形会导致电阻变化。我测出电阻变化,就能算出力矩。
核心结构:
- 弹性体(一般是合金钢或铝合金)
- 贴在弹性体上的应变片(组成惠斯通电桥)
- 温度补偿电路
优点:
- 成本低,技术成熟
- 静态测量精度高(能测恒力)
- 线性度好
缺点:
- 响应慢(受限于弹性体机械带宽)
- 容易受温度影响(虽然做了补偿,但急变温还是头疼)
- 信号微弱,需要高精度ADC
3.1.2 压电式力矩传感器
压电效应,你想想看:某些晶体(比如石英)被挤压时,表面会产生电荷。电荷量正比于压力。这就是压电传感器的原理。
特点:
- 动态响应极快(能测高频力,比如碰撞、振动)
- 刚度高(几乎不产生形变)
- 不能测静态力(电荷会泄漏,信号会漂移)
| 特性 | 应变片式 | 压电式 |
|---|---|---|
| 测量类型 | 静态+动态 | 仅动态 |
| 响应带宽 | 0~数百Hz | 数Hz~数十kHz |
| 温度敏感性 | 高 | 低 |
| 成本 | 低~中 | 高 |
| 典型应用 | 力控装配、恒力打磨 | 碰撞检测、振动分析 |
3.2 信号调理与滤波
传感器出来的原始信号,说白了就是“脏数据”。噪声、漂移、干扰全混在一起。不做处理直接拿来用,你的机器人会抖得像帕金森。
3.2.1 信号调理
信号调理要干三件事:
- 放大: 应变片输出通常是mV级,需要放大到V级。我习惯用仪表放大器(比如AD620),共模抑制比高。
- 偏置调整: 把零点调到ADC的中间值,留出正负量程。
- 抗混叠滤波: 在ADC之前加一个低通滤波器,防止高频噪声折叠到低频。
关键参数: 信号调理电路的噪声密度要低于传感器本身的噪声。否则你就是在放大噪声,而不是信号。
3.2.2 滤波策略
我个人习惯用两级滤波:
第一级:硬件滤波(RC低通)
截止频率一般设在100~500Hz。为什么?因为机器人关节的力控带宽通常不超过50Hz,再高的频率都是噪声。
// 一阶RC低通滤波的截止频率计算
// f_c = 1 / (2 * π * R * C)
// 例如:R=10kΩ, C=0.1μF
// f_c = 1 / (2 * 3.14 * 10000 * 0.0000001) ≈ 159Hz
第二级:软件滤波(滑动平均或低通)
我常用的是指数移动平均(EMA),计算量小,实时性好。
// 指数移动平均滤波器
float ema_filter(float input, float prev_output, float alpha) {
// alpha 越小,滤波越平滑,但延迟越大
// 我一般取 alpha = 0.1 ~ 0.3
return alpha * input + (1 - alpha) * prev_output;
}
3.3 传感器标定方法
标定,就是把传感器的原始读数(电压、数字量)映射到真实的物理量(牛·米)。不标定,你读到的数字就是“玄学”。
3.3.1 静态标定
这是最基础的方法。挂砝码,记录读数,拟合曲线。
步骤:
- 把传感器固定在标定台上
- 沿每个轴施加已知力矩(用砝码+力臂)
- 记录正反向数据(消除迟滞)
- 用最小二乘法拟合出系数矩阵
// 标定数据拟合(伪代码)
// 假设是单轴传感器,线性模型:力矩 = k * 读数 + b
// 输入:标定力矩数组 torque[N],传感器读数数组 raw[N]
// 输出:k, b
float k, b;
float sum_x = 0, sum_y = 0, sum_xy = 0, sum_xx = 0;
for (int i = 0; i < N; i++) {
sum_x += raw[i];
sum_y += torque[i];
sum_xy += raw[i] * torque[i];
sum_xx += raw[i] * raw[i];
}
k = (N * sum_xy - sum_x * sum_y) / (N * sum_xx - sum_x * sum_x);
b = (sum_y - k * sum_x) / N;
3.3.2 动态标定
静态标定只能保证低频精度。如果你的机器人要做高速运动或碰撞检测,还得做动态标定。
方法:
- 用已知质量的摆锤撞击传感器
- 记录冲击响应,对比理论值
- 修正传感器的动态模型(比如补偿谐振峰)
说实话,动态标定比静态标定难得多。我一般只在需要高动态性能时才做,比如力控打磨或装配。
3.3.3 在线标定(自标定)
有些高端传感器支持在线标定。原理是:利用机器人自身的运动,产生已知的惯性力,反推出传感器的偏差。
优点:
- 不用拆传感器
- 可以定期自动校准
- 补偿温度漂移
缺点:
- 算法复杂
- 需要精确的机器人动力学模型
知识体系总览
下面这张图,是我自己总结的力矩传感器知识框架。你把它理清了,后面调参就不会迷路。
好了,这一章的内容就到这儿。力矩传感器是力控的“眼睛”,你把它伺候好了,后面的调参才能顺风顺水。记住:选型看需求,滤波看噪声,标定看精度。这三样缺一不可。
可可精品资料库