自动驾驶测试(下)

自动驾驶系统由软件、硬件和机械三大模块构成,系统需求最终会细化至每层模块的具体需求。

由各自模块内部完成“需求-设计-实现-测试”的V模型开发流程后,再进入系统集成阶段。

最后通过系统层V模型右侧的测试验证后,才能实现自动驾驶系统的落地。

 

图片

底层模块的每一环节都直接关系到最终系统的实现。

同时底层模块未规避和拦截的问题,也会直接遗留至系统层,等待在随机路测或用户使用中被发现。

问题越少,自动驾驶系统越安全。从底层模块开始,建立覆盖全流程的测试体系,可以有效检验异常情况的出现,实现从源头规避和拦截问题的产生。


 

1.

一个自动驾驶系统需求,经过需求分析,进行系统架构设计后,可拆解至多个软件、硬件和机械需求。

 

如系统需求:

当本车速度为80km/h时,本车道前方100米处的车辆急刹,本车应能及时减速或刹车,避免潜在碰撞发生。

拆解至软件需求:

其中感知模块需支持100米的车辆检测,包括车辆速度、位置、加速度、大小等。

拆至硬件和机械需求:

其中相机需满足感知检测距离需求,则对相机分辨率和FOV (Field of View,视场角)都有一定要求。

 

大疆车载双目相机

 

大疆车载自动驾驶零部件

 

不论是哪一底层模块出现异常,未按需求正确实现,最终都有可能导致系统需求无法正确实现,进而造成系统功能失效或故障。

提前对每一环节进行测试验证,确保其按需求实现,可有效减少出现系统问题的风险,最大程度保障系统正确实现。

 

图片

 

在上期我们已完成底层软件、硬件、机械模块的测试验证,这期我们继续系统层测试。

 

2.

确保底层模块都顺利就位后,下一步进入系统集成和实现阶段。

即使各模块都已通过测试验证,但在真正落地前,仍需通过系统集成测试和系统合格性测试2个测试大关的验证。

 

图片

# 系统层测试

1. 系统集成测试

通过资源使用测试、时序测试等测试,验证系统元素(软件、硬件、机械)集成在一起后,是否按系统架构设计实现。

1.1 资源使用测试

系统架构设计会对软件模块进行硬件资源(包括CPU中央处理器、内存、通信宽带等)分配。

如果资源使用超出预期,可能导致系统无法正常运行。因此在集成阶段需对各资源的分布和使用情况进行测试。

图片

1.2 时序测试

如测试系统启动时,各软硬件的启动时间和顺序是否符合设计预期。若不符合预期,不论某个模块启动过早或过晚,均可能导致系统启动失败。

2. 系统合格性测试

测试集成后的系统是否符合需求设计。除大家熟悉的路测外,还包括一系列功能需求和非功能需求的相关测试。

 

2.1 自动驾驶功能测试

通过模拟器测试、封闭场地测试、公开道路测试等测试手段,验证自动驾驶功能在各种场景下是否都能正确实现。

其中设计出有价值的测试场景是功能测试最重要的一环。

 

图片

基于功能定义和设计运行域ODD,通过对功能进行危害分析及危险评估、对危害触发条件和算法及传感器的性能局限进行分析。

并结合80+份法律法规及行业标准、1000+份CIDAS中国交通事故数据集和人类自然驾驶行为相关研究,大疆车载建立了高价值的测试场景数据库。

 

2.2 可靠性&EMC测试

为保证自动驾驶系统在汽车10余年的使用中,和在各种环境条件下均能满足需求正常运行。

系统还需通过电磁兼容、电气测试、寿命测试等80+项可靠性和EMC相关测试。

大疆车载自建的智能检测中心,可完成车规可靠性测试相关领域的70+项测试。

 

3.

通过软件、硬件、机械和系统4个层级的全流程测试覆盖,大疆车载实现了车规级自动驾驶测试体系建设。

此外,我们还将测试活动介入的时间,提前至V模型左侧的需求设计阶段,对需求设计进行评审和测试,在系统架构设计前规避问题的产生。

在某个项目中,通过测试评审需求,提前发现并规避了2000+例潜在问题,极大减少系统开发过程中出现问题的风险,和提高系统的安全性。

 

同时,除了200+人的路测团队日以继夜地进行路测验证外,未来搭载大疆车载自动驾驶系统的汽车,亦会有影子模式(在司机驾驶操作过程中,自动驾驶系统开启但不介入驾驶操作,通过采集驾驶数据,学习人类驾驶行为)。

通过数据闭环等功能,持续提升自动驾驶系统的安全性和可靠性。

4.

为了提高测试验证效率,加快系统落地进程。大疆车载围绕测试体系,结合自研模拟器和全套Hil测试验证设备等工具,还建设了一系列自动化测试工具链和自动化测试平台

posted @ 2022-10-19 15:06  panlifeng  阅读(151)  评论(0编辑  收藏  举报