MIT_papers_reading
Num | title | author | time |
---|---|---|---|
1 | Decentralized Non-communicating Multiagent Collision Avoidance with Deep Reinforcement Learning | Yu Fan Chen, Miao Liu, Michael Everett, and Jonathan P. How | 2017 |
2 | Socially Aware Motion Planning with Deep Reinforcement Learning | Yu Fan Chen, Michael Everett, Miao Liuy, and Jonathan P. How | 2017 |
3 | Robot Designed for Socially Acceptable Navigation | Michael F. Everett | 2017 |
4 | Motion Planning Among Dynamic, Decision-Making Agents with Deep Reinforcement Learning | Michael Everettz, Yu Fan Cheny, and Jonathan P. How | 2018 |
5 | Safe Reinforcement Learning with Model Uncertainty Estimates | Bj¨orn L¨utjens, Michael Everett, Jonathan P. How | 2019 |
1 - Decentralized Non-communicating Multiagent Collision Avoidance with Deep Reinforcement Learning
摘要
考虑与相邻机器人交互来规划路径很消耗算力。基于新的DRL应用,本文提出分散式的多智能体免碰撞算法。考虑周围智能体的影响,构建一个值函数网络用来估计到目标的所需时间。
一、介绍
集中式的路径规划方法应对大规模智能体时需要很多算力,无法保证实时性。本文聚焦于通信不能可靠建立(communication cannot be reliably established)的场景。现有工作分2类方法:基于反应(reaction-based)和基于轨迹(trajectory-based)。前者是采用当前几何条件下的单步交互规则,如RVO(reciprocal velocity obstacle)是调整每一个智能体的速度向量来避免碰撞。但基于反应的方法不会考虑相邻机器人未来状态而导致短视,在某些情景下产生振动和不自然的行为。
相反,基于轨迹的方法通过预测其他机器人的运动来考虑联合体(自身+相邻机器人)的未来状态。
- 一类基于非协同的子方法是考虑其他智能体的将来动态,然后基于预测路径规划出无碰撞的路径。但在拥挤环境下的生成的预测轨迹会包含大部分不可达、不安全的空间,这样会导致freezing robot problem。
一种解决方案是:考虑交互,智能体的轨迹会相互影响 - 另一类基于协同的子方法就是预测其他智能体的意图,规划出环境中所有相邻智能体都可行的路径。
- 基于路径协同的方法比基于反应的要好,但计算开销大,且需要能获取的准确信息。环境模型和计算的不确定性会导致对其他机器人的预测规划不准确。尤其是好几秒后的轨迹预测。所以基于轨迹的方法需要很高的频率快速更新,这又会导致巨大的计算开销。
问题和方案
多智能体碰撞规划的主要难点在于预测联合状态(路径)的演化是可行的,但计算开销上不可行。本文方案:使用RL,把开销巨大的在线的计算降解为离线的学习过程(to offload the expensive online computation to an offline training procedure)。具体来说,通过学习一个“隐式编码协同行为”的值函数,得到一种计算高效(实时实现)的交互法则。
本文主要贡献:
- 基于新DRL方法的双智能体碰撞规避
- 可推广到多智能体的原理性方法(a principled way for generalizing to more (n > 2) agents)
- 一种新的表征运动学约束的扩展公式(an extended formulation to capture kinematic constraints)
- 仿真结果对比显示,新方法在质量上与现有的基于反应方法相比有很大提高。
二、问题描述
连续决策过程
智能体在 t t t时刻的状态和动作分别表示为 s t \mathbf{s_t} st, a t \mathbf{a_t} at
s t = [ s t o , s t h ] \mathbf{s_t} = [\mathbf{s_t^{o}}, \mathbf{s_t^{h}}] st=[sto,sth]
- s t o \mathbf{s_t^{o}} sto表示被其他机器人能观测的信息, s o = [ p x , p y , v x , v y , r ] ∈ R 5 \mathbf{s^{o}}=[p_x, p_y, v_x, v_y, r] \in \mathbb{R^{5}} so=[px,py,vx,vy,r]∈R5
- s t h \mathbf{s_t^{h}} sth表示仅智能体自己知道的信息, s h = [ p g x , p g y , v p r e f , θ ] ∈ R 4 \mathbf{s^{h}}=[p_{gx}, p_{gy}, v_{pref}, \theta] \in \mathbb{R^{4}} sh=[pgx,pgy,vpref,θ]∈R4
a = v \mathbf{a} = \mathbf{v} a=v
- v \mathbf{v} v是2D中的速度向量
下面仅考虑双智能体的碰撞规避问题,智能体和另一个智能体的状态分别表示为 s \mathbf{s} s和 s ~ \mathbf{\widetilde{s}} s 。策略为 π : ( s 0 : t , s ~ 0 : t o ) ↦ a t \pi:(\mathbf{s_{0:t}}, \mathbf{\widetilde{s}_{0:t}^{o}}) \mapsto \mathbf{a_t} π:(s0:t,s 0:to)↦at。
arg min π ( s , s o ~ ) E [ t g ∣ s 0 : t , s ~ , π , π ~ ] \arg\min_{\pi(\mathbf{s}, \mathbf{\tilde{s^{o}}})} \mathbb{E}[t_g|\mathbf{s_{0:t}}, \mathbf{\tilde{s}},\pi,\tilde{\pi}] argπ(s,so~)minE[tg∣s0:t,s~,π,π~]
s . t . ∣ ∣ P t − P ~ t ∣ ∣ 2 ≥ r + r ~ s.t. ||\mathbf{P}_t - \mathbf{\widetilde{P}}_t||_2 \geq r+\widetilde{r} s.t.∣∣Pt−P t∣∣2≥r+r
P t g = P g \mathbf{P}_{t_g} = \mathbf{P}{_g}