【01】什么是无人驾驶
1.为什么需要无人驾驶
传统驾驶安全隐患很多: 全球每年有超过100万人死于交通事故,与人类驾驶员相比,无人驾驶有很多优势,比如无人驾驶不会疲劳、不会酒驾、也不会分心。
驾驶学习周期长: 人类开车需要学习,而无人驾驶并不都需要经历从0到1的学习过程。特别是一些大型车辆或特种作业设备,学习成本更高。
资源浪费严重: 停车资源的稀缺让我们每次停车都需要不断的找车位,如果普及了无人驾驶,就可以像共享汽车那样使用车辆,可以降低交通资源的占用。
等等。
2.无人驾驶的等级
•Level 0:驾驶员是唯一的决策者和控制者。•Level 1:Driver Assistance,在该等级中,车辆为驾驶员提供转向或加速支持,例如巡航控制。在该登记中,驾驶员要保持充分的参与,但可以放弃对自治系统的一些控制。•Level 2:Partial Automation,在该等级中,车辆会自动控制一些功能,如自动巡航控制和车道保持,在该等级中,驾驶员需要执行自治系统处理的任何功能。•Level 3:Conditional Automation,车辆自主驾驶,但是驾驶员必须在必要的时候随时接管。•Level 4:No Human Interference,在该等级中,车辆控制、驾驶体验的所有方面都不期望驾驶员的介入,在该等级下,车辆可以没有方向盘、油门刹车等任何驾驶员控制的装置,但是在该等级下,车辆的行驶区域可能会收到一定的限制,这个限制范围我们通常称之为“地理围栏”。车辆可以在地理围栏内完全自主的有运行,在围栏之外无法工作。•Level 5:Full Automation,在该等级中,车辆可以到达人类驾驶员可以前往的任何区域且可以自主的运行,在该等级下,无人驾驶能力应该和人类驾驶员的水平一样甚至更高。
3.无人驾驶由什么组成
无人驾驶车辆包含五个核心部件:
•Computer Vision:计算机视觉,是指过摄像头的图像,去感知车辆周围的环境到底是怎么样的。•Sensor Fusion:传感器融合,是指合并来自于其他传感器的数据,例如激光雷达(Lidar)、毫米波雷达(Radar)等,通过感知合并,更加深入的了解周围的环境。•Localization:定位,是指根据感知到的各种信息确认我们的位置,这里不止我们最了解的GPS,还包括感知融合到的信息。•path Planning:路径规划,在了解了周围环境和当前位置的情况下,就可以做路径规划了。•Control:控制,在有了路径规划之后,我们就可以来控制车辆前往我们规划好的目的地了。
3.1 计算机视觉
我们先来看一张图:
这是一个车道线识别的例子,通过寻找颜色、边缘以及渐变色,从而定义了这条公路上的车道线。
算法工程师们根据深度学习网络创建了车道线检测模型后,只要根据感知数据发送大量的数据,就可以识别出车道线。
3.2 传感器融合
通过计算机视觉我们可以检测到车道线,其实除此之外,我们还能检测到道路上的车辆,但是这些信息是不足的,因为我们虽然得到了车道线、车辆等内容,但是很难判断目标物体的速度、体积等信息。这时候就可以使用激光雷达等其他的传感器进行识别。
来看下边这张图:
这是一张激光雷达识别的结果,而我们的传感器融合能力就是将不同的传感器识别到的内容进行组合,最终得到了我们周围更加详细的环境的信息。
3.3 定位
得到了环境信息之后,我们就可以考虑我们当前的位置了,提到定位我们首先想到的就是GPS,但是GPS的定位误差可能会有几米,我们经常通过手机看到自己的定位莫名其妙的出现在马路旁边的河里等,几米的距离对于行人而言可能不算什么,但是对于车辆来说,一米的误差都有可能酿成事故,所以无人驾驶的Localization能力绝不是GPS定位这么简单。
我们可以想象,对于车辆而言,定位的精度至少是厘米级别的,这就要求我们需要用更复杂的算法来实现高精度的定位。除了GPS定位,我们常见的还有IMU进行定位辅助,GPS定位的频率通常为10Hz,IMU定位的频率在100Hz,刚好两次GPS的定位之间会有10次IMU定位的修正。除此之外,车辆的定位还需要依赖高精度地图,车辆在行驶的过程中,会实时检测周围的物体,一些静态的物体就是我们高精度地图中需要标记好的物体,例如我们当前检测到距离前方的路灯、右边的井盖,左边的马路牙的距离,而路灯、井盖、马路牙的位置是已经在高精度地图内标记好的,那么这时候,就可以根据自身距离这些静态物体的距离来计算出自身的具体的定位。
3.4 规划
当我们知道了我们的环境和我们当前的位置后,就需要进行规划我们应该如何行驶到目的地了。
先看看这张图,黑色轿车前方的绿色线条就是这辆车即将行驶的轨迹。该轨迹是根据之前的感知结果进行计算得到的,这条轨迹将包含行驶路径、速度、加速度等更多内容。
可以想像,如果为了能有更好的驾驶感受,那么就要综合考虑自身周围所有车辆的状态,并对他们进行预测,这样才能输出准确有效的行驶轨迹。
通常路径规划出了上图中看到的,其实还有宏观的路径规划。例如我们现在从奥体中心出发要去西湖,那么根据路况等我们会规划出一条合理的路线,例如从文一西路出发文二路右拐等等,这条路线是我们车辆到达目的地的基础规划。在此基础上,我们的车辆到底应该行驶在哪条车道线,在什么时候进行变道,保持怎么样的速度,这就是局部的规划,也就是上边我们看到的那张图片的内容。
3.5 控制
到了最后,万事俱备,就到了控制环节了。所谓控制就是我们应该如何转动方向盘、转动的扭矩是多少,如何控制油门刹车,保持多快的速度、保持怎么样的加速度等,通过规划好的控制方式,来抵达我们的目的地。
当然了,控制并非实现一系列操作就可以了,我们想象一下,我们自己开车的时候科目二有一项测试是S型路线,我们希望我们可以驾驶出一条完美的S型路线,但往往因为各种原因这并不是一件很容易实现的事情,对于无人驾驶来讲也是一样的,因此我们需要实时对车辆的行驶状态进行分析和预测,并对规划做出实时的调整。