机器人安全交互的被动扭矩控制技术解析
1. 机器人安全交互的被动扭矩控制新方法
在工业制造和家庭环境中,机器人与人类的物理交互(pHRI)越来越普遍。这种交互要求机器人既能精确执行任务,又能在意外接触时确保安全。传统被动控制方法虽然能保证系统稳定性,但往往缺乏对多重安全约束的显式处理。我们团队开发了一种基于可行性理论的被动扭矩控制框架(VPP-TC),通过预计算状态空间中的安全集,将复杂的安全约束转化为扭矩限制,实现了更高效、更安全的机器人控制。
这项技术的核心突破在于:首次将可行性理论应用于被动控制系统,通过数据驱动和解析方法构建的可行集,能够同时处理关节限位、自碰撞避免和外部障碍物避碰等多重约束,且计算效率足以支持实时控制。
2. 系统设计与核心原理
2.1 可行性理论的基础框架
可行性理论为我们提供了一种数学工具,用于定义和计算机器人在状态空间中的安全区域。对于一个n自由度的机械臂,我们将其状态定义为关节位置q和关节速度˙q的组合(q, ˙q)∈R2n。可行性集合V包含所有满足以下条件的状态:
- 从该状态出发,存在至少一个控制序列(关节加速度¨q)能使系统状态无限期地保持在安全区域内
- 所有硬件限制(如最大关节加速度¨qmax)都得到满足
数学上表示为:
(q(0), ˙q(0)) ∈ V ⇔ ∃(¨qi)∞i=0 : (q(t), ˙q(t)) ∈ F, ∀t ≥ 0; |¨qk| ≤ ¨qmaxk, k = 1, 2, ..., n其中F表示满足所有约束条件的可行状态集合。
2.2 约束分类与处理策略
我们的系统需要处理三类主要约束,每种约束都有其独特的处理方法:
- 关节位置和速度限制:通过解析方法直接计算可行集Vjnt,确保关节不超出机械限位
- 自碰撞避免:使用基于Transformer的神经网络学习可行集Vsca,预测哪些状态会导致自碰撞
- 外部障碍物避碰:利用Bernstein多项式表示的距离场,计算可行集Veca,保证与环境的碰撞避免
最终的安全状态集合是这三者的交集:V = Vjnt ∩ Vsca ∩ Veca
2.3 控制架构设计
系统采用分层控制架构:
- 上层规划:使用动力学系统(DS)生成任务空间轨迹,定义期望的运动行为
- 中层转换:通过阻抗控制器将任务空间目标转换为关节空间扭矩指令
- 底层安全:QP优化器施加可行性理论导出的扭矩约束,确保所有安全条件得到满足
这种架构既保留了被动控制的稳定性优势,又通过可行性约束增强了安全性。
3. 关键技术实现细节
3.1 自碰撞避免的数据驱动方法
自碰撞避免的核心是构建一个能够准确预测状态可行性的分类器Γ(q, ˙q)。我们采用以下步骤:
- 数据生成:在仿真环境中随机采样300万个状态(q, ˙q),对每个状态模拟最大减速度制动过程,标记是否发生自碰撞
- 模型架构:使用4层Transformer编码器,每层2个注意力头,前馈网络维度128
- 训练过程:采用交叉熵损失,训练30个epoch,在验证集上达到99.27%的准确率
关键创新点在于将制动轨迹的整体安全性作为标签,而非仅考虑瞬时状态。这使得分类器能够预测状态的"未来安全性"。
3.2 外部障碍物的距离场表示
对于外部障碍物避碰,我们采用Bernstein多项式表示每个机器人连杆的符号距离函数(SDF):
- 单连杆建模:对每个连杆Ωn,在其周围定义立方体工作空间,内部点归一化到[0,1]
- 多项式拟合:使用24³个基函数的Bernstein多项式拟合SDF,通过递归最小二乘法优化系数
- 整体距离计算:将所有连杆的SDF转换到基坐标系,取最小值得到整体距离场S(p,q)
为提高实时性,我们沿制动轨迹离散采样,计算最小距离Sv(p,q,˙q)=mint∈[0,Tbr]S(p,q(t)),确保整个制动过程都不会发生碰撞。
3.3 关节限位的解析处理
关节位置和速度限制通过解析方法处理,算法核心如下:
- 速度约束:直接限制加速度,确保下一时间步速度不超过最大值
(1/δt)(-˙qmax - ˙q) ≤ ¨q ≤ (1/δt)(˙qmax - ˙q) - 位置约束:考虑制动距离,确保在最大减速度下能停在限位内
˙q + δt¨q ≤ √(2¨qmax(q+ - q - δt˙q - 0.5δt²¨q)) - 硬件限制:最终加速度约束是上述条件与硬件限制的交集
这种方法计算高效,且能保证严格的关节限位遵守。
4. 优化控制框架实现
4.1 二次规划问题构建
基于可行性理论,我们将安全控制转化为以下QP问题:
minτ 1/2∥Ĵ(q)⁻ᵀτ - Fc(x)∥²₂ + α₁∥τ∥²₂ + α₂∥δ∥²₂ s.t. ¨qlb + M⁻¹(C˙q + G) ≤ M⁻¹τ ≤ ¨qub + M⁻¹(C˙q + G) gseM⁻¹τ ≥ gseM⁻¹(C˙q + G) - bs ∧ (Γ ∈ (0,ϵsca]) geeM⁻¹τ ≥ geeM⁻¹(C˙q + G) - be - δ ∧ (Sv ∈ (0,ϵeca]) τ ∈ [τmin, τmax] δ ≥ 0其中:
- Fc(x)是原始被动控制器的任务空间力
- Ĵ(q)是考虑了奇异鲁棒性的雅可比矩阵
- δ是松弛变量,处理可能冲突的约束
4.2 实时性能优化
为确保实时性(>200Hz控制频率),我们采用多项优化措施:
- 预计算:离线训练神经网络和距离场,减少在线计算量
- 稀疏性利用:利用机器人动力学的稀疏结构,加速矩阵运算
- 专用求解器:硬件实验使用CVXGEN代码生成器,针对特定问题结构优化
在Intel i7-11700K CPU上,即使处理多个动态障碍物,也能保持150Hz以上的控制频率。
5. 实验验证与性能分析
5.1 仿真环境测试
我们在PyBullet中建立了7自由度Franka Panda机器人的仿真模型,设计了三类测试场景:
- 纯自碰撞避免:目标点位于机械臂自身工作空间内,验证SCA约束有效性
- 纯外部避障:静态和动态障碍物环境下,验证ECA约束性能
- 综合测试:同时存在自碰撞风险和外部障碍物,验证完整系统能力
与基线方法CPIC相比,VPP-TC在三个关键指标上表现更优:
| 指标 | SCA场景 | ECA场景 | 综合场景 |
|---|---|---|---|
| 控制频率(Hz) | 171.6 | 153.0 | 155.4 |
| 轨迹长度(m) | 0.75 | 1.23 | 1.19 |
| 轨迹抖动度 | 1.2 | 216.2 | 186.7 |
5.2 实物机器人验证
在真实的Franka Emika机器人上,我们进行了三类实验:
- 自碰撞避免:验证机械臂能在接近自碰撞时自动停止,且无法被外力推入危险状态
- 外部避障:对静态和动态障碍物都能保持安全距离,响应速度足以处理快速移动物体
- 遥操作任务:成功完成按压台灯开关的任务,过程中自动避开灯体和自身基座
特别值得注意的是,系统在添加末端执行器(UMI夹爪)后,仅需重新训练自碰撞网络,其他模块无需修改即可正常工作,展示了良好的扩展性。
6. 应用前景与改进方向
这项技术在多个领域具有应用潜力:
- 工业协作机器人:在共享工作空间与人协同作业时确保安全
- 医疗手术机器人:在狭窄解剖结构中避免意外接触关键组织
- 家庭服务机器人:在动态家居环境中安全执行各种任务
未来改进方向包括:
- 处理模型不确定性,增强对动力学参数误差的鲁棒性
- 扩展至高自由度机器人系统,如类人机器人
- 结合学习技术,自动适应新的环境和任务约束
在实际部署中,我们建议:
- 对于已知几何的静态环境,优先使用解析约束
- 对于动态或复杂环境,采用数据驱动的约束学习方法
- 控制频率应至少保持在100Hz以上,以确保安全性能
