无人驾驶的核心技术是环境感知、精准定位、路径规划、线控执行,这需要用到大量传感器。现有的车载传感器包括超声波雷达、激光雷达、毫米波雷达、车载摄像头、红外探头等,主流的无人驾驶传感平台以激光雷达和车载摄像头为主,并呈现多传感器融合发展的趋势。基于测量能力和环境适应性,预计激光雷达和车载摄像头会持续占据传感器平台的霸主地位,并不断与多种传感器融合,发展出多种组合版本。完备的无人驾驶系统如图7.15所示,各个传感器之间借助各自所长相互融合、功能互补、互为备份、互为辅助。
1)感知——环境感知
为了确保无人车对环境的理解和把握,无人驾驶系统的环境感知部分通常需要获取周围环境的大量信息,包括:障碍物的位置,速度以及可能的行为,可行驶的区域,交通规则等。
复杂环境中,智能汽车的感知这一关键技术如图7.16所示,正如上述介绍的各类正在测试中的智能汽车,主要通过声光电传感器实现。
图7.15 无人驾驶系统核心
图7.16 无人驾驶汽车场景感知
①立体摄像机。摄像头作为视觉传感器的载体,已经成为无人驾驶汽车的核心硬件之一,如图7.17所示。其工作原理:首先,通过电荷耦合器件阵列CCD采集图像,并将图像转换为二维数据;其次,进行模式识别,通过图像匹配进行识别,如识别行驶环境中的车辆、行人、车道线、交通标志等;然后,依据物体的运动模式或使用双目立体视觉定位,以估算目标物体与本车的相对距离和相对速度。
双目立体视觉的基本原理是模仿人类视觉的立体感知过程,从两个视点图像传感器阵列CCD观察同一景物,获取不同视角下的感知图像,通过三角测量原理计算图像像素间的位置偏差,重构景物的三维深度信息。比如,在挡风玻璃上装载两个立体摄像头,可以实时生成前方路面的三维图像,检测诸如行人之类的潜在危险,并且预测他们的行为。
图7.17 车载摄像头
②红外摄像头。红外摄像头常使用红外光LED发射人眼看不见的红外线以照亮前方物体,漫射红外光被摄像机CCD接收,形成夜晚条件下前方物体的视频图像。汽车夜视辅助功能常用两个前灯来发送不可见红外线到前方的路面,挡风玻璃上装载的摄像头则用来检测反射红外光,并且在汽车中控平台的显示器上呈现被照亮的图像。
③激光雷达。激光测距系统(LIDAR)是以发射激光束(多为950 nm波段附近的红外光)探测目标的位置、速度等特征量的雷达系统。谷歌无人驾驶汽车在车顶配置了Velodyne公司的64束激光、光学相控阵型激光雷达,激光碰到车辆周围的物体,又反射回来,它每秒钟能向环境发送数百万光脉冲,通过旋转结构,激光雷达能够实时地建立起周围环境的三维地图,如图7.18所示。
图7.18 三维地图
④毫米波雷达。毫米波雷达是利用波长为毫米数量级的无线电波,通过测量发射无线电波信号的往返时间,计算汽车车身周围的物理环境信息(如汽车与其他物体之间的相对距离、相对速度、角度、运动方向等),如图7.19所示,可进一步用于目标追踪和识别分类。相比于激光雷达,毫米波雷达穿透雾、烟、灰尘的能力更强。
图7.19 车载毫米波雷达
⑤车轮角度编码器。角度编码器的基本原理是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。车轮角度编码器用于智能汽车的车速测量。
⑥GPS/惯性导航。导航最早起源于航海技术,即由已知的定点用罗盘及航速推算出目前所在位置的方法。目前,使用最广泛的无人车定位方法当属融合全球定位系统(Global Positioning System,GPS)和惯性导航系统的定位方法,其中,GPS的定位精度为数十米到厘米级别。融合GPS/惯性导航的定位方法在GPS信号缺失、微弱的情况下无法做到高精度定位,如地下停车场,周围均为高楼的市区等。谷歌无人汽车使用Applanix公司的定位系统,以及Google定制地图和GPS技术,告知自动驾驶员他正在去哪儿。
2)高精度和高可靠性定位
在无人车感知层面,定位的重要性不言而喻,无人车需要知道自己相对于环境的一个确切位置,这里的定位不能存在超过10 cm的误差。试想一下,如果无人车定位误差为30 cm,那么这将是一辆非常危险的无人车(无论是对行人还是乘客而言),因为无人驾驶的规划和执行层并不知道它存在30 cm的误差,仍然按照定位精准的前提来做出决策和控制,那么某些情况下作出的决策就可能是错的,从而造成事故。由此可见,无人车需要高精度的定位。
在实践中,一种有效的无人车定位方法是事先使用传感器如激光雷达对区域构建点云地图,通过程序和人工的处理将一部分“语义”添加到地图中(例如车道线的具体标注、路网、红绿灯的位置、当前路段的交通规则等),这个包含了语义的地图就是无人驾驶车的高精度地图。
无人驾驶对可靠性和安全性要求非常高,除了GPS与惯性传感器外,通常还会使用激光雷达LiDAR点云与高精地图匹配,以及视觉里程计算法等定位方法,让各种定位法互相纠正以达到更精准的效果。目前,常见的多传感器融合的定位手段有:GPS+角度累加+里程计、GPS+激光雷达+高精地图和多对双目视觉摄像头等。
3)规划
无人驾驶汽车的规划可分为三层次:任务规划、行为规划和动作规划。
①任务规划。任务规划通常也被称为路径规划或者路由规划,负责相对顶层的路径规划,例如起点到终点的路径选择。把当前的道路系统处理成有向网络图或路网图,如图7.20所示,它能够表示道路和道路之间的连接情况、通行规则、道路的路宽等各种信息,其本质上就是在前面的“定位”小节中提到的高精度地图的“语义”部分。
(www.xing528.com)
图7.20 路网图
在这样的路网图中,每一个有向边都带有权重,则无人车的路径规划问题就变成了在路网图中,为了让车辆达到某个目标,基于某种方法选取最优路径的过程,也就变成了一个有向图搜索问题。离散图的最优路径搜索算法如迪杰斯特拉(Dijkstra)算法和A*(A-Star)算法等常被用于搜索路网图中最优的路径。
②行为规划。行为规划有时也被称为决策制定,主要任务是按照任务规划的目标和当前的局部情况(其他车辆和行人的位置和行为,当前的交通规则等),做出下一步无人车应该执行的决策,可以把这一层理解为车辆的副驾驶,他依据目标和当前的交通情况指挥驾驶员是跟车还是超车,是停车等待行人通过还是绕过行人等。
有限状态机是无人车行为规划实现的主流行为决策方法。该方法从一个基础状态出发,将根据不同的驾驶场景跳转到不同的动作状态,将动作短语传递给下层的动作规划层,图7.21是一个简单的有限状态机。每个状态都是对车辆动作的决策,状态和状态之间存在一定的跳转条件,某些状态可以自循环(比如7.21图中的等待状态)。
图7.21 有限状态机
③动作规划。通过规划一系列的动作以达到某种目的(比如说规避障碍物)的处理过程被称为动作规划。动作规划解决问题的核心理念是将连续空间模型转换成离散模型,具体的方法可以归纳为两类:组合规划方法和基于采样的规划方法。
组合规划方法通过连续的配置空间找到路径,而无需借助近似值,该方法被称为精确算法。这种方法通过对规划问题建立离散表示来找到完整的解,如在Darpa城市挑战赛中,CMU的无人车BOSS所使用的动作规划算法,他们首先使用路径规划器生成备选的路径和目标点,然后通过优化算法选择最优的路径。
基于采样的规划方法由于其概率完整性而被广泛使用,最常见的算法如随机路图和快速搜索随机树等。
4)控制
控制层作为无人车系统的最底层,其任务是将规划好的动作实现,所以控制模块的评价指标即为控制的精准度。控制系统内部会存在测量,控制器通过比较车辆的测量和预期的状态输出控制动作,这一过程被称为反馈控制。
PID算法是控制行业最经典、最简单而又最能体现反馈控制思想的算法。对于一般的研发人员来说,设计和实现PID算法是完成自动控制系统的基本要求。
课外拓展:PID算法
按偏差的比例、积分、微分进行控制的控制器称为PID控制器。模拟PID控制器的原理框图如图7.22所示,其中r(t)为系统给定值,c(t)为实际输出,u(t)为控制量。PID控制解决了自动控制理论所要解决的最为基本的问题,即系统的稳定性、快速性和准确性问题。调节PID的参数,可以实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力。同时由于在PID控制器中引入了积分项,系统增加了一个零积点,这样系统阶跃响应的稳态误差就为零。
图7.22 模拟PID控制器的原理框图
模拟PID的基本控制规律就可以表示为如下公式:
其中,kp为比例系数,Tt为积分时间,Td为微分时间。
●P项的计算(比例项)
此项的计算简单易懂,首先通过传感器获得控制对象的当前值(PV),一旦达到设定值(SV)的时候,即PV=SV,就使控制对象停止工作;若PV<SV就以最大功率工作。
若只以此项计算的值来控制控制对象,就会使控制对象只处于停止或最大功率工作两种状态。
●I项的计算(积分项)
将历史的当前值与设定值的差求和,就可以得出一个求和的值,再给求和的值乘以一个参数就能根据历史状态得出预测,用此预测就可以控制输出信号。输出信号的强度就好比速度v,对速度v在时间t上积分就得到行驶的总路程,用总路程的大小就可以预测接下来速度应大点还是小点。输出信号也一样,对历史偏差求和就可以预测输出信号的强弱。
●D项的计算(微分项)
继续使用速度v和时间t的例子,如果对速度v在时间t上求导,也就是微分,就能得到这段时间的加速度,根据加速度的大小就能预测速度的大小。D项的算法也是如此,对最近两段等时间内的当前值与设定值之差再求差,就是微分了,将得到的值乘以一个参数也能得到一个值,就是D项的值了。
将这3项的值相加,就能得到PID的完整值了。但实际应用中,也可以只使用其中的一项或两项。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。