Kim, Sunin, et al. “Safety-Aware Unsupervised Skill Discovery.” ICRA. 2023.
论文标题:Safety-Aware Unsupervised Skill Discovery (SASD)
会议:ICRA 2024
关键词:强化学习、安全约束、无监督技能发现、机器人控制
文章目录
一、研究背景与问题
在机器人控制中,无监督技能发现(Unsupervised Skill Discovery)是一种重要方法,能让机器人通过自我探索学习基础技能(如抓取、推动物体等),然后在实际任务中复用这些技能。然而,传统方法(如DIAYN, DADS)只注重技能的多样性,忽略安全性,导致机器人可能学到很多危险技能(比如高速撞击、过度用力)。
另一方面,安全强化学习(Safe RL)在具体任务中加入安全约束,避免危险行为,但每个任务都需要重新设计和优化安全模块,效率低下。
核心问题:如何让机器人在无监督技能学习阶段就主动避开危险,学到一个安全的技能库,后续任务中可以直接复用这些安全技能,不再考虑安全问题?
二、论文的核心贡献
这篇论文提出了一种新的方法:SASD (Safety-Aware Skill Discovery),核心目标是让机器人在学习技能时就具备安全意识,学出的技能库天生安全。
主要贡献:
- 在技能学习阶段引入安全约束,通过预测未来危险概率来惩罚危险动作。
- 提出 Safety-Critic,用来估计从当前动作开始未来的累积危险概率。
- 通过一次训练得到的安全技能库,在后续任务中直接复用,既高效又安全。
方法亮点:
SASD 结合了无监督技能发现和安全约束的优点,解决了传统无监督方法不安全、传统安全方法任务相关性强的问题。
三、方法详解
3.1 问题定义
- 机器人:AMBIDEX 双臂机器人,14 个关节力矩控制。
- 状态空间 (obs):24 维,包括关节状态(位置 + 速度)、物体位姿和目标位姿。
- 动作空间:14 维关节力矩。
- 安全约束:定义了 5 种危险状态(
I(s)=1表示危险,I(s)=0表示安全):- 关节位置超物理限位 95%。
- 关节速度大于 10 rad/s。
- 接触力大于 100N。
- 手部末端速度大于 2 m/s。
- 物体飞出工作区域。
3.2 方法核心:Safety-Critic
-
危险指示信号:
I(s)是一个 0 / 1 值,表示当前状态是否危险。 -
Safety-Critic Q safe ( s , a ) Q^\text{safe}(s, a) Qsafe(s,a):预测从
(s, a)开始,未来累积危险的概率,即:Q safe ( s , a ) = E [ ∑ t = 0 ∞ γ t I ( s t ) ∣ s 0 = s , a 0 = a ] Q^\text{safe}(s, a) = \mathbb{E}[\sum_{t=0}^\infty \gamma^t I(s_t) | s_0=s, a_0=a] Qsafe(s,a)=E[t=0∑∞γtI(st)∣s0=s,a0=a]
这里的
γ是折扣因子,用于更关注短期危险。 -
优化目标:策略在技能多样性和安全性之间权衡:
J ( π ) = E [ r intrinsic ( s , s ′ , z ) ] − λ ⋅ E [ Q safe ( s , a ) − ϵ ] J(\pi) = \mathbb{E}[r_\text{intrinsic}(s, s', z)] - \lambda \cdot \mathbb{E}[Q^\text{safe}(s, a) - \epsilon] J(π)=E[rintrinsic(s,s′,z)]−λ⋅E[Qsafe(s,a)−ϵ]- 第一项:鼓励技能多样性(通过状态-技能互信息优化)。
- 第二项:惩罚未来危险概率超过阈值
ϵ的动作,其中λ是拉格朗日乘子,用于动态调整惩罚权重。
四、实验设计
4.1 实验设置
- 环境:NVIDIA Isaac Gym 仿真平台。
- 任务:机器人操作 15cm³ 立方体,学习安全技能并完成物体摆位任务。
- 训练参数:
- 技能学习阶段:100M 环境步。
- 下游任务阶段:5M 环境步。
- 折扣因子:γ = 0.99,安全阈值 ϵ = 0.05,技能执行时长 n = 50 步。
- 状态维度:24 维(关节状态 + 物体位姿 + 目标位姿)。
- 动作维度:14 维(关节力矩)。
4.2 baseline 方法
| 方法类别 | 代表方法 | 核心逻辑 | 问题 |
|---|---|---|---|
| 无安全技能发现 | DIAYN | 最大化状态-技能互信息 | 65% 技能危险率(图3) |
| 安全RL | SafeSAC | 代价函数约束 + 熵正则化 | 任务学习速度慢(图7) |
| 安全过滤器 | CBF | 动作修正满足Lyapunov条件 | 计算开销大 |
| 从头训练 | PPO | 无预训练直接学任务 | 收敛慢且安全率低 |
4.3 实验结果
-
技能安全性:
- SASD 学出的技能安全率高达 99%。
- DIAYN 技能危险率高(仅 65% 安全)。
-
下游任务性能:
- SASD+PPO 完成任务的学习速度比 SafeSAC 快 30%,同时保持近 100% 安全率。
- DIAYN+PPO 虽然学得快,但安全率几乎为 0(频繁触发危险)。
-
泛化能力:
- 测试时延长技能执行时间,SASD 仍能保持90% 以上安全率。
- 用 SASD 技能库组合完成新任务,成功率高达 85%(从头学仅 45%)。
五、实验局限与未来方向
-
真机实验缺失:
虽然这篇论文在 ICRA 发表,但只做了仿真实验,未进行真实机器人验证。原因可能包括:- 高速运动和力矩控制对硬件要求高。
- 高风险实验可能损坏设备。
- 仿真到真实的迁移(Sim2Real)需要额外研究。
-
未来方向:
- 解决接触动力学建模问题,提升 Sim2Real 性能。
- 在多种机器人平台上验证(如机械臂+移动底盘)。
六、总结
这篇论文提出的 SASD 方法,成功解决了无监督技能学习中的安全性问题,通过加入安全约束,学到的技能库天生安全,在后续任务中可以直接复用,既高效又安全。
核心优点:
- 一次学习,多次复用:技能库预训练阶段解决安全问题,后续任务不需额外安全机制。
- 安全与效率兼得:相比传统方法,学习速度更快,安全性更高。
局限性:
- 尚未进行真机实验验证,未来需解决 Sim2Real 问题。
2110

被折叠的 条评论
为什么被折叠?



