从实验室到开放道路: 自动驾驶必经的"开环和闭环的魔鬼双考"是什么?
现在读自动驾驶论文的过程中,看到越来越多的文章中出现"本文所提出的算法模型在闭环测试上的表现性能"。
本文就结合自己的工作体会以及阅读的论文,对开环和闭环测试是什么以及二者的区别和联系谈谈自己的理解。
原文链接:从实验室到开放道路: 自动驾驶必经的"开环和闭环的魔鬼双考"是什么?(点击阅读)
一、什么是开环测试
开环测试是一个单向的流程,即传感器信息输入 -> 算法处理 -> 输出结果(比如规划对应的控制信号)。最终的控制指令不会实际控制自动驾驶车辆,也就没有后续的反馈结果。
举个例子:论文提出的算法模型在开源数据集的某个任务上实现了不错的性能指标,达到了SOTA的效果。
二、什么是闭环测试
测试闭环测试是一个循环的流程,即传感器信息输入 -> 算法处理 -> 输出结果 -> 执行动作 -> 车辆状态发生变化形成反馈 -> 下一时刻新的信息输入 -> 算法处理。(重复上述流程)
举个例子:在CARLA仿真平台或者实际测试场景中检验算法模型的上路效果。
三、开环&闭环测试的区别
通过上述的描述不难看出,开环和闭环测试的核心区别在于模型输出的结果最终是否得到了反馈。
四、开环和闭环测试的联系
开环测试可以快速验证算法模型在各类场景下的表现,检查存在哪些corner case等。
闭环测试用于算法模型在实际上车过程中的动态验证。
总结
开环测试类似于纸上谈兵,闭环测试更像是真枪实弹,验证自动驾驶系统在与其他实际agent交互中的驾驶表现。