⚡ 速读摘要
- openpilot是开源自动驾驶系统,可将普通汽车升级为半自动驾驶
- 仅需约4000元硬件成本,就能让300多款车型实现车道保持、自动紧急制动等功能
- 核心感知仅靠7颗摄像头,不依赖激光雷达,靠纯视觉算法打天下
- 由传奇黑客George Hotz创立,代码全开源,接受全球开发者贡献
- 与特斯拉FSD相比差距明显,但在后装市场、学术研究领域有独特价值
深夜11点,加州某个不起眼的车库里,乔治·霍兹盯着电脑屏幕上跳动的代码。这是2015年秋天,距离他解锁第一部iPhone已经过去8年。旁边停着一辆本田思域,车顶装着一个奇怪的装置——那是他自己改装的自动驾驶测试平台。
没人能想到,这个当时看起来像是疯子实验的项目,会在几年后成为一个拥有6万多星、覆盖300多款车型的开源自动驾驶操作系统。霍兹管它叫openpilot。
你可能会问,市面上有特斯拉,有Waymo,有百度Apollo,一个开源项目凭什么跟这些巨头同台竞技?说实话,这个问题困扰了我很久。当我深入研究它的代码、架构和社区生态之后,我发现自己对「自动驾驶」这件事的理解被彻底颠覆了。
1. openpilot是什么

图示:1. openpilot是什么
简单来说,openpilot就是一个运行在消费级硬件上的自动驾驶系统。它不是给你装在新车里的原厂配件,而是一套可以后期加装在现有车辆上的后装解决方案。
这个项目的官方描述是「an operating system for robotics」,一个机器人操作系统。这个说法很有趣——它把自己定位成一个操作系统,而不是一个单纯的驾驶辅助功能。背后隐含的意思是,它的设计初衷是做一个通用的机器人控制框架,只不过恰好先在汽车上落地了。
openpilot的核心功能包括:
- 自适应巡航(adaptive cruise control)
- 自动变道辅助(automated lane changing)
- 交通标志识别(traffic light recognition)
这些功能听起来和特斯拉的Autopilot很像,但实现路径完全不同。
目前openpilot官方支持300多款车型,这个数字本身就很惊人。要知道,传统车企的ADAS系统都是定制开发的,每款车都要单独标定。而openpilot用同一套代码框架适配了这么多车型,靠的是一套叫openpilot porting的标准化接口。任何人都可以通过编写车辆特定的代码,让openpilot跑在新车型上。
这套系统的硬件核心是一个叫comma two或者comma three的设备,本质上是一台预装了openpilot软件的小型计算机,配上必要的传感器。comma three的售价是1999美元,加上安装支架等配件,整套下来大约4000元人民币左右。
等等,4000块就能让你的车拥有自动驾驶能力?我知道你在想什么,这听起来像是智商税。但让我告诉你背后真正在发生什么。
2. 一个黑客的理想主义

