Safe Reinforcement Learning on the Constraint Manifold: Theory and Applications
在线学习的需求:
- 机器人自适应控制要求策略在部署中持续(适应环境变化或者硬件老化)
- CMDP的离线训练:训练后直接部署无法解决真实世界的动态不确定性
- 需要保证在线学习的每一步都是安全的
同时如果在仿真训练时已经满足鲁棒性约束,迁移到现实时更能保证安全
举例:在一个机械臂避障任务中,机械臂末端需要从起点运动到目标点并在途中避开障碍物,其中有安全约束为机械臂与障碍物之间的距离D(q)> d_safe.扰动是关节控制过程中的噪声(如电机误差或外部力干扰)。
-
当没有扰动(标称情况)
此时使用ATACOM控制方法:构造约束函数;随后在构造的约束函数切空间生成安全动作,从而严格保证k(q) <= 0 -
当存在扰动
扰动模型:控制输入受到噪声影响;定理2可以保证机械臂可能短暂进入不安全区域,但是不会完全碰撞到障碍物
通过一个 机械臂避障 的实例,结合ATACOM算法的设计步骤,说明如何从问题建模到控制器实现的全过程。假设机械臂需在避免碰撞(安全约束)的同时完成末端轨迹跟踪(任务目标)。
- 问题建模
状态与动力学
- 状态变量:
- 动力学模型(控制仿射形式):
- ( M(q) ):惯性矩阵,( C(q,\dot{q}) ):科氏力矩阵,( g(q) ):重力项。
- 控制输入 ( u_s \in \mathbb{R}^n ):关节力矩。
安全约束
- 避障约束(距离函数):
- ( p(q) ):机械臂末端位置,( p_{\text{obs}} ):障碍物位置,( d_{\text{min}} ):最小安全距离。
- 约束函数 ( k(s) ) 需满足 ( C^1 ) 光滑性(可通过距离场平滑化实现)。
- ATACOM算法设计步骤
步骤1:构造约束流形
- 引入松弛变量 ( \mu \geq 0 ),定义等式约束:
- 约束流形:
- 投影性质:若 ( (s, \mu) \in \mathcal{M} ),则 ( s ) 满足原始约束 ( k(s) \leq 0 )。
步骤2:设计松弛变量动力学
- 动态更新规则(类K函数控制):
- 控制输入 ( u_\mu \in \mathbb{R} ):调节松弛变量的变化速率。
- 性质:若初始 ( \mu(0) > 0 ),则 ( \mu(t) > 0 ) 对所有 ( t \geq 0 ) 成立(Lemma 1)。
步骤3:增广系统动力学
- 联合系统:
- 控制矩阵:
- \( J_{\text{arm}}(q) \):机械臂末端雅可比矩阵。
步骤4:切空间投影
- 切空间基 ( B_u ) 计算:
- 对 ( J_u ) 进行SVD分解,取右奇异向量 ( B_u \in \mathbb{R}^{(n+1) \times n} ) 满足 ( J_u B_u = 0 )。
- 物理意义:( B_u ) 的列向量张成允许的安全控制方向(即不违反约束的力矩组合)。
步骤5:安全控制器
- 控制律(公式12):
- 参数说明:
- ( \psi = \nabla_s k(s) \cdot f(s) ):约束对自然动态的敏感度。
- ( u ):RL策略输出的原始力矩(如跟踪PD控制信号)。
- ( \lambda > 0 ):收缩速率。
- 实例运行流程
- 初始化:机械臂位于安全位置 ( s_0 ),松弛变量 ( \mu(0) = \max(-k(s_0), \text{tol}) )。
- 在线控制循环:
- RL策略输出 ( u ):如目标跟踪的PD控制信号。
- ATACOM修正:
- 计算 ( J_u ) 和 ( B_u ),投影 ( u ) 到切空间。
- 若机械臂接近障碍物(( k(s) \to 0 )),收缩项 ( -\lambda J_u^\dagger c ) 主导,产生避障力矩。
- 执行安全控制 ( u_s )。
- 结果:机械臂末端绕开障碍物并收敛到目标轨迹(见下图)。
- 关键设计要点
| 设计环节 | 解决方法 | 实例中的实现 |
|--------------------|--------------------------------------------------|------------------------------------------|
| 约束建模 | 距离函数 + 松弛变量 | ( k(s) = d_{\text{min}} - |p - p_{\text{obs}}| ) |
| 流形切空间计算 | SVD分解控制矩阵 ( J_u ) | 机械臂雅可比矩阵与惯性矩阵耦合 |
| 安全控制律 | 漂移补偿 + 任务投影 + 收缩项 | 避障力矩自动生成 |
| 动态松弛变量 | 类K函数控制的 ( \dot{\mu} ) | 保证 ( \mu(t) > 0 ) 避免数值奇点 |
- 数学与物理意义对应
- 切空间投影:将关节力矩限制在“不缩短机械臂与障碍物距离”的方向。
- 收缩项:类似虚拟排斥力,强度随 ( k(s) ) 接近0而增大。
- 松弛变量:量化“允许的临时约束违反”,动态调整控制保守性。
几种RL对于约束函数的处理方法
假设约束函数, 机械臂与障碍物距离 $ D ( s ) \geq d _ { s a f e }$ 可以表示为 $ k(s) = d_safe - D(s) \leq 0 $
方法对比与切空间的优越性
以下是针对同一个约束函数,不同安全强化学习方法处理方式的对比分析,结合数学形式、实现逻辑和应用场景的详细说明:
- 问题设定
约束函数:
目标:在强化学习训练和部署中保证 ( k(s) \leq 0 ) 始终成立。
- 不同方法对比
(1) 惩罚函数法(Penalty Method)
- 处理方式:
在奖励函数中加入惩罚项:
- (\lambda) 为惩罚系数,需手动调节。
- 特点:
- 数学简单:无需修改策略结构。
- 安全无保证:训练早期可能严重违反约束(如图1左)。
- 调参敏感:(\lambda) 过小导致约束失效,过大抑制探索。
- 适用场景:
仿真环境预训练,且约束违反无严重后果时。
(2) 安全滤波器(QP-Based Safety Filter)
- 处理方式:
在线求解二次规划问题,修正动作 ( u ):
- 通过CBF(Control Barrier Function)保证约束。
- 特点:
- 即时安全:每一步动作均满足约束。
- 计算开销大:实时求解QP问题(毫秒级延迟)。
- 可行性风险:约束冲突时无解(如机械臂被“卡死”)。
- 适用场景:
计算资源充足的实时控制系统(如自动驾驶)。
(3) 备份策略(Backup Policy)
- 处理方式:
- 特点:
- 简单可靠:硬件易实现。
- 保守性:任务中断频繁(如图1中)。
- 泛化性差:需为每个任务单独设计 ( \pi_{\text{safe}} )。
- 适用场景:
已知明确安全动作的简单系统(如急停按钮)。
(4) 切空间投影(ATACOM,Tangent Space Projection)
- 处理方式:
- 构造约束流形 ( \mathcal{M} = {s \mid k(s) = 0} ) 的切空间 ( T_s\mathcal{M} )。
- 将RL动作 ( u ) 投影到切空间:
- 动态调整松弛变量 ( \mu ) 保证渐近收敛(见原文公式12)。
- 特点:
- 严格安全:数学保证 ( k(s) \leq 0 )(即使训练中)。
- 高效:投影计算仅需矩阵乘法(微秒级)。
- 自适应:无需手动设计安全策略。
- 适用场景:
高维复杂系统(如机器人、无人机)的在线安全学习。
对比总结表
| 方法 | 数学形式 | 安全性保证 | 计算效率 | 是否需要调参 | 适用场景 |
|---|---|---|---|---|---|
| 惩罚函数法 | 修改奖励函数 | ❌ 无 | ⚡ 最高 | ✅ 需调λ | 无风险仿真 |
| 安全滤波器 | 在线QP优化 | ✅ 严格 | 🐢 慢 | ❌ 无需 | 高资源实时系统 |
| 备份策略 | 条件策略切换 | ⚠️ 保守 | ⚡ 快 | ✅ 需设计策略 | 简单硬件系统 |
| 切空间投影 | 几何投影+动态松弛 | ✅ 严格 | ⚡ 快 | ❌ 无需 | 复杂在线学习 |
- 实例说明(机械臂避障)
- 惩罚函数法:
训练早期机械臂碰撞障碍物(( k(s) > 0 )),直到策略学会规避。 - 安全滤波器:
每个时间步求解QP,保证 ( D(s) \geq 0.1 ) m,但计算延迟导致控制频率下降。 - 备份策略:
机械臂接近障碍物时紧急停止,无法完成任务。 - 切空间投影:
机械臂沿障碍物表面切线运动(( D(s) \equiv 0.1 ) m),既安全又完成任务。
- 核心差异总结
- 安全性的数学基础:
- 切空间投影和QP滤波器通过微分几何/优化理论严格保证安全。
- 其他方法依赖启发式设计。
- 计算本质:
- 切空间投影是解析解,QP是数值解,备份策略是规则匹配。
- 适用性:
- 切空间方法唯一同时满足实时性、严格安全和自适应学习的要求。
通过这种对比,可以清晰看出为何ATACOM的切空间方法在复杂安全关键任务中具有显著优势。

