【论文阅读】PRM-RL Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning
想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,【】以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔记嘛 心路历程记录;然后可能有很多时候都是中英文夹杂,是因为我觉得有些方法并没有很好地中文翻译的意思,再加上英文能更好的搜索。希望大家能接受这种夹杂写法,或者直接关掉这个看原文
前言:这是一篇18年关于PRM里面用RL来做的,是阿冰哥在分享会上分享的,特此来细读做个笔记;前提紧要:PRM: MATLAB - PRM路径规划算法
PRM: Python -【机器人路径规划】概率路线图(PRM)方法
摘要部分:
We present PRM-RL, a hierarchical method for long-range navigation task completion that combines samplingbased path planning with reinforcement learning (RL). The RL agents learn short-range, point-to-point navigation policies that capture robot dynamics and task constraints without knowledge of the large-scale topology. Next, the sampling-based planners provide roadmaps which connect robot configurations that can be successfully navigated by the RL agent. The same RL agents are used to control the robot under the direction of the planning, enabling long-range navigation. We use the Probabilistic Roadmaps (PRMs) for the sampling-based planner. The RL agents are constructed using feature-based and deep neural net policies in continuous state and action spaces. We evaluate PRM-RL, both in simulation and on-robot, on two navigation tasks with non-trivial robot dynamics: end-toend differential drive indoor navigation in office environments, and aerial cargo delivery in urban environments with load displacement constraints. Our results show improvement in task completion over both RL agents on their own and traditional sampling-based planners. In the indoor navigation task, PRMRL successfully completes up to 215 m long trajectories under noisy sensor conditions, and the aerial cargo delivery completes flights over 1000 m without violating the task constraints in an environment 63 million times larger than used in training.
重点:用featured-based和deep neural net policies在连续状态和动作空间里构建了RL agent,让RL agent在满足dynamic and task constrain,但不知道环境信息的情况下去学习 short-range, point-to-point navigation policies,
- sampling-based planner (PRM) provide roadmaps 【使用PRM采样可行点】
- RL agents are used to control the robot under the direction of planning, enabling long-range navigation 【RL通过其来规划方向?从而实现长距离,emmm 传统的PRM在这里的劣势是太长了规划时间太长嘛?那RL的学习也不见得很快...】
I. Introduction
这里点明了整个planning的两点:规划器、控制器,而本文RL学的是规划器里的活,也就是路径点?
介绍了sampling-based planners:PRMs, RRTs等,都可以在configuration space里规划出路径点,但是就算规划出了collision-free path,机器人也不能单纯的跟踪这条路径,还有以下三点要求:
- satisfy the constraints of the task 【不太懂这个是啥 任务的限制?任务有啥限制?】
- handle changes in the environment
- compensate for sensor noise, measurement errors, and unmodeled system dynamics
[RL agents have been successfully applied to several permutations of the navigation task and video games] 还有这段话中的permutations是啥意思?导航和游戏中不同的组合都可以适用嘛?..所以navigation task and video games的permutations是啥样的?【怎么读着读着做阅读理解了】
使用PRM-RL就可以同时弥补各自的缺点,两人的分工为:
- an RL agent is trained to execute a point-to-point task locally, learning the task constraints, system dynamics and sensor noise independent of long-range environment structure.
- PRM-RL build a roadmap (PRM build a roadmap) 用PRM方法构建roadmap
- using RL agent to determine connectivity 然后使用RL机器人去决定点的连接(或者是从这个点到下一个点的控制?)
- 而PRM-RL 连接两个C-space点得出trajectory的条件是:1. consistently perform the local point-to-point task between them;2. collision-free
整个过程就是:PRM在地图上(二值化的那种)构建好roadmaps,也就是一系列的可行点,在小地图里训练RL,simulator with noisy sensors and dynamics designed to emulate the unprocessed, noisy sensor input of the actual robot。最后机器人在这个地图里仅用雷达躲避静态障碍物【所以RL是规划器?控制器?感觉用PRM没有规划只给出了一大堆点,继续看看再回答】
II. Related Work
在这里面介绍了有文章在RL前引入PRM技术是为了state space dimensionality reduction 降维状态空间【妙啊!还记得上一篇的状态空间是五维的】,然后相反的这篇文章是applied RL on the full state space as a local planner for PRMs.【这是怎么了?降维不香嘛?】
在这篇文章里,the RL agent act as the local planner 也就是有全局的global trajectory了;虽然也有对PRMs的修改以使其能适用于我们约定的三点要求,但是在我们的方法里:RL local planner does Monte Carlo path rollouts with deterministic collision checking but noisy sensors and dynamics 这里基本点明了RL里用到的和解决的问题,用到蒙特卡洛方法进行采样?来决定collision checking和传感器噪音【这是咋个学习法?】,最后当且仅当路径consistently navigated我们才添加这个edges
在最后一段内容有点多,DDPG用来作为我们的local planner; CAFVI用来做无人机送货的planner;所以整个是:Model-predictive control(MPC), action filtering, and hierarchical policy approximations 比如用RL 来提供policy
- Deep Deterministic Policy Gradient(DDPG): is current state-of-the-art algorithm 适用于高维度状态与动作空间 也可以在噪音情况下学习如何控制机器人
- Continuous Action Fitted Value Iteration(CAFVI): is a feature-based continuous state and action reinforcement algorithm 适用于连续状态和动作的强化算法,多机器人任务,flying inverted pendulums和障碍物避障
III. Method **IMPORTANT PART
整个方法的总览如下图:
分开学习task和system dynamics能够使PRM-RL适用于新环境中【不过这里的system dynamics是个啥意思?机器人运行的动力学嘛?】
整个方法的三个步骤 概述:
- RL agent training:训练RL to perform a task on an environment comparable to the deployment environment【这里but with a small state space to make learning more tractable没有看懂是啥个意思,是有部分的状态空间不变吗】
使用的是蒙特卡洛仿真过程,不管learning用的是哪个算法(DDPG,CAFVI等) 我们还是训练多个策略并把最适合的放入下一个PRM-RL的stage【这个有点像策略评估、改进那个过程了】然后把这个best policy/value function传递到下一步roadmap creation中 - roadmap creation:PRM builder用RL学到的最优策略作为local planner(具体进算法1的伪代码),然后对环境learns a roadmap
- roadmap querying:这一步就是构建好了roadmap后对其进行的查询作用【如果是这样的话 图中的箭头 PRM和Query的应该是双向的?】
整个算法的伪代码:后面的ABC三步都是在解释这个
A. RL agent training [第一步]
在C-space中选取起点终点,这里对于state space point里的需要满足task constraints \(L(s)\)【task constraints主要是针对无人机的cargo constraints?】 \(\left\| {p\left( s \right) - p\left( g \right)} \right\| \le \epsilon\)表示现在的状态足够靠近终点,搜索结束,在式子1后面用马尔科夫过程描述了一遍:
RL 训练的过程就是点到点的导航navigation,而用强化学习的目的就是从离散时间点到多维状态动作空间的MDP,随后就是对室内和无人机的状态空间的定义,The transition probability \(P:S \times A \rightarrow \reals\),然后在室内导航仿真的时候为激光雷达加入方差0.1的高斯噪音,整个过程和强化学习中描述的基本一致,\(R: S \rightarrow \reals\)然后再去学习policy\(\pi(\mathbf{s})=\mathbf{a}\),其中\(\mathbf{s}\in S\)为观测状态,\(\mathbf{a} \in A\)为动作空间,\(\mathbf{a}=(v_l,v_r) \in \reals\),动作空间两维两速度决定, the agent should perform to maximize long-term return or value:
\]
对于训练中rewards的定义,也就是在怎样的情况下他能得到reward
- 到达终点的时候
- 对于室内导航,stay away obstacles
- 对于空中机器人,minimize the load displacement
【这里是有点问题的,因为在强化学习书本中3.2节最后的部分曾经说过:结论:The reward signal is your way of communicating to the robot what you want it to achieve, not how you want it achieved.【在第17章也进一步的进行了讨论】而这里对于stay away obstacle就是一种how I want it achieved的表现方式了吧?】
在图2(a)中训练完成后,agents就可以在不同的环境中通过observing the world规划路径,而这个规划是在状态空间,比C-space更高的维度
B. PRM construction
这里的构建和PRM的构建并没有很大的区别,加了一下对噪音的阈值,整个三个过程在我的理解上是这样的:
C. PRM-RL Querying
见 B部分的图解释...不过主要的训练方法DDPG[21]文献可能需要后续再深入看一下,再去复现这一套的训练和实践过程
以上理论就结束了,整个理论看起来比较简单但其中自己的疑惑也挺多,主要集中在是否能在这样的假设下实现,或者是说单纯的强化学习规划小两点是普通的而这篇文章high dimensional也并没有在理论上进行很好的体现
- 关于室内导航为什么对于终点位置用polar coordinate 极坐标表示,直接xy笛卡尔不行嘛?
- reward是否会偏离想实现的东西
IV. Results
这个部分我就只分析室内导航了
A. Indoor Navigation
每一个从C-free space选取的roadmap都会经过100 queries的评估,评估方面:
- the cost of building roadmap
- the qualities of the planner trajectories
- the actual performance of the agent in simulation
- the experimental results
1) Roadmap construction evaluation
从结果表1中可以看到Local planner决定的是Number of edges和碰撞检测的次数【这个碰撞检测他好像没有定义呀... 是add edge的过程中?但是伪代码里没加可能只是评估】,因为SL没有noisy sensor observation所以collision check 10-20 times higher than RL,但是在其他方面比如roadmaps built with RL local planner are more densely connected with 15% & 50% more edges 这样也就保证了RL能通过一些狭窄路口
2) Expected trajectory characteristics
这一环节是对应实际的成功率和期待中的成功率(也就是噪音造成的失败概率计入)在第一部分已经说明了:to build the PRMs, we use an 85% success rate to connect the edges, over 20 trails. 然后在表2中我们能看到生成waypoints点的分布,\(0.85^{6.05}\)与\(0.85^{12.62}\)是建筑2与建筑3的lower bounds这个lower bounds的概念是因为对比就算成功率不如expected里的 但是lower bound的差值PRM-SL的就不是很好
3) Actual trajectory characteristics
以上这三点主要都是根据这三张表进行分析,第一部分是表1,第二部分是表2,第三部分则是表3,查看在成功与所有的情况对比number of waypoints,trajectory length, duration【不过这里我的唯一问题是:为啥这里的all会和表2里的数据不一样?难道是测试次数的原因但是表3也没表明over 100 queries】还有就是RL和SL的失败标准都是:\(\left\| {p\left( s \right) - p\left( g \right)} \right\| > \epsilon\)吗?
4) Physical robot experiments
这个点我没看懂他在分析什么.... 这五个标准都没有什么解释,就是five trails到底各自调整了什么参数或者是学习的方式有了改变??
V Conclusion
总结就是摘要,很短就是PRM-RL展开进行实践与sampling-based planner进行对比,然后这篇我自己的疑惑点也一大堆太菜了 回去请教完阿冰哥我再回来答一部分,不过致谢部分也有信息,一是关于仿真的环境是Torin Adamson[5],然后运动规划用的包是Parasol Lab[30] motion planning library,可以记录一下后续用以研究?
【论文阅读】PRM-RL Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning的更多相关文章
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning 2017-06-06 21: ...
- 论文阅读笔记六十三:DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling(CVPR2017)
论文原址:https://arxiv.org/abs/1703.10295 github:https://github.com/lachlants/denet 摘要 本文重新定义了目标检测,将其定义为 ...
- 论文阅读笔记(五)【CVPR2012】:Large Scale Metric Learning from Equivalence Constraints
由于在读文献期间多次遇见KISSME,都引自这篇CVPR,所以详细学习一下. Introduction 度量学习在机器学习领域有很大作用,其中一类是马氏度量学习(Mahalanobis metric ...
- 【论文阅读】Motion Planning through policy search
想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》
论文阅读:Face Recognition: From Traditional to Deep Learning Methods <人脸识别综述:从传统方法到深度学习> 一.引 ...
- 【论文阅读】Socially aware motion planning with deep reinforcement learning-annotated
目录 摘要部分: I. Introduction 介绍 II. Background 背景 A. Collision Avoidance with DRL B. Characterization of ...
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
白翔的CRNN论文阅读 1. 论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...
- BITED数学建模七日谈之三:怎样进行论文阅读
前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...
随机推荐
- AI 芯片的分类及技术
AI 芯片的分类及技术 人工智能芯片有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为代表,即 GPU. FPGA. ASIC,但 CPU依旧发挥着不可替代的作用:另 ...
- H.265视频编码与技术全析(上)
H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...
- ISP算法高水平分析(上)
ISP算法高水平分析(上) 一.ISP基本框架及算法介绍 ISP是Image Signal Processor的缩写,全称是影像处理器.在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始 ...
- 所有处理都走向AI
所有处理都走向AI All Processing Bends Toward AI 旧金山--谷歌正在试验机器学习(ML)来执行集成电路设计中的位置和路径,并取得了很好的效果.上周在ISSCC会议上宣布 ...
- RabbitMQ由浅入深入门全总结(一)
写在最前面 距离上一次发文章已经很久了,其实这段时间一直也没有停笔,只不过在忙着找工作还有学校结课的事情,重新弄了一下博客,后面也会陆陆续续会把文章最近更新出来~ 这篇文章有点长,就分了两篇Q PS: ...
- UF_VIEW 视图操作
Open C uc6400uc6401uc6402uc6403uc6404uc6405uc6406uc6408uc6409uc6430uc6431uc6432uc6433 获得视图3×3矩阵uc ...
- 【NX二次开发】用户出口函数介绍
用户出口(User Exit)是NX Open 中的一个重要概念.NX在运行过程中某些特定的位置存在规定的出口,当进程执行到这些出口时,NX会自动检查用户是否在此处已定义了指向内部程序位置的环境变量: ...
- python通过字典实现购物车案例-用户端
import os dict01 = { 'iphone' : { '5999' : { '总部位于美国' : '价格相对较贵', }, }, 'wahaha' : { '15' : { '总部位于中 ...
- mysql的优化_第十一篇(查询计划篇)
Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 目录 Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 1 EXPLAIN Output Format EXPLAIN Join ...
- google protobuf的原理和思路提炼
之前其实已经用了5篇文章完整地分析了protobuf的原理.回过头去看,感觉一方面篇幅过大,另一方面过于追求细节和源码,对protobuf的初学者并不十分友好,因此这篇文章将会站在"了解.使 ...