导读
上一篇文章《自动驾驶岗位入门技术及前景》中,我将自动驾驶目前需求量较高的相关岗位分成了三大类,分别为算法、仿真以及测试方向,并且也着重介绍了算法类方向下的细分岗位的入门技术及未来前景。这篇文章就想和大家深入解读一下另外的两个方向:仿真及测试岗位。
1、什么是自动驾驶仿真技术
自动驾驶的仿真技术现如今越来越受到企业的重视,在自动驾驶算法技术还不成熟的今天,进行大规模的实车路测显然是不现实的,这不仅有极大的安全隐患,同时也非常的没有效率,目前的感知算法都依赖大量的数据集,如果仅仅依靠实车采集的数据,显然对提升感知效果帮助非常有限。
另外,在自动驾驶算法日益成熟的今天,各大厂商着重解决的应该是各种极端条件下的corner case,这不仅关乎到无人车的安全,更关系到企业的品牌,因为各种corner case而导致的实车事故都会对企业的品牌形象造成不可挽回的打击。因此,在实车测试前,在仿真环境中进行大量的corner case测试也就显得至关重要了。
目前的自动驾驶仿真技术的基本定义如下:
1) 自动驾驶仿真技术是计算机仿真技术在汽车领域的应用,它比传统ADAS仿真系统研发更为复杂,对系统在解耦和架构上的要求非常高;
2)类似其他通用仿真平台,它必须尽可能的真实,而对仿真系统进行分析和研究的一个基础性和关键性的问题就是将系统模型化;
3)通过数学建模的方式将真实世界进行数字化还原和泛化,建立正确、可靠、有效的仿真模型是保证仿真结果具有高可信度的关键和前提;
4)仿真技术的基本原理是在仿真场景内,将真实控制器变成算法,结合传感器仿真等技术,完成对算法的测试和验证;
2、自动驾驶仿真平台
我们都知道自动驾驶的仿真其实就是类似于游戏平台,因此目前主流的自动驾驶仿真软件都是根据游戏引擎来开发的。下面是我整理的几个主流的仿真软件:
仿真软件 |
引擎 |
介绍 |
Udacity |
Unity |
优达学城的自动驾驶仿真平台 |
Carla |
Unreal4 |
Intel和丰田合作的自动驾驶仿真平台 |
AirSim |
Unreal4 |
微软的仿真平台 |
Lgsvl |
Unity |
LG的自动驾驶仿真平台 |
DreamView |
百度Apollo的自动驾驶仿真平台 |
Unreal4 - 主要的编程方式是c++,源码完全开源,还可以通过蓝图来编程。比较著名的游戏有:《鬼泣5》《绝地求生:刺激战场》
Unity - 主要的编程方式是c#和脚本,源码不开放,超过盈利上限收费。比较著名的游戏有:《王者荣耀》《炉石传说》
3、自动驾驶仿真工程师
对自动驾驶仿真工程师这个岗位,网上的相关介绍还是少了些。有些公司是直接把它纳入到基础架构组里,有些是单独招聘这个岗位,还有些是把它纳到测试组里。
仿真工程师。从某种程度上说,像是产品+系统工程师+数据处理工程师。一个合格的仿真工程师应该能打通整个数据链,使数据发挥出真正的价值,从这个方面来看,它又像是基础架构工程师了。这其实是一个要求很高的职位,不是只需要会用一些相关的软件就够了的。
操作系统:Linux
编程:MATLAB/simulink、Python、C++
理论知识:熟练操作一种常用车辆动力学或无人车相关仿真软件,比如Perscan、Carsim、Carmaker等。熟悉机器人操作系统ROS等。有的仿真岗位纯属于做仿真,但有的岗位需要做仿真环境的开发,这样的岗位对编程要求会更高一些。
4、自动驾驶测试工程师
该方向主要负责自动驾驶车辆的相关测试工作,测试自动驾驶系统功能各项指标的性能,评估其边界条件和失效模式;根据研发人员对数据的需求,制作采集文档,完成数据采集等操作。其中包括软件、硬件等测试,需要熟悉如Linux编程测试环境等。
工作内容:
需求review:第一篇的v-model中提到过,在有了system requirement后,测试人员会和软件开发一起review这份requirement,确认没有分歧。然后这份requirement就作为测试工程师写test case的基础。
写test case:主要就是包含了针对这个ECU软件,要做哪些测试,覆盖哪些工况,测试步骤等等,确保要完全覆盖system requirement。
编写自动化测试脚本:现在比较常用的是Vector的工具,测试工程师一般会基于CAPL编写一些自动化测试的脚本,这样在今后的版本更迭中,只需要对应做一些修改,就可以比较方便的进行测试了 。
系统测试:基于测试脚本对软件进行测试,然后出测试报告,有了bug的话要通过一定的流程记录报给开发解决。
5、结语
以上就全部介绍完了自动驾驶行业中仿真和测试方向的相关岗位以及所需的入门知识技能,随着行业的越发火热,越来越多的同学加入进自动驾驶的领域中来,对将行业做大做强起到了迅猛提升的作用。未来随着自动驾驶越发成熟,所需要的高精人才也会越来越多,而无论何时,多了解跟上行业的最新技能,提高自身的核心竞争力,都是使自己职业发展稳步前进的不二法则。
- End -