前言与引用

这一个呢,主要是自己突然看一篇论文的时候不知道 为什么他提出的方法对于规划来说就是好的,规划又应该分为哪几个部分,解决的是哪几个部分的问题?带着这个问题,我就去搜:Motion Planning是什么?hhhh 然后从参考的知乎链接中到了这个课(其实我曾经在b站刷到过 但是当时我还没意识到自己的这一系列基础性问题 没问出问题,我向来是一个... 有问题再去学 再去找的 带着问题走)

  1. 知乎《Apollo Lattice Planner从学习到放弃.额不....到实践》:https://zhuanlan.zhihu.com/p/164635074
  2. 百度技术学院课程:https://bit.baidu.com/productsBuy?id=82
  3. 看的那篇论文是 Safe Trajectory Generation for Complex Urban Environments Using Spatio-temporal Semantic Corridor
  4. 课程中提到的参考 Steve Lavelle 的 Planning Algorithmhttp://planning.cs.uiuc.edu/par1.pdf

这里可能很多部分都是我看第二个参考百度技术学院课的一种文字总结形式而已哈

What is Motion Planning?

回答我当初看的初衷:什么是规划?

规划的本质是一个搜索。那搜索又是什么呢?

\[\arg \min _{x} f(x)
\]

给一个函数\(f(x)\) 找出最优解。这是数学意义上的,那对于规划中,就是给定现在的状态,给出最优的移动轨迹,那我们怎么定义出说这个轨迹是好的呢?也就是定出一个目标函数 像上面这样的\(f(x)\)

  • [x] 所以,按这个想法看来,就是trajectory generation部分,并不包含控制器的forward backward 这样的反馈

    并不是,在后面的过程中分类中,解释了 只是不同的方向的人对于Motion Planning的定义不同,例如做机器人的考虑的是寻找目标点的路径,随后交给做控制的人去跟随住这样一个路径。

构建规划问题

课程中提到,构建自动驾驶中的Motion Planning问题是比较复杂的。把问题分分成简单的小问题,虽然其中有些问题又可以再次分成更小的问题,因为他们这一层还并不简单

1. Path Finding Problem

不需要关心环境,只需要关心整体的路径是怎样的。看起来有点像我们现在用的导航,感觉也是全局的路径规划问题

其中众所周知的算法:

BFS DFS: non-informative search

A*: 对比起来就快很多了,从这里也衍生了其他的全局的

但是呢,后面我们就会考虑A* 需要对全局环境障碍物提前知道,但实际情况是很难的,因为路径够长你的传感器就没法探知那么远的了。所以,在这里又分出了两类对环境的掌握情况:partially observed和 fully observed

partially observed: 如果使用的是贪心算法的,表现的形式就是一种incremental search 看到多少就按看到的去求出一个最优解

2. 路径的平滑

这一点在前面finding的举例,都是折线,是因为我们没考虑车辆运动学模型,也没考虑控制动力学方面,但其实这点想低速场景苟着的话,就把折线用五次平滑曲线弄一弄 也是OK的

3. 环境的动态性

前者 我们在构建的过程中总是缺了点什么:环境是动态的,我们不能将周围的所有东西都当做静态障碍物,特别是高速行驶的场景。而这一个问题,至今在规划中还是一个很难很好的解决的问题

4. 交通规则

怎样在模型中把交通规则给包含进去,然后再做规划

5. 实时性

视频中介绍的百度apollo规划模块的运转周期:100ms,反应时间是0.2-0.3s;对比人驾驶的反应时间大致是0.4-0.5s

Motion Planning for Autonomous driving 要求

safely and smoothly,本质上来讲是一个三维规划问题:X Y Time,但是从车辆动力学角度的话 维度可能还要进一步上升,因为涉及到车头方向、转向角、车辆速度、加速度等等

整体自动驾驶一览

轨迹在这里的定义就不是前面在第一点中提到的 路径是怎样的,而应该是随着时间这个路径应该怎么走英文上就换了个词:Trajectory

  • [x] 哦吼!所以Path和Trajectory是有分别的路径的意思的

    Path是静态的,不包括时间;Trajectory是除了路径还有其他信息可以说是时间,speed profile,这条路径上速度的变化关系

至此 Overview的部分课程就是这个,其中在最后提到的整个规划的框架内,感觉缺少了行为规划器那块的东西,就是状态机?

总结

所以回答了自己的问题?

  1. 规划又应该分为哪几个部分

    就像上面提到的如果是针对整个车的规划问题,包括从全局到局部,到控制都是规划需要考虑的部分,如果是针对那篇论文,他解决的是第二部分的东西也就是Motion Planning: 局部感知后,对全局路径的修正,论文中处理的也是怎样把语义信息给结合起来

  2. 解决的是哪几个部分的问题?

    好像和上面的问题是重合的 hhhh

