协作机器人(Cobot)的拖动示教 (Hand Guiding / Drag Teaching)是一种直观的人机交互方式:操作者用手直接拖动机器人末端或机械臂,使其沿期望轨迹运动,系统实时记录位姿或生成路径,用于后续复现。其核心在于实现"零力"或"低阻抗"状态下的安全、顺滑跟随。
一、基本目标
在拖动示教模式下,机器人应表现为:
- 对外部人力几乎无阻力(即"零力"或"重力补偿"状态);
- 各关节可自由转动,但受安全约束(如速度、位置限幅);
- 实时记录末端位姿或关节角,用于编程。
二、核心原理:基于力/力矩传感器的阻抗控制
1. 力矩感知
协作机器人通常在每个关节集成高精度力矩传感器(或通过电机电流估算关节力矩)。
- 实际测量/估计的关节力矩:
τₛ = [τ₁, τ₂, ..., τₙ]ᵀ - 重力引起的理论力矩(由正动力学模型计算):
τ_g (q ) ------ 仅与当前关节角 q 有关 - 注:n 为自由度(如 7 轴机器人 n = 7)
2. 重力补偿(Gravity Compensation)
为消除机器人自重影响,控制器输出抵消重力的力矩:
τ_c = τ_g (q)
此时,若无外力,机器人将"悬浮"在当前位置。
当人施加外力时,关节力矩传感器会检测到额外力矩:
τ_ext = τₛ − τ_g (q)
该 τ_ext 即为操作者施加的等效力矩。
3. 关节级阻抗控制(或零力控制)
为实现"轻松拖动",控制器将 τ_ext 转换为关节运动指令。常用方法有两种:
方法 A:直接力矩控制(零力模式)
- 控制目标:使净力矩趋近于零
τ_net = τ_c − τₛ ≈ 0 - 实际做法:令
τ_c = τₛ
即控制器完全跟随实测力矩,相当于"关闭"位置环,仅保留力矩环。 - 此时机器人表现为被动随动,类似"断电但有制动释放"的状态,但更安全(因仍受软件限幅)。
方法 B:导纳控制(Admittance Control)
将外力映射为期望速度或加速度:
M_d · q̈_d + B_d · q̇_d + K_d · (q_d − q ) = τ_ext
其中:
- M_d , B_d , K_d 分别为期望的虚拟质量、阻尼、刚度矩阵(常取对角阵);
- q_d 为期望关节轨迹;
- q , q̇ , q̈ 为当前关节位置、速度、加速度。
简化常用形式(忽略刚度和质量):
q̇_d = Λ · τ_ext
其中 Λ 为正定对角增益矩阵(单位:rad/(N·m)),调节拖动灵敏度。
该速度指令送入底层速度控制器,驱动关节跟随人手运动。
三、安全与辅助机制
即使在拖动模式,也需保障安全:
| 机制 | 说明 |
|---|---|
| 速度限制 | 关节速度 |
| 位置软限位 | 禁止进入奇异位形或机械限位区 |
| 外力阈值检测 | 若 |
| 制动释放控制 | 仅在授权拖动时释放电磁制动器 |
四、路径记录与复现
- 记录内容 :以固定频率(如 100 Hz)采样 q (t) 或 Tₑₑ(t)
- 存储格式 :路点序列 {q₁ , q₂ , ..., qₖ } 或 {T₁ , T₂ , ..., Tₖ}
- 复现方式:通过轨迹规划器(如 S 曲线)平滑插补执行
五、无需力传感器的替代方案(电流估算)
部分低成本协作机器人不装关节力矩传感器,而是通过电机电流估算力矩:
τ_est ≈ kₜ · I − τ_fric − τ_visc
其中:
- kₜ:电机转矩常数
- I:相电流
- τ_fric:库仑摩擦力矩
- τ_visc:粘性摩擦力矩(≈ b · q̇)
需精确标定摩擦模型,精度低于直接力矩传感,但仍可用于基本拖动示教。
六、总结
| 关键技术 | 作用 |
|---|---|
| 重力补偿 | 消除自重影响 |
| 力矩/外力感知 | 检测人手意图 |
| 阻抗/导纳控制 | 将力映射为运动 |
| 安全监控 | 保障人机共融安全 |
| 路径采样 | 实现示教编程 |
拖动示教的本质是:将机器人从"位置控制"切换为"力/力矩控制"模式,并通过动力学模型实现透明化的人机交互。