查看原文
其他

我所经历的自动驾驶

王建硕 王建硕 2022-05-19

特斯拉作为一个玩具,最好玩的就是宣称的自动驾驶。我的结论:特斯拉现状是把市面上已经有的大多数辅助驾驶做得最精致的,但以现状而言,并没有太多的突破


关于自动驾驶


特斯拉的市场宣传不错,把很多的车已经用了十几年的技术增强了,换了个名字就好高级的样子。但这些技术大多是已经比较成熟的技术。什么事情都怕拆解,拆解了就能还原技术的来龙去脉。我们就拿丰田的好几年前的车型做比较好了,发现特斯拉的技术都能找到踪迹,并且都在很多年前开始商用。即便如此,我认为特斯拉比我尝试过的其他的辅助驾驶功能已经升级了一大步了。说明 1)市场营销很重要 2)95%的好和99%的好已经不是一样东西了。


我们来拆解一下,梳理一下我们所知道的辅助驾驶的发展路径。


自动定速巡航( Cruise )



这是最简单的,现在基本上是所有的自动档汽车的标配。在高速上设定个速度,车子自动加油门,保证速度一直保持在设定的速度。


但这个功能我其实用的很少,原因是还是需要管着刹车,前面有辆慢车,就得调整了。但有趣的是,这样的技术从1900年开始就有,现代的定速巡航是在1950年代成熟,而中国的车子,是到了最近的10年才开始变成标配的。这又是一个从技术可能性到实际应用经历半个世纪之久的例子。


我大学是学习自动化专业的,记得《自动控制理论》课堂很靠前面的时候讲的就是用 PID 控制器做自动巡航定速的例子。其他我都忘得差不多了,但是感觉这东西,哪怕不用任何数字的计算机,就拿电容和电阻我记得就能焊一个出来。


最简单的 P(等比)控制器,把当前速度和设定速度的差反馈给油门,就基本上可以实现了,就跟洗热水澡冷了就往热方向转水龙头,热了就反着转就好了。高级一点的再加上个 I 积分控制器,就是把差值的时间累积再反馈回去,避免上坡或者有阻力的时候永远也达不到设定值的问题,再高级一点的再加上一个 D 微分控制器,把速度变化对时间做一个微分,感知一下瞬间的变化,使得反应更加灵敏,可以提前反应而不用已经出现很大的差异的时候再反应。然后调整一下这三个输入的权重以后加和,然后给到油门就结束了。我一点都不惊讶这东西20世纪初就做出来了。


当然,现在的定速巡航不是这么简单的,也不是模拟电路的,但意思差不多。


ACC ( Adaptive Cruise Control )


这个是自动巡航定速的自然的加强版本。很多品牌的车子都可以选装的(在美国市场基本上是标配的)。这个就是自动巡航定速加上了一个前面的雷达来判断一下前面有没有车子,如果有,就减速,减到和前面的速度一致,然后还能保持一定距离。这个是 1990 年代奔驰就有的技术,现在也已经成熟了。


我一直认为,一个 ACC 已经满足我 70% 的自动驾驶需求了。在高速上,我经常找到一辆车,然后启动 ACC , 就如同抛出了一个带绳子的钩子,挂在前面的车的后保险杠上,被拖着走。自己变成了一列火车的一节车厢。这下子刹车和油门在正常路径上可以松懈了。我能想象的自动驾驶的未来,很有可能是一辆车拽着前一辆车,像一列火车一样,一起加速,一起减速。只有最前面的那辆由一个苦哈哈的人在开。在汽车之间的通讯还没有建立之前,雷达检测前车是一个很通用的方案。


但有些 ACC,比如 Toyota 的,在慢速的时候(30km/h 以下)就嘀嘀嘀叫一下,然后就把控制权交给人了,相当烦人,说明技术在低速的复杂环境中没有信心。而 Tesla 总算是通过技术提高,让自己在低速的时候依然有信心停止-启动。这个过程就跟95%的车牌识别率不能用,99.9% 以上就立刻可用一个道理,从量变到了质变。


车道偏离警报 LDA (Lane Departure Alert)


