AutoPilot 辅助驾驶模块 · 知识库
本知识库由 4 个 Explore Agent 并行调研 + 源码对抗验证产出(2026-07-12)。AutoPilot 是 ADAS 法规差异最大的模块(60+ Controller,3 地区 XML),也是 5 个车控模块的最后一个。
模块定位
AutoPilot 模块(settingsPage/settingsAutoPilot,包 com.android.micar.settings.autopilot)是「辅助驾驶」设置页,覆盖 NOA 领航/泊车/紧急制动/车道/后向安全/限速全套 ADAS。
ADAS 缩写全表(速查)
| 缩写 | 全称 | 功能 |
|---|
| NOA | Navigate on AutoPilot | 领航辅助(高速/全域 CNOA) |
| ACC/LCC | Adaptive Cruise / Lane Centering | 自适应巡航/车道居中 |
| APA/AVP/HPP | Auto Park / Auto Valet / Home zone Pilot Park | 自动泊车/代客泊车/记忆泊车 |
| AEB/FCW | Autonomous Emergency Braking / Forward Collision Warning | 自动紧急制动/前向碰撞预警 |
| AES | Autonomous Emergency Steering | 自动紧急转向 |
| LAEB/RAEB | Low-speed/Rear AEB | 低速前/后向 AEB(AEB Beta) |
| LDW/LDP/LDWP | Lane Departure Warning/Prevention/(合) | 车道偏离预警/纠偏/(合) |
| ELK | Emergency Lane Keeping | 紧急车道保持 |
| ALC | Auto Lane Change | 拨杆变道辅助 |
| BSD/LCA | Blind Spot Detection / Lane Changing Assist | 盲区监测/变道辅助(复用 LCA 信号) |
| RCTA/RCTB/RCTAB | Rear Crossing Traffic Alert/Brake | 后向交通穿行预警/制动 |
| RCW | Rear Collision Warning | 后向碰撞预警 |
| DOW | Door Open Warning | 开门预警 |
| MAI | Mis-Acceleration Inhibition | 误加速抑制(非手动接管) |
| TLA | Traffic Light Alert | 红绿灯提醒 |
| XLA | (语音控车) | XLA 语音控车 |
| ODD | Operational Design Domain | 运行设计域(NOA 适用范围) |
| ISA/TSA | Intelligent Speed Assistance / Traffic Speed Alert | 智能限速辅助(ECE 法规) |
关键认知(对抗验证纠正)
| 常见误解 | 源码真相 |
|---|
| ADAS 差异靠 sourceSet | ❌ dcddif/xcddif/global 三目录全空,靠三层控制(编译期 flavor + 运行期 isEce XML + 运行期 license) |
| 用 hiddenFeatures/lemans_ece 隐藏 | ❌ 不用(与 Light/Lock/Driving 不同!全靠 license + isEce 裁剪) |
| ECE 功能和国内差不多 | ❌ ECE 极简 65 行(UN-R152/R159/ISA 法规,仅 AEB/FCW + LDW + 超速告警 + 国家选择) |
| 用一套 License | ❌ CN/Global 两套独立 license(*_GLOBAL 系列) |
| ADS_MODE 是智驾模式 | ✅ ACC/LCC/NOA 三档总闸(MiCarAutoPilotAdsModTabController 555 行最复杂,控 15+ 子项显隐) |
| APA/AVP/HPP 是一个功能 | ❌ 三层:APA(现场)/AVP(代客远程)/HPP(记忆路线) |
| MAI 是手动接管 | ❌ 误加速抑制(Mis-Acceleration Inhibition,防油门当刹车) |
| BSD 和 LCA 是两个信号 | ❌ 复用同一信号 LCA |
| 超速告警一个实现 | ❌ 4 套平台分支(ECE TSA/海外 ISA/L2 ISA/普通) |
| AES = Automated-Valet-Parking | ❌ 源码注释笔误,实际 = Autonomous Emergency Steering(自动紧急转向) |
| RCTASwitch 读 RCW 信号 | ❌ 注释错误,实际读 RCTAB 信号 |
| Orin 只有一种 | ✅ 单 84 TOPS / 双 508 TOPS(DRIVING_ASSIST_CTRL_TYPE_CONFIG) |
| AEB 受 License 控制 | ❌ AEB/FCW/LDW 由 ADD 高配配置字控(L2 强标车型例外) |
| NavOverSpeedMileage 是车控 | ❌ NoaMileageProgress 是网络请求(10 分钟轮询,非 CarProperty) |
三层控制机制(核心)
①编译期 App region flavor
app/src/region/cn → AutopilotSettingsFragment (国内/ECE)
app/src/region/global → GlobalAutopilotSettingsFragment (海外)
↓
②运行期 MiCarSettings.isEce() 选 XML
AutopilotSettingsFragment: isEce ? micar_autopilot_settings_fragment_ece.xml
: micar_autopilot_settings_fragment.xml
GlobalAutopilotSettingsFragment: 固定 micar_autopilot_settings_fragment_global.xml
↓
③运行期 license + 配置字裁剪 (getPreferenceKeyResIdsToRemove)
MiCarLcsControlHelper.isLicenseFeatureVisible(id) + isCfgADDEnable() + isL2SupportedDevice()
文档导航
| 文档 | 内容 |
|---|
| 01-代码结构与地区差异 | 3 XML 对比、Fragment、60+ Controller 分类、三层控制、privacy 包 |
| 02-ADAS 功能全集 | NOA/泊车/AEB/车道/后向/限速/ADS/其他全功能详解 |
| 03-信号梳理 | AutoPilot 域、不可用原因、枚举值 |
| 04-地区法规与对抗验证 | 三层控制、License 体系、ECE 法规、车型矩阵、对抗记录 |
关键文件索引
| 类型 | 路径 |
|---|
| 入口 Fragment(国内/ECE) | settingsAutoPilot/.../autopilot/AutopilotSettingsFragment.java |
| 入口 Fragment(海外) | .../GlobalAutopilotSettingsFragment.java |
| 3 XML | .../res/xml/micar_autopilot_settings_fragment{,_global,_ece}.xml |
| 国家选择 | .../CountrySelectDialogFragment.kt |
| Switch 基类 | .../BaseAutopilotSwitchController.kt |
| Tab 基类 | .../BaseAutoPilotTabControllerNew.kt |
| License 配置 | .../AutopilotLicenseConfig.kt |
| ADS 总闸(555 行) | .../MiCarAutoPilotAdsModTabController.kt |
| 状态判断工具 | .../MiCarAutoPilotControlHelper.kt |
| privacy 包 | .../privacy/(GDPR 授权) |
| 信号域 | base/settingsBaseLib/.../MiCarPropertyIds.java(AutoPilot 254 行起) |