“当了十年IT程序员,我转型做自动驾驶开发的这五年!”( 二 )


车端基础架构工程师经常需要解决软硬件因素混杂又难于重现的复杂问题 , 某友商类似岗位的招聘要求就非常直白:“Use your expertise to debug hard-to-reproduce whole-system problems” 。 比较适合熟悉C++技术栈的互联网后端程序员 , 根据近几年的招聘经验 , 我认为通信行业C++工程师也普遍比较适合 。
车端基础架构主要包含下面这些方向:

  • 中间件 :为上层应用提供通信、任务管理等基础服务 , 同时保证了不同车型、传感器和操作系统的接口统一 。
  • 工具链 :与车端中间件及云端数据平台配套的数据采集、回放和调试工具集 , 开发迭代效率和问题定位效率的倍增器 。
  • 操作系统 :目前车端自动驾驶域以商业实时操作系统和定制版本Linux为主 , 预计未来会有专用的自动驾驶操作系统出现 。
车端 算法和应用
自动驾驶车端算法按照目前的行业共识 , 一般分为感知、定位、决策、规划、控制等若干方向 , 比较适合互联网行业算法策略背景的工程师考虑 。
通俗地比喻一下 , 每个算法方向解决的是下面这些问题:
  • 感知 :根据各个方向摄像头和各种雷达的输入 , 确定自己看到的是什么 , 有多远 。
  • 定位 :根据卫星定位、惯性导航、高精地图和环境特征 , 确定自己在哪条道路的哪个车道 。
  • 决策和规划 :自己应该去哪里 , 以及怎么安全到达 。
  • 控制 :在保证乘客体验的前提下控制车辆转向和加减速 。
云端服务
除了车端以外 , 自动驾驶云端业务重要度也非常高 , 云端系统的完善度与成熟度是直接影响车端系统迭代效率的关键因素 。 因为不受车端硬件环境的限制 , 可以直接沿用成熟的互联网技术栈 , 所以自动驾驶云端是最适合互联网程序员转型自动驾驶的技术方向 。 云端服务有以下这些业务:
  • 数据平台 :自动驾驶开发和运行过程中都会产生非常大量的数据 , 是保证研发迭代和排查问题的关键因素 , 与车端工具链共同构成核心基础设施 。
  • 虚拟仿真和自动化测试 :实车上路测试成本高昂 , 可以大量并行运行的虚拟仿真场景 , 能够提升测试效率和降低测试成本 。
  • OTA远程更新 :车辆对远程更新软件的安全性和可靠性要求远高于手机 , 对远程更新服务的健壮性也提出了更高的要求 。
  • 远程监控 :基于5G基础设施的远程监控和接管是比较新的技术方向 , 有可能是Robotaxi(自动驾驶出租车)服务落地的关键性因素 。
智能驾舱
智能汽车驾舱方向虽然不参与车辆控制 , 但是承担着用户与自动驾驶系统之间桥梁的职责 , 直接关系着车辆乘客的全程体验 。
目前驾舱普遍使用基于安卓系统的大屏车机和语音控制作为主要人机界面 , 所以比较适合互联网行业移动端或者前端开发人员考虑 。
高精地图
预计在今后相当长的时间内 , 高精地图都是自动驾驶系统的一个关键依赖 , 高精地图业务包括数据采集处理、云端服务、车端服务等方面 , 本身已经涵盖了从车端到云端的各个技术环节 , 如果具备GIS(Geographic Information System)专业背景 , 或者互联网地图服务项目经验 , 就比较适合高精地图方向的岗位 。
除了上面提到的这些 , 自动驾驶对信息安全、配置管理、系统集成、软件测试等研发配套岗位同样有招聘需求 , 建议有兴趣的同行可以保持关注 。
自动驾驶系统的特点和差异
显而易见 , 自动驾驶系统对代码的稳定性、安全性和性能都有更高的要求 。 除此之外 , 还需要适应以下这些差异:

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。