【论文阅读】Socially aware motion planning with deep reinforcement learning-annotated
前言:
摘要部分:
For robotic vehicles to navigate safely and efficiently in pedestrian-rich environments, it is important to model subtle human behaviors and navigation rules (e.g., passing on the right). However, while instinctive to humans, socially compliant navigation is still difficult to quantify due to the stochasticity in people’s behaviors. Existing works are mostly focused on using feature-matching techniques to describe and imitate human paths, but often do not generalize well since the feature values can vary from person to person, and even run to run. This work notes that while it is challenging to directly specify the details of what to do (precise mechanisms of human navigation), it is straightforward to specify what not to do (violations of social norms). Specifically, using deep reinforcement learning, this work develops a time-efficient navigation policy that respects common social norms. The proposed method is shown to enable fully autonomous navigation of a robotic vehicle moving at human walking speed in an environment with many pedestrians.
重点:点出人员嘈杂环境中的导航问题,现有的方法是:using feature-matching techniques去描述和模仿人的行驶路径,缺点很明显了:不可预知性较高;所以本文的方法是改变思路 从what to do到what not to do 界线就是violation of social norm,Using DRL 深度强化学习 开发了:time-effective navigation policy
I. Introduction 介绍
- [3]-[6]参考文献employs specific reactive rules for avoiding collision
缺点:并没有考虑人的实际行为方式 - [7][8]随后更成熟的运动模型被提出,也就是考虑并预测人的行为;不过在这个方式下,将导航分为了两步:首先是预测再规划路径
缺点:分开的操作为导致freezing robot 也就是找不到路,低效率的行驶 - 综上需要一种可以model the impact of the robot's motion on the nearby pedestrians
而现在对于cooperative socially compliant navigation可以被分为两个类别:model-based和learning-based
- 基于模型的 model-based:一般都是多参数可调的多机器人避障算法,为了区分human-human和human-robot交互的区别 通过在势场算法中添加用于控制type of intersection的参数,对the extended social forces model 进行了强化
显而易见的优势是:效率高,因为利用的是潜在的几何关系
但是缺点也因此而来:很难确定whether humans do follow such precise geometric rules,而且需要调整的参数也比较多,对于不同的行人就有不同的参数
- 基于学习的 learning-based:学习的方法目标是通过特征点匹配(比如行人的最小距离)去模仿人的行为 得出一种policy,使用IRL(反向RL)【这个...似乎没听过后面得查一下】然后从human demonstration里学习cost function 同时也有与周围行人joint trajectory的概率分布
对于于基于模型的优势:produce the paths that more closely resemble human behaviours
缺点:high computational cost,因为他需要计算并匹配路径特征 而这通常需要周围所有行人的路径信息和一些不可知的information(比如行人的目标);还有一点就是人的行为本来就具有随机性,不同的人不同的场景对于这个随机性都是有影响的
总结来说,现有的研究重点都在建模和复现the detailed mechanisms of social compliance,而对比下,人可以本能判断这个行为是否可取
首先我们需要明确 human navigation是time-effective通常遵循一些东西 例如靠右行驶,所以在这篇文章里我们将这个性质运用于强化学习的框架下 学习人是怎样去避障的方式
Contribution
- 引入socially aware collision avoidance with DRL 用来为强化学习的框架 explaining/inducing socially aware behaviours
- 开发系统神经网络结构(a symmetrical neural network structure) 适用于多机器人场景
- 演示了在人流量大的情况下 和人速度一样的车子运行情况 视频演示
II. Background 背景
A. Collision Avoidance with DRL
多机器人避障问题可以化为 a sequential decision making problem in a RL framework[14]【有空可以看一看】简单来讲就是:
- \(s_t\) 表示时间t下的状态
- \(u_t = v_t\) 表示时间t下的动作 在这里我们用\(v_t\)速度来表示动作
- \(\tilde{s}_t\) a nearby agent 状态
- \(\mathbf{s}_t=[s^o_t,s^h_t]\) 为了表达不确定性 状态分为observable和unobservable
- \(\mathbf{s}^o = [p_x,p_y,v_x,v_y,r] \in \reals^5\) 可观测状态有位置、速度、半径
- \(\mathbf{s}^h = [p_{gx},p_{gy},v_{pref},\psi]\) 不可观测状态有目标点、preferred speed、朝向
我们的目标是develop a policy \(\pi:(s_t,\tilde{s}^o_t)\mapsto u_t\) 从而最小化到达目标时间
- \(\left\|\mathbf{p}_{t}-\tilde{\mathbf{p}}_{t}\right\|_{2} \geq r+\tilde{r}\) 是避障的约束
- \(\mathbf{p}_{t_{g}}=\mathbf{p}_{g}\) 到达目标点约束
- 最后两个公式是机器人的动力学公式
然后我们再将其变得更像RL的框架,首先是
- joint configuration \(\mathbf{s}^{jn} = [\mathbf{s},\tilde\mathbf{s}^o]\) 把已知nearby agent状态进行合并
- reward function \(R_{col}(\mathbf{s}^{jn},\mathbf{u})\) 当到达goal的时候给正值,撞到别人的时候给惩罚
- state transition model \(P(\mathbf{s}^{jh}_t.\mathbf{s}^{jh}_t|\mathbf{u}_t)\) 虽然这个是不知道的 也就是由其他 agents' motion due to its hidden intents \((\tilde{\mathbf{s} }^h)\)
最后就是两个强化学习的公式[不知道的建议可以进入强化学习书本进行基础学习]
比较棘手的是 \(\mathbf{s}^{jn}_t\)是连续、高维度向量,不太容易将其离散和在状态空间里枚举【对对对对!】 最近的工作一般都是利用 deep neural networks去表示高维度下的value function,[22][23]也直接将DRL运用于运动规划 但是他们专注于单个机器人在未知静止环境下的导航,而且一般计算的输入是传感器的数据(比如相机来的照片)
而我们的工作extend the collision avoidance with deep reinforcement learning framework (CADRL) 以在在多机器人系统中,识别与引入socially aware behaviours
B. Characterization of Social Norms
这是常见的social norms rule:
![](https://img2020.cnblogs.com/blog/1594052/202102/1594052-20210226201529365-1867710312.png)
靠右行驶 passing,从左边超越 overtaking,
在对于social norms的定义中 直观上确实很难精确的确定细节转角等 when to turn and how much to turn with passing another one.
对比那些想量化人们行为的方法 本文则是将这些复杂 normative motion转为简单交互的结果。如果是两个采取同样避障策略的机器人在长廊相遇会保持同一条车道行驶,因此我们可以将social norms看成一种time-efficient, 互惠互利的避障原理
human navigation tends to be cooperative and time-efficient
所以CADRL就有这两个性质:
- min-time reward function
- reciprocity assumption \(\tilde\pi = \pi\)
图3展示了 CADRL整个协作的过程,因为 \(\mathbf{s}\) 是已知的,也就是一系列相关的 位置、速度、尺寸和目标点,所以一般是不会打破这个协作的默契。但是首先是agent都是CADRL下生成的,其次这个协作的行为是CADRL不能控制的 他是由value network的初始化和随机训练案例决定的 下一个部分我们会解决这个问题 去引导生成的行为是遵循人们的行为
III. Approach 方法
这一部分就是用DRL展示具有社会认知的multi-agents,首先要描述shaping normative behaviours在两个agents的环境中
A. Inducing Social Norms
回顾上面的强化学习optimal value function中,我们是将agent本身和其邻近的状态一起进行计算学习 \(\mathbf{s}^{jn} = [\mathbf{s},\tilde{\mathbf{s}}^o]\) scalar value that encodes the expected time to goal. 为了减少冗余 我们就使用local coordinate frame局部坐标系下的x轴指向目标,那么每一个agent的状态就可以参数化为:
其中
- \(d_g = \left\|\mathbf{p}_g-\mathbf{p}\right\|_2\) 是agent到目标之间的距离
- \(\tilde{d}_a = \left\|\mathbf{p}-\tilde{\mathbf{p}}\right\|_2\) 是与其他agent之间的距离
- \(\phi = tan^{-1}(\tilde{v}_y/\tilde{v}_x)\) 是agent的朝向问题
- \(\tilde{b}_{on}\) 是二进制flag表示这个agent是real or virtual
这一部分表明了social norms仅是解决这个问题的一种