丰田叫 LDA,宝马叫LDW(Lane Departure Warning),奔驰叫 Active Lane Keeping Asisstant。。。为啥汽车行业大家都喜欢发明新的词,称呼相同的东西呢?这些,基本上是特斯拉的辅助驾驶的简易版本。这些都是感知车道的,只有在偏离车道的时候,才会从亮灯,嘀嘀叫,到帮忙打一下方向盘,或者在车的单边轻轻刹车一下的方式,提醒司机,或者把车再带回原来的路上。


这也是大约十年的老技术了,应该也比较成熟了。但这个肯定不能当作日常功能使用,用的时候有一种在左右两个马路牙子中间开车的感觉,左撞一下,右撞一下,体验极为惊栗,仅仅是在危险已经发生的时候提示的作用。


车道保持 LTA(Lane Trace Assist)



这个是 LDA 的很自然的升级,就是不等撞到车线上虚拟的马路牙子,就开始施加细微的控制,保持车在车道中间。


这个在 LDA 的技术的基础上很容易想得明白。这个算是新技术了。这个依然不叫自动驾驶,还是自动辅助驾驶。


使用这个功能的时候,感觉自己的车开始从汽车变成了火车,可以明显的感觉到车道中间有一个跟铁轨一样的东西,自己的车是沿着一个车辙在往前行动。自己的方向盘从无级转向变成了有级转向,能感觉到在车道中间的地方一个阻尼,需要加一些力气才能向左或者向右偏离,就好像从一个车辙里面开出来的感觉,而只要不施加主动的力量,方向盘就如同带地弹簧的玻璃门一样,有个固定的位置。


这个功能也还挺好用的,对于我的帮助是,我发现了以前我开车习惯性的向左偏,总走在车道的偏左边。每次打开车道保持,车子会猛的向右打一下方向盘,我就知道我又偏在左边了。


我们还没有进入自动驾驶


到这里以前的功能,其实就是标准的六层自动驾驶分层模型中 L1 级别的自动驾驶该有的功能。我看了一下列表,如上功能,到了2020年出产的几乎所有主流厂商都有相应的车型支持。其中最有标志性的就是 ACC 和 LTA 。


形象的来讲,适应定速巡航 在帮你控制刹车和油门, 车道保持 帮你 控制方向盘。所以到这一步,Tesla 或者其他电动车还并没有从功能上有特别之处。但是 Tesla 在功能的 “性能” 上,就我以前开过的各种驾驶辅助功能来说,还是不错的。它的 ACC 是从 0 km/h 到高速度都是可以工作的,它的 LTA (它叫做自动辅助驾驶)也是很稳定,即使在小路上,车道有些断续的时候依然工作良好。


自动辅助导航驾驶


导航两个字就划分了一个时代。


再往后,其实就进入了自动驾驶的深水区了。而直到这一项实现,我们日常常说的“自动驾驶”才算真的实现。而现在,大家离这里还有一段距离。特斯拉的“自动辅助导航驾驶” (Navigation on AutoPilot)  还有蔚来的 NOP 也都在实验中,但是还没有成熟到推向大众市场。


在我自己使用前的任何根据报道的评测并不给这个社会增加价值,就先到此打住吧。期待据说下周开始推送的 FSD 的能有一些可以接触到的飞跃。


自动驾驶让汽车变成未来的 IP 包


有了导航,车就在抽象模型中提升了一个层次,开始有了出发地和目的地的概念, 而把这期间的全都封装和抽象了,让我们不需要去管这些实现细节,只需要告诉他从哪里到哪里。


用一个让非互联网工程师更加迷惑的比方,我觉得在七层网络协议中,没有辅助驾驶的传统的车工作在物理层,现在的有辅助驾驶的特斯拉工作在数据链路层,只有实现了自动导航驾驶(FSD)的特斯莱才可以工作在网络层,就如同一个 IP 包一样,给定一个 IP 地址就自己路由过去了,自动驾驶出租车工作在传输层。总有一天,我们可以把集装箱的概念和自动驾驶的概念结合,像使用互联网一样的使用汽车,把一个包裹,或者自己,交给一个巨大的网络。各种服务提供商运营着各种独立的小车,各个小车独立的把货物或者我们自己路由到应该到的地方,然后还能完成组装,直到那个时候,我觉得一个工作在应用层的物流互联网络才最终建成。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存