android开源项目_Openpilot github 开源项目浅析

本文介绍了Openpilot,一个由comma.ai开源的基于Android的L2级别自动驾驶辅助系统。主要由Python和C++开发,项目迭代迅速。重点分析了其核心项目openpilot,它通过摄像头和传感器数据实现自动驾驶,以及关键硬件Panda,作为汽车通讯的接口。同时提到了数据集comma10k和comma2k19对于自动驾驶安全性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5992ccf7c404e5bfc6015dfd4e827ea0.png

前言

Openpilot 是 comma.ai 公司开源的L2级别的自动驾驶辅助开源系统,基于 android,主要用 python/c++ 语言开发,github 地址:https://github.com/commaai


Openpilot github 开源项目迭代速度非常快,几乎维持在平均一个月一个版本的样子,而且原CEO神奇小子George Hotz于2018/8月将CEO职位交接给来自特斯拉的 Riccardo Biasini,后者总体负责质量及首席执行官,前者则主要负责整体技术的开发及迭代,这可能也是 comma 能快速迭代的一个原因。

565f01fe70a21a448269fcd1fa57a7dc.png
乔治和里卡多于2016年离开逗号开始的车库

项目

纵观commaai的 github 全部项目(79个),可以主要分为以下几大类:

  1. 自动驾驶
  2. 汽车通讯
  3. android系统
  4. 机器学习
  5. 其他辅助

下图是 Pinned 的6个项目:

893a28ff2f7c4138341aee3289bd7642.png
Openpilot为主项目,三个汽车项目, 2个DL


下图是最近提交的项目:

72635b1be243e1a1e72dbcc2a4d06414.png
Android / EON 近期提交较频繁

分析

接下来笔者把个人认为比较重要的项目进行简单的分析:

  • openpilot
    这个项目是comma 最主要的一个项目,在EON/android设备及汽车之间架起的一座桥梁。通过EON移动设备的摄像头识别道路信息,及各种传感器的数据,经过分析计算后向汽车发出各种加/减速、转变等指令,以达到自动驾驶的目的。
    所有的后台服务,主要代码在项目的 selfdrive 目录,其中有一个关键的 visiond 的服务,在 0.5.6 以前是开源且本地编译的,现在代码已经从代码库中删除了(可以认为是闭源了,以二进制方式集成在 android系统中),因为这个模块就是图像识别的关键算法部分。
  • panda/opendbc
    Panda是comma基于 STM32F413 开发一款让EON和汽车通讯的硬件,基于 opendbc 的汽车 OBD 协议,可以通过不同的 DBC 定义,解析和发送的 OBD 信号,起到了数据转换和解析的网关作用。
    按照comma的话:panda is the nicest universal car interface ever!他们期待 panda能成为有史以来最好的通用汽车接口。它最多支持3个CAN,2个LIN和1个GMLAN。同时还可以为手机充电,同时也可能过USB和计算机连接并通讯。

b60e09cbf7e95e6bc7ab922182189b76.png
一代白熊猫

Panda经过好几代的迭代,光从颜色来分就有黑(二代)/白(有WIFI,没有GPS)/灰(有GPS,没有WIFI),关于硬件区别笔者计划在另一个文章再细说。

  • comma10k/2k19
    深度学习数据集这两个项目是comma公司个人觉得仅次于 openpilot 最重要的项目之一,这决定了自动驾驶的安全性及演进。
    comma2k19,这是加利福尼亚州280高速公路上通勤时间超过33小时的数据集。这意味着在加利福尼亚州圣何塞和旧金山之间20公里的高速公路上行驶的2019年路段各长1分钟。comma2k19是一个完全可复制且可伸缩的数据集。数据是使用逗号EON收集的,该EON的传感器类似于任何现代智能手机,包括路面摄像头,手机GPS,温度计和9轴IMU。此外,EON还可以捕获原始GNSS测量数据以及用逗号灰色熊猫汽车发送的所有CAN数据。
    为此 comma 还专门写了一个 paper,有兴趣的朋友可以去看下:

cde3e86076a02e9c25401c2a3a9d01da.png

comma10 则是道路训练的图像数据集,comma也要网上号召大家去免费做数据打标签工作(以前还会送panda等硬件),毕竟数据量越大训练出来的模型准确率更高,大家驾驶更安全,更智能。

  • android/eon
    openpilot 代码运行在基于 android 6 (cm13) 系统的设备之上,现在仅支持三款硬件:乐视、一加及comma,项目如下图:

daa4bf16364fdcf943cd752179a5b525.png


系统编译基本是 CM 那一套,comma 还是将很多关键的组件以二进制的形式提供,所以说openpilot并不算是完全100%的开源,但你可以自已构建并运行起来。
另外说一下为什么只支持这三款机型,是因为openpilot 的图像识别依赖骁龙820处理器,在SOC的固件里有一个硬件加速模块能让系统实时处理摄像头采集到的图像数据。记得 medium 有一篇文章,找到后为大家翻译转载一下。

  • cereal/laika 等
    后续再补充,主要是一些数据采集、分析和可视化相关。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值