自动驾驶仿真工程师

自动驾驶仿真工程师其实是一个要求很高的职位,它不是只需要会用一些相关的软件就够了的。从招聘需求里,我们可以反过来推推,想成为一个足够优秀的仿真工程师,我们的技术栈要覆盖哪些方面。

先聊聊自动驾驶仿真,它是自动驾驶测试的重要一部分,也可归属到安全或者产品的概念范畴里。随着自动驾驶技术的成熟,产品落地开始逐渐提上日程,这个过程离不开自动驾驶测试。

但,大家心里也门儿清,现阶段大规模的实车测试很不现实。一次实车测试,场地、人力、实验设备都在疯狂烧钱,大部分公司还是承担不起的。另外,实车测试非常低效,测试里程什么时候才能达到10^9数量级?实车测试安全性也不能得到保障,构造一个边缘场景,原型车、人撞了怎么办?实车测试的数据也比较难利用,系统在处理某个场景出现bug时,工程师能得到的只是bag数据,对于高交互的复杂场景,重播是受限制的。

这些问题都可以通过仿真测试有限地解决。就成本问题,仿真测试在某种程度上把实车测试成本转化成了显卡的成本,通过使用计算机就可以快速地提高积累里程。我们也可以仿真中测试各种极端场景而不用担心安全问题。仿真系统可以记录重播整个测试过程中的环境状态和系统状态,这有助于定位bug,提高测试效率。

随着软件工程的发展,传感器仿真、动力学仿真等建模技术的成熟,仿真平台这几年隐隐约约有井喷之势。当下对于开源的自动驾驶仿真平台,我比较看好的是carla和Airsim,商业仿真平台,Prescan、VIRES Test Drive也都不错,可以多关注这几个工具。

但如果想成为一个够格的真正的自动驾驶仿真工程师,会用几个软件是不够的,那是基础,但不是天花板。面向自动驾驶修通的测试往往已不再是黑箱测试,而是基于知识的白箱测试。仿真工程师需要懂偏开发知识,即掌握自动驾驶系统/产品的主要系统架构、各类传感器的基本原理、动力学仿真的基本知识、规划算法的基础原理、一些深度学习技术等。也要掌握测试的知识,如各种在环系统的构建方法,测试场景生成,测试用例编写,测试自动化技术开发等等。

以下列举一些典型大厂对自动驾驶仿真工程师的招聘需求:

PlusAI

岗位描述
  • 负责自动驾驶系统仿真平台和相关工具链的构建
  • 设计仿真测试场景和功能模块,如交通环境、多车交通流、天气路况等
  • 为感知、规划、预测、控制等模块开发仿真测试接口
  • 开发基于仿真测试的自动化数据分析平台
  • 构建可扩展的框架,以在集群环境中运行大量模拟
  • 开发自动驾驶系统的自动化回归测试框架。
    岗位需求
  • 计算机、自动化、数学等相关专业,硕士及以上学历
  • 熟悉C++/C或Python或nodejs,扎实的算法和数据结构知识
  • 具备扎实的数学能力,熟悉几何、计算机图形学、动态系统建模等理论和方法
  • 具背复杂软件架构和设计的能力
  • 能够熟练使用可视化和建模工具
  • 有自动驾驶系统仿真、ADAS系统仿真、游戏引擎开发经验
  • 有交通流模型设计经验
  • 有图像生成、点云处理、三维重建、地图创建、规划控制等项目经验
  • 有大规模集群环境中开发分布式系统以及大型后端系统开发经验

华为

岗位描述
  • 分析国内外智能驾驶主流测试策略,规划并实现业界领先的智能驾驶验证体系
  • 研究先进的场景仿真技术,构建强大的自动驾驶仿真场景库与测试评价系统
  • 根据智能驾驶系统和功能需求,设计产品的仿真测试方案
  • 研究先进的道路数据采集技术,运用大数据技术重构仿真场景,并指导路测数据的再利用
    岗位要求

阿里

岗位描述
  • 负责搭建自动驾驶虚拟场景,完善仿真测试框架
  • 配合驾驶决策、路径规划、仿真算法等模块,实现自动驾驶闭环仿真,并可视化相关调试信息
  • 通过物理引擎对自动驾驶仿真结果进行评估
  • 理解各种仿真引擎优缺点,根据项目阶段搭建并部署相应系统
  • 本科及以上学历,机器人、计算机、游戏开发等相关专业
    岗位要求
  • 熟悉unity、unreal等游戏引擎
  • 熟悉至少一种3D建模工具,如Sketchup,Blender等
  • 熟悉掌握游戏物理引擎的应用
  • 有自动驾驶仿真工具搭建者优先
  • 有汽车类游戏开发经验者优先
  • 有使用CarSim、PreScan搭建车辆运动仿真平台者优先
  • 有两年以上测试经验,有搭建车辆在环仿真测试场景经验者优先
  • 有多年python等脚本语言开发经验优先
  • 多年的C++的开发经验,1~3年的实际项目工作经验
  • 熟练掌握Linux或类Linux系统,并掌握常用Linux命令
  • 善于团队协作完成既定任务。
  • 深入理解软件开发周期、软件质量需求,扎实等测试知识及执行力

