6.2 万 Star 的 openpilot,给 300 多辆车开了同一个「辅助驾驶系统」

发布于 2026年06月28日 20:32 #DevOps#Github 解读 原文链接

6.2 万 Star 的 openpilot,给 300 多辆车开了同一个「辅助驾驶系统」 封面图
  • 定位为L2辅助驾驶系统,司机必须全程监控,非自动驾驶
  • 支持300多款车型,通过硬件升级老车辅助驾驶能力
  • 安全模型遵循ISO 26262和MISRA C,严格限制执行器动作
  • 商业模式为MIT开源软件+售卖硬件和数据服务
  • 注意事项包括非自动驾驶、非即插即用、默认上传数据、维护门槛高

先纠正一个最常见的误解。

很多人第一次听到 openpilot 这个名字,第一反应是,开源的自动驾驶。脑子里马上浮现那种,装个手机就能让车自己跑的科幻场景。

不是的。

它自己也在 README 和 SAFETY.md 里反复强调,openpilot 是一个 L2 级别的辅助驾驶系统(Adaptive Cruise Control + Automated Lane Centering),司机必须全程盯着路。它解决的不是「让车自己开」,而是「让市面上一堆老旧车型的辅助驾驶,统一升级到一个能用的水平」。

这个定位看似保守,但它恰恰是这个项目活下来的关键。截止 2026 年 6 月 28 日commaai/openpilot 在 GitHub 上有 6.2 万 Star,1.1 万 Fork,最近一次 release 是 6 月 5 日的 v0.11.1。从 2016 年 11 月立项到现在,它已经跑了将近十年。

十年,在自动驾驶这个烧钱如流水的赛道里,是一个很夸张的数字。

它真正解决的,是「老车没好功能」这件事

openpilot 的核心卖点,一句话能说清。

你有一台 2017 年的丰田凯美瑞,原厂的 ACC 跟车还行,但车道保持时画龙,红绿灯前不动,高速匝道更是不敢指望。换车?太贵。于是 comma 这家公司做了一件事,卖你一台叫 comma four 的硬件(199 美元起),插上一个 car harness,连到你车的 OBD 接口,刷上 openpilot,这台老车的辅助驾驶能力就被拉到了一个相当能打的水准。

而且它不是只支持一两款车。

它的 CARS.md 里列了 300 多款支持车型,覆盖丰田、本田、现代、起亚、特斯拉、大众等一众品牌。这才是这件事最狠的地方。每款车的 CAN 总线协议都不一样,转向扭矩、刹车信号的边界都不一样,把 300 多款车一家一家适配出来,这是硬功夫。

你想想看,这背后的工程量有多大。这不是写个网页 demo,这是要让一辆一吨多的铁疙瘩,在 120 公里时速下听话地待在车道里。

安全,是这个项目最不能开玩笑的部分

我读完它的 SAFETY.md 之后,最大的感受是,这个团队对「安全」两个字有一种近乎偏执的敬畏。

辅助驾驶软件一旦出事,是会死人的。所以 openpilot 的安全模型不是嘴上说说,而是一整套被工程化的约束。

它遵循 ISO 26262 这套汽车功能安全标准,安全相关的代码部分(在 panda 这个独立仓库里)用 C 写,并且强制套用 MISRA C 2012 这种车规级编码规范。光是这一条,就把绝大多数业余玩家挡在了门外。

它还做了 Hazard 和 Risk Analysis、FMEA 失效模式分析,最后提炼出两条铁律。

第一,司机必须随时能立刻接管,踩刹车或者按取消键,系统必须立即让权。

第二,车辆不能以超过人类反应速度的方式改变轨迹。也就是说,当系统激活时,转向和刹车的执行器被严格限制在一个「人类来得及救回来」的范围内。具体到横向控制,它遵守 ISO 11270 和 ISO 15622,把最大作动限制在 0.9 秒内最多产生 1 米的横向偏移。