感觉百度的这节课挺棒的

Motion Planning 是什么的更多相关文章

  1. 泡泡一分钟:Automatic Parameter Tuning of Motion Planning Algorithms

    Automatic Parameter Tuning of Motion Planning Algorithms 运动规划算法的自动参数整定 Jos´e Cano, Yiming Yang, Brun ...

  2. 泡泡一分钟:Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle

    Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle Joshua Levin, Aditya Paranj ...

  3. 泡泡一分钟:Learning Motion Planning Policies in Uncertain Environments through Repeated Task Executions

    张宁  Learning Motion Planning Policies in Uncertain Environments through Repeated Task Executions 通过重 ...

  4. Grassfire算法- 运动规划(Motion planning)

     Grassfire算法: 一.概念 这个算法是做图像处理的抽骨架处理,目的是求出图像的骨架,可以想象一片与物体形状相同的草,沿其外围各点同时点火.当火势向内蔓延,向前推进的火线相遇处各点的轨迹就是中 ...

  5. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

  6. 运动规划 (Motion Planning): MoveIt! 与 OMPL

    原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei 最近有不少人询问有关MoveIt!与OMPL相关的话题,但是大部分问题都集中于XXX功能怎么实现,XXX错 ...

  7. 运动规划 (Motion Planning): MoveIt! 与 OMPL---44

    原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei 最近有不少人询问有关MoveIt!与OMPL相关的话题,但是大部分问题都集中于XXX功能怎么实现,XXX错 ...

  8. 【论文阅读】Socially aware motion planning with deep reinforcement learning-annotated

    目录 摘要部分: I. Introduction 介绍 II. Background 背景 A. Collision Avoidance with DRL B. Characterization of ...

  9. 运动规划(Motion Planning)

    相关介绍: https://mp.weixin.qq.com/s?__biz=MzA5MDE2MjQ0OQ==&mid=2652786406&idx=1&sn=f937dd6a ...

随机推荐

  1. adb基础命令

    adb运行原理: 启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程.如果没有,它将启动服务器进程.当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb ...

  2. 密码学系列之:feistel cipher

    密码学系列之:feistel cipher 简介 feistel cipher也叫做Luby–Rackoff分组密码,是用来构建分组加密算法的对称结构.它是由德籍密码学家Horst Feistel在I ...

  3. 使用NDepend衡量代码的SOLID程度

    SOLID是面向对象的软件开发中的5条准则,也是开发人员可以提升自己代码质量的准则.那么如何衡量自己的代码是否符合SOLID准则呢?NDepend这款工具也许可以帮得上忙.本文将介绍一些NDepend ...

  4. 「JVM」知识点详解一:JVM运行原理详解

    前言 JVM 一直都是面试的必考点,大家都知道,但是要把它搞清楚又好像不是特别容易.JVM 的知识点太散,不系统,今天带大家详细的了解一下jvm的运行原理. 正文 1 什么是JVM? JVM是Java ...

  5. 十亿级流量下,我与Redis时延小突刺的战斗史

    一.背景 某一日收到上游调用方的反馈,提供的某一个Dubbo接口,每天在固定的时间点被短时间熔断,抛出的异常信息为提供方dubbo线程池被耗尽.当前dubbo接口日请求量18亿次,报错请求94W/天, ...

  6. Manacher(马拉车)————O(n)回文子串

    Manacher 一.背景 1975年,Manacher发明了Manacher算法(中文名:马拉车算法),是一个可以在O(n)的复杂度中返回字符串s中最长回文子串长度的算法,十分巧妙. 让我们举个栗子 ...

  7. Java安全之反序列化回显研究

    Java安全之反序列化回显研究 0x00 前言 续上文反序列化回显与内存马,继续来看看反序列化回显的方式.上篇文中其实是利用中间件中存储的Request 和Response对象来进行回显.但并不止这么 ...

  8. html中各种标签和属性(最基础的基本都有)

    1.标题标签: h1~h6  ctrl+1~6 2.段落标签: p      ctrl+shift+p 3.换行标签: br     shift+回车 4.水平线:   hr 5.加粗标签: stro ...

  9. AnyCast技术

    在公司项目经历过DDoS攻击后,选用了一些比较成熟的DDoS防护厂商,在学习过程中,发现,许多DDoS厂商的防护技术都离不开 Anycast网络. 所以在这里整理一下AnyCast的相关资料. 1. ...

  10. 23、ORA-00439:DEFERRED_SEGMENT_CREATION 问题解决

    23.1.说明: 1. 众所周知,在清空表内所有数据时,truncate比delete要快很多,原因是,delete语句每次删除一行,都在事务日志中为所删除的每行记录一项. truncate通过释放存 ...