Sensorless Force Estimation
- 又称: sensorless force sensing, external force estimation, model-based force estimation, proprioceptive force estimation, sensorless torque estimation
- 类别: Sensing › Contact & force
- 标签: force-estimation, proprioception, dynamics, collision-detection, actuator-modeling, compliant-control
利用电机电流、关节状态和动力学模型,而不是专用的力传感器,来估计机器人对环境施加的或从环境受到的力和力矩。
定义
无传感器力估计(sensorless force estimation)是指在没有专用力/力矩传感器的情况下,推断机器人所受接触力或外部力矩的做法。它利用机器人已经在测量的信号,例如电机电流以及关节位置和速度,并结合机器人动力学和执行器的模型。估计值是所测执行器出力中模型无法用机器人自身运动、重力和摩擦来解释的那部分:剩下的任何部分都归因于外部交互。
基本链条从电机电流开始。对于电动机,力矩通过力矩常数大致与电流成正比,再经过减速比,就得到一个近似的关节力矩。减去刚体动力学模型针对所测运动预测的力矩,即可得到外部关节力矩的估计。如果假设只有一个接触位置,就可以通过机械臂雅可比矩阵的转置把这些力矩映射为末端执行器处的力。由于从带噪声的编码器数据得到的加速度不可靠,常用方法会避免使用加速度:扰动观测器对残差力矩进行滤波,而广义动量观测器利用机器人的动量来估计外部力矩,无需对速度求导。
最大的误差来源通常是执行器,而不是手臂本身。减速箱会引入随速度、负载、温度和方向变化的摩擦,还有齿隙和力矩波动,而高减速比使外力很难与内部损耗区分开。这就是为什么无传感器估计在可反向驱动的设计上效果最好,例如直驱和准直驱执行器,也是为什么摩擦辨识在任何实现中都占很大一部分。学习得到的模型,例如根据电机信号预测执行器力矩或摩擦的神经网络,能够捕捉难以写成公式的效应。
无传感器估计不如经过标定的力/力矩传感器精确,但它更便宜,不会在手腕处增加质量或布线,并且能检测任何连杆上的接触,而不仅仅是传感器安装点处的接触。它被广泛用于碰撞检测,以及足式机器人的柔顺行为。
为何重要
碰撞检测、柔顺交互和接触丰富的操作都需要力信息,但力/力矩传感器昂贵、易损,而且只能在一个点上测量。无传感器估计让低成本机器人和足式平台能利用已有的硬件获得可用的接触感知。
主要应用
- 碰撞检测 — 发生意外接触时让机械臂停止或回撤
- 足式机器人 — 根据关节力矩检测足部接触并估计地面反作用力
- 低成本机械臂 — 无需腕部传感器即可实现柔顺控制和手动引导
- 手术和医疗机器人 — 在难以安装传感器之处估计工具的交互力
- 力觉遥操作 — 根据估计的接触力为操作者提供力反馈
实际应用
团队通常先根据无接触时记录的运动数据辨识机器人的动力学和摩擦参数,为每个关节拟合库仑摩擦和黏性摩擦,并核对每台电机的力矩常数。然后,他们在实时控制回路中运行动量观测器或扰动观测器,并将其输出与参考力/力矩传感器或已知重量进行比较,以标定阈值。对于碰撞检测,他们为每个关节设置阈值,既要足够高以忽略快速运动时的模型误差,又要足够低以便在接触时迅速停下机器人;对于力控制,他们接受比传感器更低的带宽和精度,并在机器人升温后重新检查摩擦参数。
常见误解
- 电机电流直接测量关节力矩 — 必须先减去摩擦、齿轮损耗和机器人自身的动力学,才能估计外力
- 无传感器估计和力/力矩传感器一样准确 — 它通常噪声更大、准确度更低,尤其是在使用高减速比减速箱和低速时
- 它在任何机器人上都同样有效 — 可反向驱动、低摩擦的执行器给出的估计远好于高减速比的执行器
- 关节力矩估计能告诉你接触在哪里 — 要映射为笛卡尔空间中的力,需要已知或估计接触位置
谁需要了解
- 构建柔顺机器人和协作机器人的控制工程师
- 足式机器人开发者
- 设计低成本机械臂的团队
- 从事执行器建模和机器人安全研究的人员
相关技术
- 动量观测器(Momentum Observer)
- 扰动观测器(Disturbance Observer)
- 力/力矩传感器(Force/Torque Sensor)
- 准直驱(Quasi Direct Drive)
- 系统辨识(System Identification)
- 机械臂雅可比矩阵(Manipulator Jacobian)
相关术语
相关项目
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
- mjfit: Exact convex collision geometry for MuJoCo pegs, holes, threads and gears