文章目录
- 第五章 百度Apollo规划技术介绍(一)
- basic motion planning and overview
- motion planning with autonomous driving
- Motion Planning Approaches
- Tool : Configuration Space
- Types of Path Constraints
- Motion-Planning Framework
- Roadmap Methods
- Path-Planning Approaches
- Approach
- RRT
- Lattice Sampling
- Lattice with longitudinal and lateral decomposition
- Optimization in lattice - Path speed iterative methods
- Quadratic Programming Approach
第五章 百度Apollo规划技术介绍(一)
basic motion planning and overview
motion planning
- 规划问题本质上是一个搜索问题,即对一个给定的函数,寻找最优解。相对于无人车而言,规划问题就是给定现在的状态,找到无人车移动的最优解。通常最优解目标函数F(x)定义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cgad3Gf0-1595758530518)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726170607822.png)]
- robotic fields,规划就是如何产生轨迹以完成目标,涉及RRT, A*,D* lite等。
- 控制领域,规划理解为到达目标状态的动态系统,涉及MPC, LQR等
- artificial intellegence(AI),是生成状态到动作的映射,涉及reinforcement learning,end-to-end imitation learning等。
Path Finding Problems
从最简单问题出发,把运动规划抽象成一个path finding problem(路径查找问题),只关心无人车怎样走,周围环境是不变的
-
breadth first search(BFS)广度优先
-
depth first search(DFS)深度优先
- 都属于non-information search
-
A-star算法
- 定义一个启发式函数,该函数猜测距离目标还有多远,通过这种方法先搜索一些比较近的点,然后从这个点出发逐渐扩大搜索圈
- 花费时间比广度优先算法时间更短,因为有信息支持
-
D-star算法
- 利用D-star算法对部分观察的数据进行控制规划。它利用当前能够看到的信息进行增量规划,D-star的特点是处理在看到的有限范围的条件下,如何到达预定地点的搜索问题方法。这种增量搜索很难通过一步步的迭代达到全局最优解
搜索技术离自动驾驶运动规划还差多少?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6g6agp5u-1595758530521)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726171907213.png)]
运动规划问题就是让自动驾驶车辆能够安全平稳到达终点,本质是一个三维规划问题,即 XY 坐标加上时间维度,叫做 3D Trajectory Optimization Problem(轨迹优化问题)。从车辆动力学模型来说,维度需要进一步上升,因为涉及到车头的方向,车的转向角、加速度等问题。
运动规划可以获得两部分信息
- 动态信息,包括从认知获得的信息,就是从感知模块和定位模块获得信息,
- 静态信息,就是高精地图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tNC5Swkn-1595758530522)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726172205129.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KmWvzjjU-1595758530526)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726172306752.png)]
-
无人驾驶系统软件包括定位、感知、预测、运动规划和控制等。
- 定位就是知道汽车在哪里。
- 感知即是对周围环境信息的获取。
- 预测就是感知到的障碍物的行进意图,例如旁边有无人超车。
- 运动规划是在知道这些信息后,告知汽车如何运动。
- 控制模块就是得到指令之后如何控制汽车。
-
车辆状态、交通灯信息、障碍以及障碍轨迹、导航、高精地图都是规划模块能获得的信息。规划就是在这样的部分可见信息中给无人车找到一条轨迹。它不仅是一条路径,而是随着时间推移路径该怎么走,它包含两方面,一是路径信息,二是速度配置文件,需要保证速度和路径变化都是平滑的。
motion planning with autonomous driving
Motion Planning Approaches
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GTBwfzJl-1595758530527)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726172945364.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Bz7vsV9-1595758530529)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726173141425.png)]
Tool : Configuration Space
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-at9hHHzO-1595758530531)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726173250951.png)]
- complexity
- space dimensionality
Types of Path Constraints
-
Local constraints:避免碰撞
-
Differential constraints:曲率、转向半径
-
Gobal constraints:最优轨迹
-
贴边走(直线+圆弧)但是无人车不好走
-
Motion-Planning Framework
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wxM24WWz-1595758530532)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726174256244.png)]
连续空间离散化成网格,加一些动力学模型让A-star解决
Roadmap Methods
把离散空间抽象成离散的点和一些连接这些点的路径
- Visibility graph
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-beAufc6K-1595758530534)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726174536996.png)]
靠边的折线(边界)走
Path-Planning Approaches
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZgrMFxg-1595758530536)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726174641003.png)]
Approach
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0OjRHs9y-1595758530538)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726174750604.png)]
- PRM(常用)
RRT
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4T8FQEe-1595758530538)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726174946451.png)]
RRT的改进
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-83CcMNOj-1595758530540)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726175144495.png)]
局限性:不够平滑
Lattice Sampling
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYAF7jQW-1595758530542)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726175429396.png)]
一条连续的曲线连接起来
问题:抽象方式有限,计算量大
解决办法:动态规划
Lattice with longitudinal and lateral decomposition
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-adYoYx9K-1595758530543)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726175937308.png)]
随机散布一些点、生成候选路径、找最优路径
Optimization in lattice - Path speed iterative methods
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4mqG6TX-1595758530543)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726180136436.png)]
分为path和speed两个模块进行优化
降低维度优化、迭代
Quadratic Programming Approach
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-497tApZd-1595758530545)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726180347891.png)]
凸空间性质:Objective Function在一个凸的空间里有唯一的最优解,边界or中心,可以通过二次优化的方式很快的找到最优解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHFEVswr-1595758530547)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726180804696.png)]
先优化再平滑
平滑+安全:interpolation差值,找一条曲线穿过这些点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVje3HQI-1595758530548)(C:\Users\xiaomeiyan\AppData\Roaming\Typora\typora-user-images\image-20200726181247403.png)]