前言与引用

这一个呢,主要是自己突然看一篇论文的时候不知道 为什么他提出的方法对于规划来说就是好的,规划又应该分为哪几个部分,解决的是哪几个部分的问题?带着这个问题,我就去搜: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. 手撸Spring框架,设计与实现资源加载器,从Spring.xml解析和注册Bean对象

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你写的代码,能接的住产品加需求吗? 接,是能接的,接几次也行,哪怕就一个类一片的 i ...

  2. 【NX二次开发】设置了“附加包含目录”,还是提示“无法打开包括文件”的解决方法

    项目属性中的"附加包含目录"路径完全正确,但是还是无法找到头文件: 这个问题我遇到过不止一次,纠结了很久,终于发现了解决方法: 改为: 问题解决! 分析原因:项目中的属性配置 与 ...

  3. 13:Linux虚拟机网络连接异常

    这两个服务需要启动

  4. MySQL进阶:主主复制+Keepalived高可用

    Blog:博客园 个人 概述 mysql主主复制 所谓主主复制,即双主备份,或者叫互作主从复制,每台master既是master,又是slave.这种方案,既做到了访问量的压力分流,同时也解决了单点故 ...

  5. Spring Cloud Gateway简单入门,强大的微服务网关

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...

  6. SQL Sever提权

    前言:渗透测试中提权是较为重要的环节,若以低权限身份进行后渗透,测试出的问题相对于高权限的质量会低很多,从一个普通用户,通过手段让自己变为管理员,也可利用操作系统或者应用程序中的错误,设计缺陷或者配置 ...

  7. 【模拟7.14】B. 熟练剖分(tree) (概率DP)

    一道概率神题,考试时没读清题考完看了学长的玄学题解看了好几个小时 首先f[i][j]表示在点 i 为根的子树中,向下最长轻链长度小于等于 j 的概率. 首先递归下去并求出子树大小,然后枚举重儿子,枚举 ...

  8. [202103] Interview Summary

    整理 2021 March「偷」到的算法题. 题目: 阿里:https://codeforces.com/contest/1465/problem/C 字节:输出 LCS Jump Trading:给 ...

  9. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  10. JUL 日志框架

    1.JUL 简介 JUL 全称 Java Util Logging,位于java.util.logging.Logger 包.它是 java 原生的日志框架,使用时无需另外引用第三方的类库,相对其他的 ...