拓冰建站拓冰建站
首页 / 资讯中心 / 正文

openpilot 使用与部署完全指南:一个升级 300+ 车型驾驶辅助系统的机器人操作系统

openpilot 使用与部署完全指南一个升级 300 车型驾驶辅助系统的机器人操作系统【免费下载链接】openpilotopenpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars.项目地址: https://gitcode.com/GitHub_Trending/op/openpilotopenpilot 被定义为一个机器人操作系统operating system for robotics当前核心能力是将 300 款车型的原车驾驶辅助系统升级为具备自适应巡航ACC与自动车道居中ALC的辅助驾驶系统。本文以仓库根目录的 README.md 为主体骨架结合 docs/SAFETY.md、docs/INTEGRATION.md、docs/LIMITATIONS.md 与 CI 配置等仓库资源完整覆盖车辆端部署设备、分支、线束、开发环境搭建、安全测试体系、数据与许可政策帮助你在真实车辆上运行 openpilot 或在本地搭建开发环境并理解其工程约束。一、openpilot 是什么README 的第一句定位即openpilot is an operating system for robotics当前它升级 300 支持车型的驾驶辅助系统。更具体地说docs/index.md 中说明openpilot 完成自适应巡航ACC、自动车道居中ALC、前向碰撞预警FCW、车道偏离预警LDW四类功能并在系统激活时通过摄像头对驾驶员进行驾驶员监控Driver Monitoring, DM对分心与疲劳驾驶的司机发出提醒。它的工作方式并非重写整车 ECU而是复用车辆已有的 ADAS 接口。docs/INTEGRATION.md 明确了与原厂功能的替换关系在所有支持车型上原厂 LKA/ALC 被 openpilot ALC 替换仅当用户激活 openpilot 时生效原厂 LDW 被 openpilot LDW 替换在特定支持车型上见 docs/CARS.md 的 ACC 列原厂 ACC 被 openpilot ACC 替换openpilot FCW 与原车 FCW 并存叠加openpilot 应保留车辆所有其他原厂功能包括但不限于 AEB自动紧急制动、自动远光、盲区预警、侧碰预警。安全边界方面docs/SAFETY.md 指出 openpilot 是一个失效安全被动系统failsafe passive system驾驶员必须时刻保持警觉其设计遵循 ISO 26262 指南与 NHTSA 相关文件对安全相关代码强加 MISRA C:2012 等编码规范并在每次发版前执行软件在环SITL、硬件在环HITL与实车测试。二、在车辆中运行 openpilot 的四个要素README 将车辆端部署归纳为四个必备要素支持的设备Supported Devicecomma fourcomma 官方销售的硬件盒子软件Softwarecomma four 的初始设置流程允许用户输入自定义软件 URL安装正式版使用 URLopenpilot.comma.ai支持的车型Supported Car确认车辆处于 docs/CARS.md 列出的支持名单中车辆线束Car Harness需要一条对应车型的车线用于将 comma four 连接到车辆 CAN 网络。该文件由 openpilot/selfdrive/car/CARS_template.md 模板自动生成文件头注释标明 AUTOGENERATED当前版本列出335 款支持车型按品牌-车型-年款组织每款车标注支持配置Supported Package、ACC 提供方式openpilot/Stock/openpilot available、低速禁用阈值No ACC accel below / No ALC below、方向盘力矩与停车恢复能力星标表示、所需硬件清单连接器型号、OBD-C 线缆、comma four、harness box、mount 等。以其中一行为例Chevrolet Equinox 2019-22, Adaptive Cruise Control (ACC)需要 GM 连接器、2 英尺 OBD-C 线缆、harness box 与 mountACC 由 openpilot 提供openpilot available。README 同时说明comma four 之外也可以在其他硬件上运行 openpilot但不再是即插即用plug-and-play安装线束与设备的详细步骤以官方 setup 文档为准。分支与安装 URL直接在车上跑master和其他开发分支是被支持的但 README 推荐运行以下预构建分支comma four / comma 3X 分支comma four 分支comma 3X 分支URL说明release-micirelease-tiziopenpilot.comma.aiopenpilot 正式发布分支release-mici-stagingrelease-tizi-stagingopenpilot-test.comma.ai发布前的 staging 分支可提前拿到新 releasenightlynightlyopenpilot-nightly.comma.ai尖端开发分支不保证稳定nightly-devnightly-devinstaller.comma.ai/commaai/nightly-dev与 nightly 相同但包含部分车型的实验性开发功能chestnut 设备专用安装 URL分支URL说明release-chestnutinstaller.comma.ai/commaai/release-chestnut正式发布分支release-chestnut-staginginstaller.comma.ai/commaai/release-chestnut-staging发布 staging 分支nightly-chestnutinstaller.comma.ai/commaai/nightly-chestnut尖端开发分支不保证稳定nightly-chestnut-devinstaller.comma.ai/commaai/nightly-chestnut-devnightly 部分车型实验功能分支命名中的mici/tizi/chestnut对应三代硬件代号仓库内 openpilot/selfdrive/assets/ 下亦存在icons_mici/等按硬件区分的资源目录openpilot/system/hardware/ 下则有chestnut/、comma/、tici/分硬件的配置文件印证了按硬件分支管理的结构。快速开始README 给出的开发侧快速开始命令为一行bash (curl -fsSL openpilot.comma.ai)该命令下载并执行 comma 提供的安装引导脚本用于在开发机上克隆仓库并初始化环境其入口逻辑最终会落到仓库自带的 launch_openpilot.sh该脚本转发到 launch_chffrplus.sh。三、开发环境搭建与运行tools/README.md 给出官方开发环境说明系统要求openpilot 的开发与测试目标是Ubuntu 24.04除嵌入式硬件外的主要开发平台macOS 上大部分功能可原生运行Windows 建议使用 WSLWSL 2 体验较无缝UI/仿真性能不佳时可设置GALLIUM_DRIVERd3d12启用硬件加速。标准原生搭建流程Ubuntu 24.04 / macOS1. 克隆仓库git clone https://github.com/commaai/openpilot.git2. 运行 setup 脚本cd openpilot tools/op.sh setup3. 激活 Python 虚拟环境source .venv/bin/activate4. 构建 openpilotscons -u仓库根目录的 SConstruct 是 scons 构建入口Python 依赖由 pyproject.toml 与 uv.lock 锁定。进程模型manager 与 process_config从源码结构看openpilot 以多进程方式运行openpilot/system/manager/ 下的manager.py负责进程编排而 openpilot/system/manager/process_config.py 定义了每个进程的运行条件函数例如iscar(started, params, CP)行车中且非模拟器环境started and not CP.notCar才运行的进程notcar(started, params, CP)行车中的模拟器/仿真场景logging(started, params, CP)结合DisableLogging参数控制日志进程ublox(started, params, CP)依据/dev/ttyHS0是否存在动态判断 u-blox GPS 可用性并回写 Params。这些谓词把何时启动哪个守护进程的决策显式化行车主栈modeld、controlsd、radard、locationd 等见 openpilot/selfdrive/ 目录只在行车状态启动而 athenad、updated、loggerd 等离车/常开进程独立管理。这种结构让同一套代码既能上实车、也能在 PC 上用USE_WEBCAM源码中WEBCAM os.getenv(USE_WEBCAM) is not None等环境变量做仿真联调。四、安全与测试体系README 的 Safety and Testing 一节列出了完整的安全证据链逐项说明如下遵循 ISO 26262详见 docs/SAFETY.md。其中两条顶层安全需求值得注意(a) 驾驶员必须始终能立即夺回车辆控制权踩刹车或按取消键(b) 车辆轨迹变化速度必须限制在驾驶员可安全反应范围内——执行器被约束在合理极限内横向上参考 ISO 11270/ISO 15622换算为产生 1 米横向偏差需要至少 0.9 秒的最大执行时间。每次提交都跑软件在环测试SITL由 GitHub Actions 工作流 .github/workflows/tests.yaml 驱动在pushmaster 分支、pull_request及 workflow 触发时执行包含 release 构建tools/release/build_stripped.sh、python3 openpilot/system/manager/build.py全量检查与测试等步骤根目录的 Jenkinsfile 则编排硬件在环HITL流水线通过 SSH 登录真实 comma 设备执行构建与单元测试。安全模型代码在 panda 中用 C 实现README 指出强制安全模型的代码位于 panda 仓库并以 C 编写配有独立的软件在环安全测试。本仓库通过 panda/ 子模块引用它。硬件在环 Jenkins 测试套件内部持续构建并单元测试各个进程另有一个测试机柜其中 10 台 comma 设备持续回放实车路线routes运行最新 openpilot。docs/SAFETY.md 还对 openpilot 的 fork 提出硬性要求不得禁用或削弱驾驶员监控openpilot/selfdrive/monitoring/与过量执行检查openpilot/selfdrive/selfdrived/helpers.py若 fork 修改了opendbc/safety/代码则不能使用 openpilot 商标且必须完整保留并全部通过安全测试套件——不遵守将被禁止接入 comma 服务器。五、许可证、免责与用户数据政策README 以折叠块形式载明了法律与数据政策均为使用前必须了解的事实MIT 许可与免责声明。openpilot 以 MIT 许可证发布见 LICENSE部分组件采用其他许可。软件附带用户免责条款使用者须对使用本软件产生的一切指控、索赔与损失向 Comma.ai 及其相关人员作出补偿。并且明确声明这是仅供研究用途的 Alpha 质量软件不是产品用户须自行遵守当地法律法规不附带任何明示或默示担保。用户数据与 comma 账户。openpilot 默认将行车数据上传到 comma 的服务器也可通过 comma connect 访问自己的数据comma 用这些数据训练更好的模型。作为开源软件用户可以关闭数据采集。具体日志范围路向摄像头、CAN、GPS、IMU、磁力计、温度传感器、崩溃与操作系统日志会被记录驾驶员面摄像头与麦克风仅当用户在设置中显式选择加入opt-in时才会被记录。使用 openpilot 即表示接受 comma 隐私政策并授予其对该数据的不可撤销、永久、全球性使用权利。另外安全漏洞可按 SECURITY.md 的说明向securitycomma.ai等地址报告。六、功能边界LIMITATIONS 中必须知道的限制docs/LIMITATIONS.md 系统列出了 openpilot 各子系统的已知限制部署前应完整阅读。核心结论ALC/LDW 不会自动驾驶、也不会降低你对车辆的注意力要求变道时 openpilot 不会为你检查盲点确认安全后再动方向盘。常见致失效因素包括ALC/LDW恶劣天气、路向摄像头被遮挡泥、冰、雪、车身贴膜遮挡、设备安装错误、急弯匝道与路口方向盘力矩受限、施工与限行区域、大坡度路面与强侧风、极端温度、强光对向远光、直射阳光、坡道与窄路ACC/FCW在上述基础上还有——接近收费站/桥梁/大型金属板、有行人与骑行者的道路、交通标志与红绿灯暂不被识别、限速标志暂不识别当法定限速低于设定车速时不会自动降速、同车道静止车辆、需要急刹的场景减加速执行器有设计上限、邻道近距离加塞、雷达波干扰DM不应视为对驾驶员清醒度的精确度量夜间/隧道弱光、强光、脸部离开摄像头视野、车内摄像头被遮挡都会影响其判断。七、版本演进与继续深入RELEASES.md 记录了完整的版本历史如 0.11.2 引入 880M 参数大模型、外部 GPU 支持、comma connect 直播摄像头0.11.0 引入完全基于学习仿真器训练的驾驶模型 #36798 等可作为理解当前代码能力边界的版本依据。若要继续深入建议按以下顺序阅读本仓库资源docs/CARS.md确认目标车型的支持级别与所需硬件docs/INTEGRATION.md 与 docs/LIMITATIONS.md功能替换关系与能力边界docs/SAFETY.md安全模型与 fork 约束tools/README.md 与 openpilot/tools/开发工具cabana、plotjuggler、replay 等与 CTF 教程docs/CONTRIBUTING.md贡献流程——项目优先级为安全、稳定性、质量、功能PR 合入概率取决于价值与合入成本简单且有测试的 bug 修复最容易合入500 行的大 PR 与纯风格修改会被拒绝。最后重申 README 的告诫openpilot 是研究用途的 Alpha 软件驾驶员在任何时候都必须对车辆保持完全控制并自行确保符合当地法律法规。【免费下载链接】openpilotopenpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars.项目地址: https://gitcode.com/GitHub_Trending/op/openpilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门