用 openpilot 让爱车智能驾驶
openpilot 是一款为机器人操作系统设计的软件,能够升级支持车辆的驾驶辅助系统。本教程将引导你完成从设备安装到实际使用的全过程。
1. 了解 openpilot 的基本概念与功能
本章要介绍 openpilot 的基本概念与功能,帮助你理解它的工作原理和应用场景。
前置条件
无特殊前置条件,只需对自动驾驶技术有初步兴趣。
操作步骤
了解 openpilot 是什么
- openpilot 是一个为机器人设计的操作系统,目前主要用于升级 300 多种车型的驾驶辅助系统。
- 预期结果:知道 openpilot 的主要用途和目标。
查看支持车辆列表
- 访问 supported cars 页面。
- 预期结果:确认你的车是否在支持列表内。
熟悉核心功能模块
- ALC (Adaptive Lane Control): 自适应车道控制
- 功能:自动调整车辆在车道内的位置。
- 注意:驾驶员需始终握住方向盘并准备随时干预。
- LDW (Lane Departure Warning): 车道偏离预警
- 功能:检测车辆即将离开当前车道,并发出警告。
- 注意:仅作为辅助提醒,不能替代人工操作。
- ACC (Adaptive Cruise Control): 自适应巡航控制
- 功能:根据前方车辆速度自动调节自身车速。
- 注意:驾驶员需时刻关注路况并准备接管控制。
- FCW (Forward Collision Warning): 前方碰撞预警
- 功能:监测前方障碍物距离,在可能发生碰撞前发出警报。
- 注意:同样需要驾驶员保持警惕,不可依赖完全自动化。
- DM (Driver Monitoring): 驾驶员监控
- 功能:通过摄像头监测驾驶员的状态,判断其是否处于疲劳或分心状态。
- 注意:该功能仅供参考,不能确保绝对准确。
- ALC (Adaptive Lane Control): 自适应车道控制
了解使用限制
- 查看 Limitations of openpilot ALC and LDW,Limitations of openpilot ACC and FCW,以及 Limitations of openpilot DM 来获取详细信息。
- 预期结果:明白各种功能在不同情况下的局限性及正确使用方法。
示例场景
假设你有一辆特斯拉 Model S Plaid,属于 openpilot 支持范围内的车型。你可以利用 ACC 和 ALC 实现高速公路的半自动驾驶体验。然而,在雨雪天气或者复杂的城市道路环境中,这些系统的性能会受到一定影响。因此,在任何情况下都需要保持高度集中注意力,并准备好随时接管驾驶任务。
本章小结
- 理解了 openpilot 的基本概念及其应用领域;
- 确认了自己的车辆是否被支持;
- 掌握了各个核心功能模块的作用和限制;
- 学习了如何查阅详细的使用指南和限制说明。
2. 购买并准备硬件设备
购买并准备硬件设备
你需要为你的车配备必要的硬件来运行 openpilot。这包括一个兼容的计算单元、相关的软件、一辆受支持的汽车以及用于连接的线束。
前置条件
- 你已经确认了自己的车辆型号在 openpilot 的支持范围内。
- 你有一个可以访问互联网的电脑或手机,以便购买所需硬件。
步骤
购买 comma four 设备
- 访问 comma.ai/shop/comma-four 购买一个 comma four 设备。
- 预期结果:收到一个 comma four 设备,包含所有必要的组件。
购买 car harness
- 访问 comma.ai/shop/car-harness 购买适用于你车型的 car harness。
- 注意:确保所购 car harness 与你的车型匹配。
- 预期结果:收到一个适合你车型的 car harness。
检查配件完整性
- 打开包装,检查是否包含以下物品:comma four 主机、电源适配器、USB-C 数据线、car harness 及其固定螺丝和其他配件。
- 如果有任何缺失,请联系卖家补发。
- 预期结果:所有配件齐全无损。
熟悉产品手册
- 查看附带的产品手册或访问 comma.ai/setup 获取详细的安装指南。
- 预期结果:了解如何正确安装和使用 comma four 和 car harness。
示例场景
假设你想给你的特斯拉 Model S Plaid 安装 openpilot。首先,你需要购买一个 comma four 和相应的 Tesla 特定型号的 car harness。收到后,仔细检查所有配件是否完整,并按照产品手册中的指示进行初步组装和准备工作。
本章小结
- 购买了兼容的 comma four 设备和适用于自己车型的 car harness;
- 检查了所有配件是否齐全且完好;
- 了解了基本的产品使用说明和后续安装步骤。
3. 选择合适的软件分支进行安装
选择合适的软件分支进行安装,可以让你根据需求获得稳定或最新的功能。完成这一步后,你可以顺利地初始化并启动 openpilot。
前置条件:
- 已经准备好 comma four 设备和适用于自己车型的 car harness。
- 熟悉基本的产品使用说明和后续安装步骤。
第一步:确定车辆类型
- 打开 支持车辆列表,确认你的车型是否被支持。
- 如果支持,记下对应的 branch 类型(comma four 或 comma 3X)。
第二步:选择合适的软件分支
根据你的需求选择合适的预构建分支:
| 车辆类型 | 分支名称 | URL | 描述 |
|---|---|---|---|
| comma four | release-mici |
openpilot.comma.ai | 发布版本,稳定可靠 |
| comma four | release-mici-staging |
openpilot-test.comma.ai | 测试版发布分支,提前获取新特性 |
| comma four | nightly |
openpilot-nightly.comma.ai | 开发前沿分支,不稳定但包含最新开发内容 |
| comma four | nightly-dev |
installer.comma.ai/commaai/nightly-dev | 同 nightly,但包含某些车型的实验性开发功能 |
| comma 3X | release-tizi |
openpilot.comma.ai | 发布版本,稳定可靠 |
| comma 3X | release-tizi-staging |
openpilot-test.comma.ai | 测试版发布分支,提前获取新特性 |
| comma 3X | nightly |
openpilot-nightly.comma.ai | 开发前沿分支,不稳定但包含最新开发内容 |
| comma 3X | nightly-dev |
installer.comma.ai/commaai/nightly-dev | 同 nightly,但包含某些车型的实验性开发功能 |
第三步:输入软件安装地址
- 使用提供的 USB-C 数据线将 comma four 连接到电脑。
- 打开浏览器访问 comma 固件更新页面。
- 输入你在第二步中选定的 URL 地址。
- 点击 "Start Update" 开始下载并安装固件。
预期结果:
- 设备成功刷入所选分支的固件,并显示 "Update Complete" 消息。
小贴士:
- 如果你不确定哪个分支最适合你,建议从
release-mici或release-tizi开始。 - 更新过程中如果遇到错误信息,请检查网络连接是否正常,并尝试重新刷新页面。
示例场景
假设你想为你的特斯拉 Model S Plaid 安装稳定的 openpilot 版本。首先,在支持车辆列表中确认 Model S Plaid 是由 comma four 支持的。然后选择 release-mici 分支,并在固件更新页面输入 URL openpilot.comma.ai 来开始更新过程。
本章小结
- 确认了你的车型是否被支持及其对应的 branch 类型;
- 根据需求选择了合适的预构建软件分支;
- 成功通过固件更新页面刷入了选定的软件版本。
4. 正确连接硬件设备到汽车
本章要解决如何正确连接硬件设备到汽车的问题,确保 openpilot 能够正常工作。完成这一步后,你可以开始初次启动和配置 openpilot。
前置条件:
- 已经购买并准备好 comma four 和相应的车规级线束。
- 确保你的汽车型号在 openpilot 的支持列表内。
- 设备已经通过固件更新页面刷入了合适的软件版本。
第一步:获取车规级线束
- 前往 comma 商店 购买适合你车型的车规级线束。
第二步:拆卸原厂摄像头
- 关闭汽车电源。
- 找到原厂前挡风玻璃上的摄像头模块,通常位于驾驶员侧上方。
- 使用螺丝刀小心地松开固定螺丝,并取下摄像头模块。
- 注意保护好原厂摄像头以防丢失或损坏。
第三步:安装 comma four
- 将 comma four 插入车规级线束的一端。
- 将另一端插入原厂摄像头的位置,对齐接口并轻轻按压直到卡紧。
- 拧紧固定螺丝,确保连接牢固且无晃动。
第四步:恢复其他传感器连接
- 根据车型不同,可能还需要连接转向传感器、刹车踏板传感器等。
- 参考 官方安装指南 中的具体步骤进行操作。
第五步:重新安装原厂摄像头(可选)
- 如果你不希望移除原厂摄像头,可以将其放置在副驾乘员侧或其他合适位置,并使用支架固定。
- 确保新旧摄像头不会相互干扰视线范围。
示例场景
假设你有一辆特斯拉 Model S Plaid,并且已经购买了合适的车规级线束。首先关闭电源,找到并取下前挡风玻璃上的原厂摄像头。接着将 comma four 插入车规级线束,并将另一端插入原厂摄像头位置。最后拧紧螺丝并恢复其他必要传感器的连接。
本章小结
- 学会了如何正确拆卸和安装 comma four 以及相关传感器;
- 理解了如何根据具体车型调整安装步骤;
- 避免了一些常见的安装错误,如未完全拧紧螺丝导致的松动问题。
5. 初次启动和配置 openpilot
初次启动和配置 openpilot
完成硬件安装后,我们需要启动并配置 openpilot,让系统正常工作。通过本章学习,你将能够成功启动 openpilot 并进行必要的初始设置。
前置条件:
- 已经按照前几章完成了 comma four 和相关传感器的安装。
- 设备已连接到车辆的供电系统。
- 确保你的车是 openpilot 支持的型号。
第一步:下载并安装软件
打开手机浏览器,访问 http://connect.comma.ai 或者在电脑上输入相同的地址。这会自动检测到你的 comma four 设备,并引导你完成软件安装过程。
bash <(curl -fsSL openpilot.comma.ai)预期结果:设备将会重启并开始下载最新的 openpilot 软件包。
第二步:注册 Comma AI 账号
如果还没有 Comma AI 账号,请点击页面上的“Sign Up”按钮创建一个。如果有账号,则登录进去。
注意:注册时填写的信息需要真实有效,以便后续获取技术支持和服务更新。
第三步:绑定设备与账户
登录后,在网页上找到“Devices”选项卡,点击右上角的“Add New Device”,然后按照提示扫描二维码或者手动输入序列号来绑定设备。
预期结果:设备应显示为在线状态并且关联到了你的账户名下。
第四步:初始化车辆设置
进入“Settings”菜单,根据实际情况调整以下参数:
- Vehicle: 选择正确的车型。
- Region: 设置所在国家和地区。
- Units: 选择速度单位(mph 或 km/h)。
- Language: 设置界面语言为中文或英文。
推荐做法:确保所有设置都准确无误,否则可能导致某些功能无法正常使用。
第五步:开启摄像头校准模式
回到主界面,点击屏幕底部的“Calibration”图标。按照屏幕指示移动方向盘以拍摄道路图像,帮助系统识别车道线和其他物体。
注意:尽量在光线良好且路面标记清晰的情况下进行校准。如果多次尝试失败,请检查摄像头是否被遮挡或损坏。
示例场景
假设你刚刚绑定了设备并与账户关联完毕。现在打开 connect.comma.ai 页面,在 settings 中选择了 Tesla Model S Plaid 作为车辆类型,并设置了中国地区和公里/小时的速度单位。随后进入 Calibration 模块,在停车场内平稳驾驶一圈以完成摄像头校准过程。
本章小结
- 学习了如何通过 connect.comma.ai 下载并安装 openpilot 软件;
- 注册并绑定了 Comma AI 账户与设备;
- 完成了车辆的基本设置及摄像头校准;
6. 掌握常用驾驶辅助功能的操作
掌握常用驾驶辅助功能的操作 第一步:熟悉主界面布局 打开设备后,你会看到主界面显示当前车速、转向灯状态等信息。顶部是导航栏,底部有三个主要按钮:“Drive”,“Settings”,“Alert”。
第二步:启用自适应巡航控制(ACC)
- 进入“Drive”模式。
- 按住方向盘上的ACC按键,直到仪表盘显示ACC已激活。
- 使用加速踏板设定巡航速度。
预期结果:车辆将以设定速度自动行驶,并保持与前车的安全距离。
注意:确保前方有足够的空间和清晰的交通标识,避免紧急情况发生。
第三步:使用车道居中辅助(LKA)
- 在ACC激活状态下,按住方向盘上的LKA按键,直到仪表盘显示LKA已激活。
- 手轻轻握住方向盘,让系统接管部分转向操作。
预期结果:车辆会在车道中央稳定行驶。
注意:不要完全松开方向盘,定期检查系统工作状态。
第四步:切换地图导航
- 返回主界面。
- 点击右上角的地图图标。
- 输入目的地地址或选择历史记录中的地点。
- 系统会规划路线并在屏幕上显示导航信息。
预期结果:车辆会跟随导航指令行驶,并提供实时语音提醒。
第五步:处理警报 当系统检测到潜在危险时,会出现视觉和听觉警报。例如:
- 前方障碍物接近时会有碰撞警告声。
- 道路偏离预警时会有震动提示。
应对措施:
- 如果听到碰撞警告声立即减速或刹车。
- 如果感觉到震动提示应迅速纠正方向回正车道中心。
第六步:关闭驾驶辅助功能
- 按住方向盘上的取消键几秒钟,或者轻踩刹车踏板。
- 屏幕上将出现确认关闭的选项。
- 确认后系统退出自动驾驶模式。
预期结果:车辆恢复手动驾驶状态。
示例场景 假设你在高速公路上行驶,启用了ACC并设定了100km/h的速度。此时你发现前方有一辆慢车影响通行速度。你可以适当提高巡航速度至120km/h,并同时启用LKA保持车道居中。突然左侧车道有一辆车变道过来,系统发出警报声提醒你注意安全。这时你应该减速避让,并重新评估路况决定是否继续使用驾驶辅助功能。
本章小结
- 启用了自适应巡航控制(ACC)并设置巡航速度;
- 使用了车道居中辅助(LKA)保持行车稳定性;
- 切换了地图导航以获取路线指引;
- 应对了各种警报以保障行车安全;
- 关闭了驾驶辅助功能以返回手动驾驶模式;
7. 优化设置以提升驾驶体验
优化设置以提升驾驶体验
通过调整一些参数和设置,可以显著改善你的驾驶体验。本章结束时,你能根据个人偏好定制 openpilot 的行为。
前置条件:
- 已完成前几章的配置,包括硬件连接、软件安装及初步使用。
- 对于某些高级设置,确保你的设备支持这些功能。
第一步:进入设置菜单
- 打开 openpilot 主界面。
- 点击左下角的齿轮图标进入设置菜单。
预期结果:看到一系列可供调整的设置项。
第二步:调整巡航控制参数
- 选择“驾驶辅助”选项。
- 找到“自适应巡航控制(ACC)”部分。
- 调整“最大加速度”、“最大减速度”和“跟车距离”。
推荐做法:增加最大加速度可以让车辆更快加速,减少最大减速度则会让车辆更平缓地减速。跟车距离可以根据道路情况和个人喜好调整。
注意:不要过度调高加速度以免造成不适或安全隐患。
第三步:优化车道保持辅助(LKA)
- 在“驾驶辅助”选项中找到“车道保持辅助(LKA)”部分。
- 调整“转向力度”和“车道居中灵敏度”。
推荐做法:适当的转向力度可以让车辆更平稳地修正方向。如果觉得系统过于敏感或不够积极,可以相应调整灵敏度。
第四步:个性化地图导航设置
- 进入“导航与地图”选项。
- 自定义导航声音类型、音量以及语音播报频率。
推荐做法:选择你喜欢的声音类型,并根据需要调节音量大小。频繁播报可能会影响注意力,请适当降低播报频率。
第五步:启用/禁用其他功能
- 浏览所有可用的功能选项。
- 根据需求启用或禁用如盲区监测、交通标志识别等功能。
推荐做法:开启更多有用的功能可以帮助你更好地掌握道路状况。不过也要注意不要同时启用过多功能导致分心。
示例场景
假设你在城市道路上行驶,经常遇到堵车情况。你可以将 ACC 的最大减速度调低以获得更舒适的驾驶体验。同时,为了防止错过重要交通标志,你可以开启交通标志识别功能,并将其声音类型改为女性声音以便更容易分辨出来。
本章小结
- 调整了巡航控制的最大加速度、最大减速度和跟车距离;
- 修改了车道保持辅助的转向力度和灵敏度;
- 定制了导航声音类型、音量及语音播报频率;
- 启用了/禁用了多个有助于提升驾驶体验的功能;
8. 处理常见的故障与问题
处理常见的故障与问题
本章教你如何诊断和解决使用 openpilot 时可能会遇到的一些常见问题,确保你的智能驾驶体验顺畅无阻。
前置条件:
- 已成功安装并配置好 openpilot。
- 熟悉基本的操作界面和功能设置。
第一步:检查硬件连接
- 确认 comma 四已正确插入 OBD-II 插口。
- 检查所有线缆是否牢固连接,没有松动或损坏的部分。
预期结果:仪表盘显示 openpilot 正常启动,摄像头指示灯亮起。
注意:如果发现任何物理损伤或异常,立即断开电源并联系技术支持。
第二步:查看系统日志
- 打开 comma 四上的终端应用。
- 输入以下命令查看最近的日志信息:
tail -f /data/log/selfdrive.log
预期结果:显示最新的系统日志,帮助定位错误原因。
推荐做法:定期备份日志文件以便后续分析。
第三步:重启设备
- 长按 comma 四上的电源键约 5 秒钟进行强制重启。
- 观察仪表盘和显示屏上的状态变化。
预期结果:openpilot 应重新启动并恢复正常工作模式。
注意:频繁重启可能是某些深层次问题的表现,建议进一步检查系统设置或寻求帮助。
第四步:更新固件
- 连接 comma 四到 Wi-Fi 网络。
- 打开设置菜单中的“软件更新”选项。
- 检查是否有可用的更新,并按照提示完成下载和安装过程。
预期结果:系统自动下载最新版本的固件并在重启后生效。
反例:如果网络不稳定可能导致更新失败,请尝试切换到稳定的网络环境再试一次。
第五步:恢复出厂设置
- 进入设置菜单中的“高级选项”。
- 选择“恢复出厂设置”,确认操作不可逆后再执行。
- 设备将自动重启并初始化为默认状态。
预期结果:所有自定义设置被清除,回到初始安装状态。
注意:此操作会删除所有的个人数据,请确保已经备份重要信息后再做决定。
示例场景
假设你在高速公路上行驶时突然发现车道保持辅助失效。首先检查硬件连接是否正常,然后查看系统日志寻找错误提示。如果没有明显问题,尝试重启设备以解决问题。如果仍然无效,则考虑更新固件或者恢复出厂设置作为最后手段来排除潜在故障源。
本章小结
- 学习了如何检查硬件连接和查看系统日志以诊断问题;
- 掌握了通过重启设备快速解决临时性故障的方法;
- 了解了如何更新固件以获取最新的功能改进和技术修复;
- 知道了在极端情况下如何通过恢复出厂设置来重置系统。
9. 探索高级功能和自定义设置
本章要深入探索 openpilot 的高级功能和自定义设置,让你能够根据个人需求调整驾驶辅助系统的性能。
前置条件:
- 已经正确安装并配置好 openpilot。
- 熟悉基本的车辆连接和操作步骤。
第一步:访问高级设置
- 启动车辆并进入 openpilot 设置界面。
- 找到并点击“高级设置”。
预期结果:显示一系列高级选项供你选择和修改。
第二步:启用摄像头校准
- 在高级设置中找到“摄像头校准”选项。
- 按照屏幕上的指示进行摄像头校准。
预期结果:摄像头角度得到优化,提高驾驶辅助功能的准确性。
注意:如果不熟悉校准过程,可以参考官方文档或视频教程。
第三步:调整转向灵敏度
- 返回主设置菜单,找到“转向灵敏度”选项。
- 使用滑块调整至适合你的驾驶习惯的灵敏度级别。
预期结果:转向反应更加符合你的期望,提升驾驶舒适感。
第四步:自定义车道保持辅助(LKA)
- 进入“车道保持辅助”设置页面。
- 调整激活速度阈值、偏离纠正力度等参数。
预期结果:车道保持辅助的行为更加贴合你的驾驶偏好。
反例:过度敏感可能导致频繁修正方向,影响驾驶体验;不够敏感则可能无法有效维持车道位置。
示例场景
假设你在日常通勤时希望减少 LKA 对方向盘的干预。你可以通过降低灵敏度来实现这一点。具体来说,在“车道保持辅助”设置中,将激活速度调高,并适当减弱偏离纠正力度。这样可以在保证安全的同时,让手动驾驶更加轻松愉快。
本章小结
- 学习了如何访问和使用 openpilot 的高级设置;
- 掌握了摄像头校准的基本方法及其重要性;
- 了解了如何调整转向灵敏度以适应不同驾驶情况;
- 探索了自定义车道保持辅助的具体步骤和注意事项。
10. 参与社区贡献与交流
参与社区贡献与交流
加入 openpilot 社区不仅能帮助你更好地理解和使用系统,还能让你参与到项目的开发中,为其他用户提供支持。本章教你如何参与社区贡献并与他人交流。
前置条件:确保你已经成功安装并配置好了 openpilot,并且对基本操作有一定了解。
第一步:加入社区 Discord
- 打开浏览器,访问 Discord 链接。
- 注册或登录你的 Discord 账号。
- 加入 openpilot 官方服务器。
预期结果:进入 Discord 后看到多个频道,包括技术支持、开发讨论等。
第二步:浏览贡献指南
- 访问 贡献文档。
- 仔细阅读文档中的各项要求和建议。
预期结果:了解如何提交问题报告、编写代码以及进行代码审查。
第三步:提交问题报告
- 如果你在使用过程中遇到问题,首先在 Discord 中搜索是否已有类似问题的解决方案。
- 如果没有找到答案,前往 GitHub 上的 Issues 页面(Issues)。
- 点击 "New issue" 按钮,填写详细的问题描述和相关信息(如车辆型号、软件版本、错误日志等)。
- 提交 Issue。
预期结果:你的问题会被社区成员查看并提供帮助。
第四步:参与代码贡献
- 访问 GitHub 仓库。
- 浏览项目文件和现有 Pull Requests(PR)以获取灵感和学习经验。
- Fork 仓库到你的个人账户下。
- 克隆 Fork 下来的仓库到本地:
git clone https://github.com/yourusername/openpilot.git cd openpilot - 创建一个新的分支用于开发:
git checkout -b feature-branch-name - 编辑代码后添加更改并提交:
git add . git commit -m "Add your descriptive commit message" - 将更改推送到你的 GitHub 仓库:
git push origin feature-branch-name - 在 GitHub 上打开一个 Pull Request 到原始仓库的
master分支,并附上详细的描述说明所做的改动及其目的。
预期结果:你的 PR 将被审核,如果符合标准可能会被合并到主分支中。
第五步:参加定期会议和技术分享会
- 关注 Discord 中的通知频道,了解是否有即将举行的线上会议或技术分享会。
- 参加这些活动,与其他开发者交流想法和技术细节。
预期结果:拓宽视野,获得新的思路和技术技能。
反例:忽视社区规则或不尊重他人的工作可能导致 PR 或 Issue 被关闭或忽略。务必遵循官方文档中的指导原则和行为准则。
示例场景 假设你在使用过程中发现某个功能存在 bug,并且经过多次尝试都无法解决问题。你可以按照以下步骤操作:
- 在 Discord 中搜索相关话题或询问是否有已知解决方案;
- 如果未找到答案,则创建一个新的 Issue 并详细描述问题;
- 提供必要的信息以便其他人能够重现该 bug;
- 等待社区成员回复并协助解决问题;
- 如果有能力修复此 bug,可以考虑 fork 仓库并在自己的分支上进行修改;
- 经过测试确认无误后提交 PR 请求合并到主分支;
- 参与后续的代码审查过程直至最终合并完成。
本章小结
- 学习了如何加入 openpilot 的官方 Discord 社区;
- 掌握了如何浏览和理解贡献指南的内容;
- 知道了如何有效地提交问题报告和参与代码贡献;
- 明白了参加定期会议和技术分享会对提升技术水平的重要性。
11. 了解安全规范与测试流程
了解 openpilot 的安全规范与测试流程,确保你能正确地开发和部署系统,同时遵守相关法律法规。
前置条件:
- 已经熟悉 openpilot 的基本概念和功能。
- 安装了适合的硬件设备并进行了初步配置。
- 对软件分支有一定的了解,并知道如何切换不同分支。
第一步:查阅 ISO26262 指南
我们先查看 openpilot 如何遵循 ISO26262 标准。打开 SAFETY.md 文件(位于 docs 目录下),仔细阅读其中的安全要求和措施。
https://github.com/commaai/openpilot/blob/master/docs/SAFETY.md预期结果:了解 openpilot 遵循的安全标准及其具体实现方式。
第二步:运行软件测试
接下来,我们需要运行 openpilot 的软件测试来验证代码的稳定性和可靠性。首先,确保你已经安装了 Git 和 Docker 环境。然后克隆 openpilot 仓库到本地。
git clone https://github.com/commaai/openpilot.git
cd openpilot接着,使用 Docker 运行测试脚本。
./tools/run_tests.sh预期结果:所有测试通过,没有错误信息出现。如果有失败项,请根据提示进行修复。
第三步:检查硬件测试套件
除了软件层面的测试,openpilot 还有硬件层面的测试。访问 panda 项目的 Jenkins 测试套件页面,查看最新的构建和单元测试结果。
https://jenkins.commadotai.com/job/panda/job/master/预期结果:看到最近一次构建成功并通过所有单元测试。如果发现失败案例,请联系社区寻求帮助。
第四步:模拟实际驾驶环境
为了更好地评估系统的性能,在内部环境中有一个包含 10 台 comma 设备的测试机柜,不断回放真实的行驶路线数据。虽然我们无法直接访问这个环境,但我们可以通过记录自己车辆的数据来进行类似的验证。
注意:确保在合法合规的前提下收集和使用行车数据。
推荐做法:
- 使用 comma connect 查看上传的数据日志。
- 在安全条件下尝试不同的驾驶场景,并观察系统反应是否正常。
示例场景
假设你在夜间驾驶时发现车辆频繁偏离车道线,你可以按照以下步骤操作:
- 收集当天的行车数据。
- 下载数据到本地电脑,并分析传感器输入情况。
- 如果确定是算法问题,在 GitHub 上查找相关 issue 或创建新 issue 描述问题。
- 尝试在本地修改代码解决问题,并通过上述测试流程验证修复效果。
- 最终提交 PR 请求合并到主分支中。
本章小结
- 学习了 openpilot 如何遵循 ISO26262 安全标准。
- 掌握了如何运行软件层面的自动化测试。
- 了解了硬件层面的持续集成和单元测试流程。
- 知道了如何利用真实行驶数据进行系统评估。
12. 管理用户数据与隐私设置
管理用户数据与隐私设置
本章教你如何控制 openpilot 上传的数据以及如何保护你的隐私。完成本章后,你能决定哪些数据被收集和分享。
前置条件
- 已经正确安装并配置了 openpilot。
- 有 comma connect 账号。
操作步骤
登录 comma connect
打开浏览器,访问 https://connect.comma.ai 并登录你的账户。查看已上传的数据
登录后,点击 "Data" 标签页查看上传的日志文件。下载数据
在 "Data" 页面找到你想下载的日志文件,点击下载图标。禁用数据上传
- 进入车辆的 openpilot 设置菜单。
- 找到 "Privacy" 或 "Settings" 部分。
关闭 "Upload Raw Data" 和 "Enable Logging" 选项。
删除本地日志
- 启动 SSH 客户端,连接到你的 comma 四设备。
ssh root@<your_comma_four_ip_address> - 删除不需要的日志文件。
rm /data/media/0/*/*.bz2
- 启动 SSH 客户端,连接到你的 comma 四设备。
检查更改
- 返回 comma connect,确认没有新的数据上传。
注意事项
- 禁用数据上传可能会影响 openpilot 的改进和更新速度。
- 定期清理本地存储空间可以防止内存不足导致系统不稳定。
实际场景示例
假设你担心个人隐私泄露,想完全停止数据传输:
- 登录 comma connect 查看现有日志文件。
- 下载重要的日志备份后,禁用所有数据上传选项。
- 使用 SSH 清除设备上的旧日志文件以释放空间。
本章小结
- 学会了如何登录和使用 comma connect 查看及下载数据。
- 掌握了在 openpilot 中关闭数据上传的方法。
- 理解了定期清理本地日志的重要性。
FAQ
安装时报错:bash <(curl -fsSL openpilot.comma.ai) 执行后提示权限不足
解答: 确保你以 root 用户或具有 sudo 权限的用户运行该命令。你可以尝试在命令前加上 sudo,例如:sudo bash <(curl -fsSL openpilot.comma.ai)。
支持哪些汽车型号?
解答: openpilot 目前支持超过 300 种车型。具体支持的车型列表可以在 CARS.md 文件中查看。
如何选择合适的分支进行安装?
解答: 对于普通用户建议使用 release-mici 或 release-tizi 分支,对应的 URL 是 openpilot.comma.ai。如果你想提前体验新功能可以考虑使用 staging 或 nightly 分支,但请注意这些分支可能不够稳定。
在非 comma 四硬件上如何运行 openpilot?
解答: 虽然 openpilot 主要为 comma 四设计,但也可以在其他硬件上运行。你需要自行处理硬件兼容性和驱动程序的问题,并且这通常需要一定的技术知识和经验。更多详情可参考 博客文章。
使用过程中发现软件崩溃或异常行为怎么办?
解答: 首先检查是否有更新可用,然后访问 社区论坛 寻求帮助。如果确定是 bug,请提交 issue 到 GitHub 仓库,并尽可能提供详细的错误信息和重现步骤。
openpilot 和特斯拉 Autopilot 的主要区别是什么?
解答: openpilot 是一个开源的驾驶辅助系统,适用于多种车型,并由全球开发者共同维护;而特斯拉 Autopilot 是特斯拉公司为其自家车辆开发的专有驾驶辅助系统。两者的主要区别在于开放性、成本以及适用范围等方面。