固定线路换来了确定性:自动驾驶巴士的运营域要写成可验收条款

一、固定线路真正的价值是边界可以被穷举
据公开报道,有分析认为相较出租车的内卷,自动驾驶巴士凭固定线路、结构化场景、公共刚需与稳定客流等优势,被看作已经跑通了商业闭环。跑通闭环是报道里的观点,我们不复述也不作为判断依据。另一则报道称有监管方就学区路段超速问题对某自动驾驶出租车产品启动缺陷调查,涉及车辆数量、车型与调查结论都以报道口径为准,同样不作为本篇判据,我们也不据此评价任何一方的安全记录。
我们只取其中一条工程事实:线路固定,意味着一条线的运行边界可以被穷举写下来。出租车要面对城市里所有可能的起讫组合,它的运营设计域原则上写不完;巴士只跑一条线,路口是有限个,限速段是有限段,站点是有限座。能被穷举的东西就能被写进合同,能被写进合同的东西才能被验收。这份写下来的边界就是运营设计域,也是采购方唯一能验收的对象。
这里要提醒一句:能被穷举不等于已经被穷举。很多项目的运营域描述停留在路线示意图加几句文字说明,看起来清楚,实际没有一个字段可测。下面把它做成清单。
二、单线路运营设计域的八项清单
一条线的运营设计域至少写全八项,每项都要落到具体位置和具体数值条件上。核心交付物就是这张清单模板。
| 要素 | 必须写清的内容 | 可测量的退出判据示例写法 | 留证字段 |
|---|---|---|---|
| 起讫与掉头点 | 起点、终点、每个掉头位的坐标与路面条件 | 掉头位净宽实测值低于设定门限即停运该位 | 掉头位编号、实测记录、照片 |
| 路口清单 | 全线路口逐个编号,含信号方式与转向限制 | 出现清单外路口或信号样式变更未更新即退出该段 | 路口编号、信号类型、转向箭头记录 |
| 限速与学校区段 | 每段限速值及区段起止几何,学区与医院等特殊区段单独标注 | 进入特殊区段边界前未完成限速切换即视为越界事件 | 区段几何、限速属性版本、越界事件 |
| 施工与临时占道 | 施工信息源、变更通知路径、绕行是否允许 | 占道围挡侵入车道宽度超过约定比例即请求人工 | 通知时间、现场复核记录、绕行决策 |
| 占道停车 | 沿线允许与禁止停车的位置类型清单 | 连续多个车位被非许可车辆占用即降速或退出 | 占用识别记录、复测时刻 |
| 公交站上下客区 | 每站的停靠位、乘客候车区与开关门条件 | 停靠偏差超出约定范围或候车区有人越线即不开门 | 停靠横向偏差、开门前状态快照 |
| 极端天气处置 | 分等级的处置动作与判定输入 | 能见度、路面状态等输入超出约定档即停运 | 气象来源、判定时刻、停运指令记录 |
| 夜间与低客流 | 夜间班次与低客流时段的服务形态 | 夜间传感器可用条件不满足即改停运或改有人值守 | 班次表、可用条件检查结果 |
八项里最常被漏的是施工与临时占道,因为它不是静态的。漏掉的后果是运营域在事实上失效,而合同里看不出来。
三、退出判据要写成可测量的条件
判据写法的唯一标准是:换一个人照这句话判断,结论一样。
因此像”复杂路况不予运营””恶劣天气降级处理”这类表述要全部淘汰。复杂路况不是条件,是感受。要写成路口的转向关系清单里是否包含未登记类型、写成同一转向被阻挡的连续帧数、写成车道可用宽度实测值。恶劣天气要写成具体输入的档位,比如能见度的判定来源是什么、路面状态由谁给出、判定多久刷新一次。
判据还要区分两种动作:换一条路继续跑,还是整条线停。前者叫段级退出,要求绕行路径事先写进清单且经过验证;后者叫线级退出,要求触发条件与恢复条件都写明,并明确恢复由谁确认。只写停不写恢复的项目,第一次停运之后就没人敢做重启决定。
四、覆盖率的统计口径决定验收真假
验收里最容易造假的一个数字是测试里程。里程是自然数,只要车在路上跑就会增加,而它完全不说明跑过哪些场景。一条线跑了很长的里程,可能日日都是同一路段同一种天气同一种交通密度,剩下的路口类型、施工状态、夜间工况一次都没遇到。按里程统计,空白被平均掉了。
我们建议按场景计数而不是按里程计数,并把里程作为辅助口径。计数单位取三类:路口逐个编号,统计每个路口在不同信号状态、不同转向需求下被覆盖的次数;特殊区段按段统计进出次数,特别是限速切换事件是否真发生过;异常状态按类型统计,包括占道、违停、行人越线、开门受阻等事件各出现过多少次。三类里只要出现计数为零的条目,验收结论里就必须写明未覆盖,不能靠总里程把这一栏填过去。
这套口径也用来判断仿真补的覆盖算不算数。仿真的路口几何可以与现实一致,但现实里的占道、行人行为与临时信号并不在仿真脚本里。未在现场出现过的场景,验收表上建议单独标注为仿真覆盖,与实测覆盖分列。
五、降级与接管要分档,每档自带留证
降级动作建议固定为四档,从最轻到最重:降速、就近停靠、请求人工、退出运营。每档都要写触发条件、执行方式、退出条件三栏,还要留证。留证字段建议一次设计好,不要在事发之后补。
- 降速:触发于可用裕度下降但未失界的场景。留证降速原因位、目标速度、实际达到时间。
- 就近停靠:触发于继续行驶风险高于停靠风险的场景。留证选定停靠位的依据、到位时间、乘客状态。
- 请求人工:触发于超出预设判据但需要人给结论的场景。留证请求发起时间戳、人工响应时间、指令内容。
- 退出运营:触发于天气、道路或车辆状态整体不满足运营域。留证退出决定人、恢复条件核对记录。
责任划分靠记录支撑。我们把记录分乘客侧与道路侧两条。乘客侧要车内连续影像、开关门事件、候车区越线事件;道路侧要外部影像、控制权状态机的每一次跳转、以及请求接管与接管完成的时间戳。控制权状态这一条最容易被忽略,但它是唯一能说明当时由谁在开车的数据。四类记录要有统一时间基准,缺一类,事后就只能靠推测。
六、把合规硬边界做成三件套
学区限速这类约束和普通限速不一样,它是合规硬边界:不满足就是越界,不存在性能换成功的余地。做法是三件套。第一件是地图属性,限速值与区段类型作为地图数据字段单独维护,带版本号,不允许写在配置文件里靠人工同步。第二件是区域几何,把边界画成可计算的闭合区域,车辆进入之前先经过几何判定,判定结果与执行动作都要落库。第三件是越界事件,任何一次超出边界都要生成一条不可事后修改的事件记录,包含当时车速、判定输入、地图版本与执行动作。三件套齐了,这类问题才从”有没有发生”变成”发生了几次、有没有处置”,才是可核查的状态。
采购验收建议按四张表走,每张表对应一个动词。
- 清单齐:八项要素逐项有点,无空栏,未登记项显式标注。
- 覆盖够:按路口、特殊区段、异常事件三类计数逐项非零,未覆盖项列明并标注仿真或实测。
- 降级对:四档降级的触发条件、执行方式、退出条件三栏完整,现场触发试验逐档做一遍并留记录。
- 留证全:四类记录在统一时间基准下可对齐回放,任取一段时间能还原出当时的控制权状态与决策输入。
四张表里第三张最常被跳过,因为触发试验要占线路、要协调停运。跳过它的结果是谁也不知道那套降级逻辑是不是只在文档里成立。洹拓在项目里把逐档触发试验列为交付前必须做一次的动作,宁可在演练阶段多花时间,也不要在上线后用真实乘客来验证降级条款。