这两条不是拍脑袋定的,是血的教训换来的车规共识。

测试方面它也堆得很厚。每次 commit 都跑软件在环测试(software-in-the-loop),panda 还有硬件在环(hardware-in-the-loop)测试,内部甚至有一个塞满 10 台 comma 设备的「测试柜」,24 小时不间断地回放真实路况。

对一个开源项目来说,这个测试密度已经接近正经车厂了。

一个开源项目,是怎么跑到十年还没死的

我比较好奇的是,自动驾驶这个领域,大公司砸几十亿美金都未必跑出来,一个开源项目凭什么活十年。

答案藏在它的商业模式里。

openpilot 本身是 MIT 协议,完全开源免费,任何人都能 fork、能改、能装到自己的硬件上跑。comma 这家公司不靠卖软件赚钱,它靠卖硬件(comma four)和卖数据服务(comma connect)赚钱。软件开源是为了把生态做大,硬件销量自然就上去了。

这是一个很聪明的结构。

因为自动驾驶最难的不是软件,是数据和车型适配。软件一旦开源,全球的极客车主都会来贡献自己车型的 CAN 协议、来报 bug、来做 fork。comma 相当于用开源换来了一个免费的、分布式的测试和适配大军。它官网上明晃晃写着,招人,还有给外部贡献者的 bounty 悬赏。

这种「软件开源 + 硬件变现」的模式,在 AI 和机器人圈越来越常见,但 openpilot 是把它执行得最彻底的之一。

它不是什么,得提前说清楚

聊到这我得诚实一点,这个项目不是万能的。

首先,它不是自动驾驶。README 里那句大写的 「THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY」 不是吓唬人,是法律意义上的免责声明。你装了它,出了任何事,责任全在你自己。在很多国家和地区,改装车辆辅助驾驶系统还涉及法律合规问题,这是你自己要查清楚的。

其次,它不是即插即用到所有车。300 多款车型虽然不少,但你的车不一定在列表里,而且即使支持,适配程度也分等级,有的车只是基础 ACC,有的能做到带红绿灯的城市领航。买车前一定要去查它的支持矩阵。

再有,它默认上传你的驾驶数据。摄像头、CAN、GPS、IMU 全部默认上传到 comma 的服务器用来训练模型。你可以在设置里关掉,但默认是开的。这点对隐私敏感的人要心里有数。

最后,这个项目的维护门槛极高。真正能深度贡献的,是那些懂汽车电子、懂 CAN 总线、懂嵌入式安全的工程师,普通开发者能参与的程度有限。

软件碰物理世界,安全模型比模型重要

我对 openpilot 的感情挺复杂的。

一方面,我敬佩一个团队愿意用十年时间,把「让普通人的老车也能用上像样辅助驾驶」这件事做下去,还做成了开源。另一方面,我也清楚,自动驾驶的安全边界,远不是一个开源项目能完全兜住的。

但有一点我很确定,openpilot 给所有做机器人、做 AI Agent 的人,上了一堂最有说服力的课,也提炼出一个可迁移的判断,当软件要控制物理世界时,安全模型的权重必须高于模型能力的权重。它用 ISO 26262、用 MISRA C、用 hardware-in-the-loop 告诉所有人,真正能落地的机器人系统,靠的不是 demo 视频里有多酷,而是你在那些没人看的角落里,做了多少冗余和兜底。

这个判断适用于任何「Agent + 物理实体」的场景,工业控制、机器人、智能家居、自动驾驶。一旦 Agent 的输出会触发物理动作,工程纪律(功能安全标准、失效模式分析、硬件在环测试)就是不可绕过的地基,而模型能力只是上面的装修。在纯软件世界里,bug 最多让你重启服务,在物理世界里,bug 会让真东西撞上真东西。

这一点,值得每个写代码的人想想。

评论互动

© 2026 王若风的技术博客 · Powered by Astro