图示:2. 一个黑客的理想主义
要理解openpilot,你必须先理解乔治·霍兹这个人。
2007年,17岁的霍兹破解了第一部iPhone,在极客圈一战成名。他发明的软降级方法让无数用户摆脱了AT&T的网络锁,至今仍在被使用。两年后,他又破解了索尼PlayStation 3,引发了一场持续多年的法律诉讼。
这些事迹让他成为黑客文化中的传奇人物,但霍兹并不满足于此。在接受采访时,他说过一句让我印象深刻的话:「我不想只是破解别人的系统,我想建造自己的东西。」
2015年,特斯拉Model S的Autopilot功能刚刚推出。霍兹买了顶配Model S,花了几个星期研究它的代码。某天他突然宣布,他要用一个iPhone 6的处理器、一个摄像头和几百行代码,在自己的本田思域上复现Autopilot的核心功能。
这个宣言震惊了整个行业。自动驾驶被视为人工智能的圣杯,汇集了数十亿美元的研发投入和最顶尖的工程师团队。一个黑客说自己能用几千美元和几周时间做出类似的东西,听起来像是天方夜谭。
但霍兹是认真的。
他真的做到了。2016年,他成立comma.ai公司,开始认真做自动驾驶系统。公司的早期产品是一款叫comma one的设备——本质上就是那套破解版Autopilot的硬件产品化版本。
然而,美国高速公路交通安全管理局(NHTSA)对这款设备产生了浓厚的兴趣。他们担心后装ADAS设备可能会干扰车辆安全系统,要求comma.ai提交详细的安全评估报告。
霍兹做了一个让所有人都震惊的决定:他公开怼回去,说监管机构的要求「愚蠢至极」,然后直接在GitHub上开源了所有代码。他说,既然政府想要审查,那就让全世界一起来审查。
2016年10月,openpilot正式开源。
这是一个标志性时刻。在此之前,自动驾驶技术被各大公司严防死守。Waymo、Uber、通用Cruise、特斯拉——每家都把自动驾驶代码视为核心机密。而openpilot打破了这一切,它证明了自动驾驶不需要数十亿美元的投入,不需要几百人的团队,一小群聪明的工程师加上开源社区的力量,就能做出可用的产品。
当然,这里有个重要的限定词——「可用的」。openpilot和特斯拉FSD之间的差距,大概相当于你和F1赛车手的差距。但关键是,霍兹证明了这件事在原理上是可行的,而且可以走开源路线来做。
3. 技术架构:纯视觉的叛逆
openpilot最激进的技术选择,是坚持纯视觉感知方案。
目前主流的自动驾驶系统,无论是Waymo的Robotaxi还是华为的ADS 2.0,都依赖多传感器融合:激光雷达负责精确测距,毫米波雷达补充恶劣天气下的感知,高精地图提供先验知识。而openpilot的核心感知硬件,只有7颗摄像头。
这个选择充满争议。特斯拉也走纯视觉路线,但特斯拉有海量的真实驾驶数据、有自研的FSD芯片、有数十亿美元的训练预算。openpilot凭什么?它怎么解决极端天气、遮挡、光照变化这些视觉感知的难题?
答案是,它没有完全解决。
openpilot在雨雪天气、夜间、或者路面标线不清的情况下表现会明显下降。这不是openpilot独有的问题,而是整个纯视觉路线的固有问题。特斯拉的解决方案是依靠海量数据驱动的端到端神经网络,用足够多的样本覆盖各种场景。openpilot的策略则更务实——它不追求覆盖所有极端情况,而是在系统层面做了严格的功能边界限制。
你会在openpilot的文档里看到大量关于「OOC」(脱离控制)的说明。简单来说就是,当系统检测到无法处理的场景时,会立即警告驾驶员接管。这种保守的策略牺牲了体验的流畅性,但极大提高了安全性。
openpilot的感知系统叫做Supercomma,它是一个多任务神经网络,同时输出车道线检测、前车位置、障碍物边界、交通标志等多种信息。Supercomma基于开源的OpenCV环境开发,使用PyTorch进行训练。这种选择让研究者和爱好者可以方便地进行二次开发,但也在性能上做出了一定牺牲——商业公司通常会使用TensorRT等推理优化工具,而openpilot更多考虑的是通用性和可修改性。
感知之后是控制。openpilot使用了一套叫「模型预测控制」(Model Predictive Control,MPC)的经典控制理论框架。MPC的核心思想是,在每个控制周期内,系统会预测未来一段时间的行为轨迹,然后选择最优的控制输入。
这套方法在自动驾驶控制领域是标准做法,但openpilot的实现有其独特之处。它把控制逻辑分成了两层:上层的路径规划器和下层的车辆控制器。路径规划器负责决定「往哪里走」,车辆控制器负责执行「方向盘转多少度」。
有意思的是,openpilot对不同车型的适配就发生在控制层。每个车型的动力学特性不同,方向盘的转向比不同,加速度响应的曲线不同,这些差异都封装在车辆特定的控制器里。这种设计让核心算法保持通用,只需要在适配层做参数调整就能支持新车型的想法成为可能。
4. 为什么开源比闭源更安全
你可能觉得开源自动驾驶系统很危险——代码暴露给所有人,包括恶意攻击者。这是个合理的担忧,但让我解释为什么事实恰恰相反。
首先是代码审查。openpilot的代码库有超过6万颗星,这意味着全球数万名开发者可以审查每一行代码。任何安全漏洞都很难长期隐藏。这和商业软件形成鲜明对比——商业软件的漏洞通常只有被发现后才被修复,而开源软件的漏洞往往在造成危害之前就被发现和修复。
其次是透明度。自动驾驶系统涉及生命安全,用户有权知道系统到底在做什么、怎么做的。openpilot的每一个决策都可以被追溯和分析,这在发生事故时是宝贵的证据。而特斯拉的「黑盒」系统至今仍在争议中,事故后车主和特斯拉各执一词,根本原因是外人根本无法验证系统的决策逻辑。
更重要的是,openpilot社区形成了有效的反馈闭环。全球用户在各种路况、各种车型上测试系统,报告问题,提交修复。2017年,有用户发现openpilot在某些弯道会突然退出控制,开发者分析日志后找到了原因——弯道内侧车道线被误判为障碍物。修复后,系统在所有弯道的表现都有了提升。这种规模的真实场景测试,是任何公司内部团队都难以复制的。
当然,这并不意味着openpilot没有缺点。
5. 它和特斯拉Autopilot的差距有多大
这是很多人关心的问题。我的回答是:差距很大,但维度可能和你想的不一样。
openpilot支持的功能比特斯拉Autopilot少很多。特斯拉有红绿灯识别、自动泊车、智能召唤、城市街道FSD,这些openpilot都没有或者体验很初级。从用户体验看,特斯拉的交互设计成熟度高很多,系统对驾驶行为的预测和响应更平滑。
特斯拉FSD的神经网络是在数百万真实驾驶视频上训练出来的,而openpilot的模型规模要小得多。特斯拉的影子模式可以收集数十亿英里的真实驾驶数据用于迭代,openpilot做不到这一点。
但这里有个微妙的地方——差距并不体现在「能不能用」上。对于车道保持、自适应巡航这些基础功能,openpilot的表现在很多场景下和特斯拉Autopilot是可以一战的。差距主要体现在「用得多爽」上:特斯拉的系统更少需要接管,更能应对复杂场景,边界处理更优雅。
我见过一些openpilot用户的评价,很多人表示在高速长途驾驶中,openpilot大大减轻了疲劳感。虽然不能完全信任它,但它确实是一个有用的助手。这种评价和特斯拉Autopilot用户的评价惊人地相似。
另一个有趣的维度是定制性。openpilot的代码完全开放,用户可以根据自己的需求修改任何部分。有用户为特定路段写了自定义的控制策略,有研究者把openpilot的控制输出接入自己的决策系统,甚至有赛车爱好者基于openpilot开发了赛道自动驾驶程序。这种自由度是任何商业产品都无法提供的。
6. 谁应该用openpilot
说了这么多,到底谁适合用openpilot?
第一类是技术爱好者和开发者。openpilot是最好的自动驾驶学习平台之一。它的代码质量在开源项目中属于上乘,文档相对完整,社区活跃。你可以把它当作教科书级别的参考实现,理解自动驾驶系统的各个组件是如何协同工作的。
类是预算有限但想体验辅助驾驶的用户。相比于特斯拉的完整FSD套餐(国内售价数万元),openpilot的硬件成本低了一个数量级。当然,你需要自己安装,需要一定的动手能力,但它确实让更多人有机会接触自动驾驶技术。
类是研究者。学术界对openpilot的追捧程度超出我的预期。很多大学的研究团队用openpilot作为实验平台,因为它提供了完整的感知-决策-控制链路,而且支持多种车型。研究者可以在openpilot的基础上快速验证自己的想法,不用从零开始搭建整个系统。
类是自动驾驶行业的从业者。即使你工作在Waymo、百度或者华为,了解开源社区在做什么也是有价值的。openpilot展示了如何用有限资源做出可用的产品,它的架构设计思路、模块划分方式、对复杂度的控制策略,都值得学习。
不过我也要提醒几类人慎重考虑:
如果你追求的是「完全不用操心」的自动驾驶体验,openpilot会让你失望。它不是那种可以完全放手不管的系统,你需要始终保持注意力,随时准备接管。
如果你对汽车改装完全陌生,动手能力很差,安装过程可能会让你崩溃。openpilot官方有详细的教程,但实际操作中会遇到各种意想不到的问题。
如果你所在地区支持的车型很少,那openpilot的价值就大打折扣。官方支持300多款,听起来很多,但考虑到全球数以万计的车型,这个覆盖率仍然很有限。
7. 怎么开始
如果你决定试试openpilot,有几条路径。
省事的方式是购买comma官方的硬件设备。comma three是目前最新的产品,预装了openpilot,开箱即用。官方设备的优势是兼容性有保证,不用担心各种奇怪的bug。缺点是价格相对较高,而且国内购买渠道有限。
如果你有一定技术基础,可以考虑自己组装。openpilot社区有大量第三方硬件方案的讨论,包括各种单板计算机、摄像头、CAN总线接口板的组合。这种方式成本可能更低,但需要花时间调试。
不管哪种方式,第一步都是去官方文档网站看安装指南。openpilot的文档质量相当不错,从硬件准备到软件安装到校准流程,都有详细说明。建议从头到尾读一遍,不要跳过任何章节。
学习代码的话,推荐从以下几个入口点入手:
selfdrive/modeld/ 下的神经网络模型相关代码selfdrive/carbook/ 下的车型适配代码
openpilot社区的主要交流平台是Discord和GitHub Discussions。Discord适合问快速问题,GitHub适合讨论有深度的技术话题。社区整体氛围比较友好,技术讨论占主流。
8. 它的未来在哪里
自动驾驶行业正在经历一场深刻的变革。端到端神经网络正在取代传统的模块化架构,特斯拉FSD V12已经展示了纯端到端方案的可行性。这种趋势对openpilot既是挑战也是机遇。
挑战在于,如果自动驾驶的核心变成了大规模数据和算力的竞争,开源小团队的劣势会更加明显。openpilot很难在端到端模型的规模上和特斯拉、Waymo正面竞争。
机遇在于,端到端方案的一个问题是可解释性差、调试困难。openpilot的模块化架构在这一点上反而有优势——出了问题更容易定位,改进也更有针对性。
从商业模式看,comma公司正在探索软硬件结合、数据服务等多元化收入来源。openpilot的开源版本保持免费,但公司提供付费的「增强」功能,比如更高级的驾驶模式、优先的车型适配等。这种模式在开源软件界很常见,既保持了开源的生态活力,又给公司提供了生存空间。
法规方面,openpilot的存在给监管机构提出了新课题。当驾驶辅助系统的代码完全透明、任何人都可以修改安装时,传统的产品认证模式还适用吗?comma公司曾经和NHTSA的冲突,揭示了这个问题的复杂性。未来可能会有专门针对后装ADAS设备的监管框架出台。
还有一个有意思的方向是社区化运营的自动驾驶地图。openpilot目前主要依赖车载传感器的实时感知,但如果社区用户能够贡献道路信息、高精地图数据,就能形成类似维基百科的知识库。这个方向已经有了一些尝试,但规模还很小。
写到最后,我突然意识到,openpilot最让人着迷的地方,可能不是它的技术,而是它代表的理念。
它证明了自动驾驶不需要被少数大公司垄断。它证明了代码透明比黑盒更安全。它证明了即使资源有限,一小群人也能做出有价值的产品。在一个越来越封闭、越来越中心化的技术世界里,openpilot像是一个固执的异类,坚持着互联网早期的开放精神。
当然,它能不能成功,能不能真正改变自动驾驶行业的格局,现在还言之过早。但至少,它给了我们一个不同的选择。
下次当你在高速上开着定速巡航,感到疲惫的时候,可以想想:在地球另一端,一个黑客车库改装的系统,正在让三百多种车型的驾驶变得更轻松一点。这件事本身,就挺有意思的。
数据来源 HotGit(https://www.hotgit.org)