赞
踩
概要:本文主要学习规划控制的基本组成,以便更好地了解规划控制各模块的相关理论知识体系。
无人车规划控制的任务基本就是对感知到周围环境的基础上结合无人车的目的地和当前环境的位置对车辆做出正确合理的决策和控制。
整个决策控制规划的软件系统可以细化为以下几种方法:
最常用的是2007年DARPA(美国国防预先研究计划局) urban chanllenge常用的划分方法——按照解决问题的不同层面来进行划分。
按照自上而下解决方法分为如下几个模块:
路径规划是指生成一条连接车辆起始位置和终点位置的一个几何路径。
路径规划分为:
路径规划作为无人车决策规划控制系统最上游的模块,其解决的问题是根据起始点和目的地计算出一条起点到终点最佳道路的一条行驶序列(lane order)。如图所示。
路径规划输入:起始点、目的地、路网(road graph)、cost function(损失函数)
路径规划输出:车道序列(lanes sequence)、道路分割(road segments)严格依赖高精地图的绘制。
原理:首先基于高精地图绘制的路网,在一定的范围内将所有可能经过的道路(lane)进行一些分布的撒点。我们称这些点为lane point,这些点代表了无人车可能经过的lane位置的抽样点,点和点之间是通过有向带权的边进行连接,而这就代表了点与点之间cost即潜在代价,cost包括避免变道,避免左转、右转,避免很窄的道路等等,也就是对其进行惩罚(penalize),而我们把路径规划的问题都可以利用graph search的方法进行实现。
graph search方法:
基于其具体的算法原理及方法,后面文章会详细说到。
行为决策在整个无人车的规划控制系统(planning control system )中扮演了一个副驾驶的角色,作为无人车在行驶过程中产生何种行为和决策的重要大脑。
行为决策汇集了很多重要的车辆信息,其中:
行为决策所解决的问题就是知晓了上述所有信息上,结合人类的驾驶经验进行无人车行驶策略的设计。
行为决策输入:
行为决策输出:宏观的行为决策指令,供给下游的motion planning具体执行。
行为决策由于汇集了很多重要的不同类别的信息,所以该模块很难用单纯的一个数学模型去解决。
这里总结了行为决策规划的几种常用方法如下:
有限状态机(Finite state Machine)
有限状态机的运行机制大致是:
(1)系统所处的状态是明确并且有限的,必定属于状态全集中的某一种;
(2)系统接受输入,根据判定条件,决定是维持当前状态,还是切换到某一个新的状态;
(3)在维持或切换的过程中,执行一些预设的操作。
可以认为有限状态机是一个离散系统,每接受一次输入,进行一次判断和切换。
基于规则的方法(Rule based approach:Minimum Vioaltion Planning)
基于形式化的方法(Formal Methods(STL,LTL,process algebra, u-calulus))
如:线性时间逻辑(LTL):Linear-Time Logic,提供了一种非常直观但是在数学上又很精确的表示方法来描述线性时间性质。它是描述系统约束的形式化方法,是模态逻辑的一种,其中的模态算子用于指示时间的顺序,而非精确的时间。
马尔可夫决策过程方法(Markov Decision Process)
马尔可夫决策过程(Markov Decision Process,简称MDP)是强化学习中的一个重要概念,它是一种数学模型,用于描述决策者在不确定环境中进行决策的过程。
简而言之:行为决策是根据当前的交通场景和环境感知的信息的理解,来确定自身当前驾驶状态,在交通规则的约束和驾驶经验的指导下规划出合理的驾驶行为。
动作规划是在一个较小的时空区域内解决无人车从A点到B点的问题。也就是在遵循道路交通规则的前提下,将自动驾驶车辆从当前位置导航到目的地的一种方法。
相对于行为决策来说,动作规划要更加具体,具体解决无人车短暂时间内从A点到B点的路径规划包括:
动作规划输入:
动作规划输出:
动作规划需要保证以下两点:
简而言之,motion planning就是根据环境的感知、所处的位置具体将行为决策宏观指令解释成带有时间信息的轨迹曲线,来给最底层的反馈控制(motion control) 进行实际的对车的操作。
motion planning 一般可以拆分成两块:
动作规划的常用方法如下:
简而言之,运动规划模块就是解决在一定约束范围下的一个优化问题。
回顾:
整体规划过程如下:
路径规划——行为决策——动作规划,如下图所示。
控制车辆尽可能遵循运动规划输出的时空轨迹(trajectory),该模块是直接和无人车底层控制接口CANBus对接的模块,其核心任务是消化上层规划模块输出的轨迹点。
通过结合自车车辆属性以及外界的物理因素的动力学计算转换成对车辆的线性控制(drive by wire)的控制(油门、刹车、方向盘)尽可能控制车辆去执行车辆沿轨迹的行驶。
运动控制输入:
运动控制输出:
控制模块主要包含:
常见控制方法如下:
本文主要是对于自动驾驶规划控制学习的概述、主要介绍了规划控制系统的划分方法、规划控制中的基本组成模块,以及各个模块的主要原理、解决问题以及常见解决方法,这篇文章希望可以对想要了解、学习自动驾驶规划控制方向的同学们有一定的帮助。
喜欢的朋友们动动小手点个关注,我会定期分享我的一些知识总结和心得体会,感谢大家!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。