第1章:自动驾驶概述
大家好,我是你们这门课的主讲人。在正式开始之前,我想先聊聊我自己的经历。我入行那会儿,自动驾驶还是个挺科幻的概念。记得2015年我第一次在测试场里看到一辆改装车能自己沿着车道线跑,那种兴奋感,到现在都还记得。但真正让我意识到这行水深的,是后来一次雨夜路测——传感器被泥水糊住,车辆直接“失明”了。嗯,从那以后我就明白,搞自动驾驶,光有算法远远不够。
这一章,咱们先不急着写代码。先把自动驾驶的“前世今生”捋清楚。你想想看,连敌人长什么样都不知道,怎么打仗?
1.1 发展历程:从梦想到现实
自动驾驶的发展,说白了就是一场“让车长眼睛、长脑子”的马拉松。
- 萌芽期(1920s-1980s):最早的概念车其实是用无线电控制的。真正有里程碑意义的是1980年代,卡内基梅隆大学的Navlab项目,用一台改装面包车实现了低速自主导航。我当时看论文时觉得,那会儿的计算机算力还不如现在一部手机。
- 技术积累期(1990s-2010s):DARPA挑战赛是催化剂。2004年第一届,所有参赛车辆全军覆没,最远的才跑了11公里。但到了2005年,斯坦福的Stanley就夺冠了。我有个同事当年就在那个团队,他说那会儿大家吃住都在实验室,就为了优化一个路径规划算法。
- 商业化爆发期(2010s至今):Google无人车项目(后来的Waymo)是第一个吃螃蟹的。接着特斯拉、百度、华为都杀进来了。我个人习惯把2016年看作分水岭——那年Mobileye的EyeQ3芯片开始大规模量产,L2级辅助驾驶才算真正落地。
核心观点:自动驾驶不是一蹴而就的。它经历了从“能跑”到“跑得稳”再到“跑得安全”的进化。我在项目中遇到过最头疼的问题,不是算法不先进,而是硬件可靠性跟不上。
1.2 SAE分级标准:别被“L3”忽悠了
SAE J3016标准,是行业里公认的“驾照”。它把自动驾驶分成了L0到L5六个等级。但说实话,很多宣传都在玩文字游戏。
| 等级 | 名称 | 核心特征 | 我踩过的坑 |
|---|---|---|---|
| L0 | 无自动化 | 驾驶员全权负责 | —— |
| L1 | 驾驶辅助 | 单一功能(如ACC、LKA) | ACC在弯道突然加速,吓我一跳 |
| L2 | 部分自动化 | 同时控制转向+加减速 | 系统退出时没提示,差点追尾 |
| L3 | 有条件自动化 | 特定场景下系统全权负责,但需要人类接管 | 我曾经测试L3时,系统在隧道里突然“甩锅” |
| L4 | 高度自动化 | 限定区域(ODD)内无需人类干预 | Robotaxi在施工路段直接“死机” |
| L5 | 完全自动化 | 任何道路、任何天气,无需人类 | 目前还没见过真家伙 |
避坑指南:我曾经被一个供应商忽悠,说他们的系统是“L3+”。结果一测试,发现所谓的“L3”其实就是L2加了个自动变道,而且变道逻辑极其保守。记住,SAE标准里没有“L2.5”或“L3+”,这些都是营销话术。
为什么会这样?因为L3是个“灰色地带”。系统要求人类在几秒内接管,但人一旦放松警惕,根本反应不过来。所以我个人建议,做量产项目时,要么老老实实做L2,要么直接冲L4。L3就是个坑。
1.3 关键技术栈:自动驾驶的“四梁八柱”
自动驾驶的技术栈,我习惯把它分成四层:感知、决策、控制、执行。每一层都有各自的难点。
1.3.1 感知层
说白了就是让车“看见”世界。主要传感器有:
- 摄像头:最便宜,但受光照影响大。我遇到过夜间逆光,摄像头直接“瞎”了。
- 激光雷达:精度高,但怕雨雪。有一次测试,激光雷达把雨滴误识别成了障碍物,车直接刹停。
- 毫米波雷达:不怕天气,但分辨率低。它能把路牌识别成车辆。
- 超声波雷达:近距离泊车用,远一点就没用了。
1.3.2 决策层
这是“大脑”。包括行为预测、路径规划、行为决策。举个例子,前车突然刹车,你是跟着刹还是变道?决策层要权衡安全、效率、舒适性。我见过一个算法,为了追求“绝对安全”,在高速上频繁刹车,结果被后车追尾了。
1.3.3 控制层
这是咱们这门课的重点。控制层把决策层的指令(比如“左转30度”)转化成具体的油门、刹车、转向信号。常用的有PID、MPC、LQR等算法。我刚开始做控制时,总觉得PID太简单,非要上MPC。结果调参调了两个月,最后还是用PID解决了问题。嗯,这里要注意:算法不是越复杂越好,适合场景才是王道。
1.3.4 执行层
线控底盘、转向机、制动系统。这部分往往被忽视,但恰恰是事故高发区。我曾经遇到过,控制算法算好了,但执行器响应延迟了200ms,结果车直接冲出了车道。
个人经验:做控制算法开发时,一定要先搞清楚执行器的延迟特性。我建议在仿真环境里先跑一遍“硬件在环”测试,否则实车调试时你会哭的。
1.4 行业挑战:理想很丰满,现实很骨感
说了这么多,咱们也得面对现实。自动驾驶行业目前面临三大挑战:
- 长尾问题:99%的场景都能处理,但剩下的1%才是杀手。比如路上突然出现一个掉落的轮胎、施工路障、动物横穿。我统计过,我们团队70%的测试时间都花在了这些“边缘场景”上。
- 安全验证:怎么证明你的系统比人类司机安全?Waymo说他们的系统事故率比人类低,但测试里程才几千万公里,统计学上还不够显著。你想想看,要证明系统比人类安全一个数量级,需要跑多少公里?答案是几十亿公里。
- 法规与责任:出了事故,是算法工程师的责任?还是车厂的责任?还是车主?目前全球都没有统一的法律框架。我有个朋友在德国做L3测试,光是法律合规就花了两年时间。
好了,这一章的内容就到这里。咱们把自动驾驶的“骨架”搭起来了。下一章,我会带大家深入控制算法的核心——从PID到MPC,咱们一步步来。记住,搞自动驾驶,心态要稳,步子要实。别被那些“L5明年落地”的新闻带偏了。