百度

岗位描述
  • 按照需求进行仿真系统相关功能的设计和开发工作
  • 对仿真前沿技术进行跟踪与研究
  • 通过需求调研和需求分析,完成业务建模、系统建模
    岗位要求
  • 计算机相关专业本科以上学历
  • 有扎实的计算机基础知识,熟练掌握C/C++编程语言
  • 熟悉软件开发流程,有良好的编程风格和文档习惯
  • 熟悉Linux、Unix等操作系统,并在此系统上有开发经验的优先
  • 良好的沟通能力和执行能力; 正直、务实、敬业、善于思考、良好的团队合作精神
  • 有ROS开发经验优先
  • 掌握仿真相关原理和算法优先
  • 具有车辆主动安全和自动驾驶系统开发经验优先
  • 掌握一种以上通用或专用仿真工具软件,有业务模拟仿真或仿真平台的开发经验优先

京东

岗位描述
  • 设计和实现基于插件式的分布式仿真系统底层架构,替换ROS系统,并可满足车辆量产的要求;
  • 实现仿真系统三维渲染引擎,对动态和静态场景渲染和模拟以及交互性,预期要达到次世代游戏的水平;
  • 实现物理引擎以及AI脚本引擎的优化及实现。
    岗位要求
  • 计算机相关专业,硕士及以上学历;
  • 深入理解机器人地图和自动驾驶数据,熟悉ROS以及Linux ,了解SLAM相关算法,C++架构能力强,有车厂或图商相关研发优先;
  • 具备地图/GIS相关数据可视化开发经验 或者 商业渲染引擎、游戏引擎优化以研发经验;
  • 深入理解OpenGL基本原理及相关计算几何,熟悉数据可视化相关基础算法。

美团

岗位描述
  • 设计和构建无人车仿真平台,实现各类算法的快速验证
  • 重建真实场景和传感器模型,持续提升感知模拟的精准度
  • 跟踪和研究仿真前沿技术
    岗位要求
  • 熟练掌握C++、Python,了解Linux
  • 熟悉传感器模拟、点云处理、三维重建等技术【计算机图形学】
  • 了解Gazebo、Prescan等至少一种仿真软件【部分模拟器】
  • 良好的沟通表达和团队协作能力
  • 有3D赛车游戏开发经验优先
  • 有3D引擎如UE4、Unity开发经验优先
  • 有仿真系统开发经验优先

Momenta

岗位描述

负责搭建无人驾驶模拟系统,对汽车、传感器、环境进行软件模拟。模拟结果将与真实数据一同用于预测汽车在真实场景中的行为。

岗位要求
  • 熟悉汽车系统和仿真软件(carsim, carmaker, v-rep)
  • 熟悉C++/Python等开发语言,有Linux开发经验
  • 了解汽车动力学模型,3D图像引擎工作原理
  • 具有一定模拟系统或3D游戏开发经验,具有无人驾驶、汽车、机器人领域模拟系统开发经验者优先

慧勒汽车科技(上海)股份有限公司

岗位描述
  • 负责自动驾驶软件(虚拟驾驶场景、交通流、高精地图)集成测试、硬件(摄像头、激光雷达、毫米波雷达、GPS/IMU、ECU)在环台架测试、以及驾驶员在环测试;
  • 搭建自动驾驶硬件在环平台,包括软硬件架构、各接口定义等;
  • 设计并搭建自动驾驶仿真场景,并编写测试用例,撰写测试报告;
  • 配合算法工程师调试并测试控制算法;
  • 负责集成调试自动驾驶嵌入式实时计算平台;
  • 负责集成调试自动驾驶HMI。
    岗位要求
  • 硕士及以上学历,汽车类、电子类、自动化、计算机类等相关专业;
  • 精通嵌入式开发,熟悉C++,精通Linux环境,具有丰富的软硬件动手实践经验;
  • 熟悉车载CAN、以太网总线、TCP/IP, UDP, serialization等通讯协议;
  • 良好的沟通能力,自主学习能力,富有高度的责任心及团队合作精神;
  • 有ACC、AEB、APA、LKA等ADAS功能仿真与开发经验者优先;
  • 熟悉NVidia Drive PX2或者Jetson TX2嵌入式平台优先;
  • 熟悉超声波雷达/毫米波雷达/激光雷达/摄像头/ECU等产品优先;
  • 熟悉实时仿真系统者优先。

总结,自动驾驶仿真工程师的岗位有点像公司中的系统应用工程师或者基础架构工程师,这样来说,很多问题就变得更清晰来了一些。

0%