ADAS

什么是ADAS?

你需要知道3件事

高级驾驶辅助系统(ADAS)是将驾驶员的职责自动化的硬件和软件组件。目前车辆中的ADAS应用实例包括自适应巡航控制、盲点检测、变道检测、自动车道跟踪和自动紧急制动。

为什么ADAS很重要?

ADAS可以最大限度地减少人为错误,从而使道路更加安全。一些ADAS系统通过提醒司机不安全的道路场景来加强安全驾驶习惯,例如当一辆汽车在司机的盲点上会使变道变得危险。其他ADAS系统自动化驾驶行为,如自动紧急制动防撞。

事实上,根据波士顿咨询集团(Boston Consulting Group)的一项研究,ADAS在美国预防了28%的交通事故和9,900起年度死亡事故。

ADAS等级

根据汽车工程师协会的定义,驾驶自动化分为五个级别。当今道路上的大多数汽车的ADAS功能都在0级到3级之间。处于自动驾驶前沿的公司正在追求第4级和第5级。

自动驾驶等级

SAE J3016自动化驾驶等级

随着安全、网络安全和政策问题的解决,全自动驾驶汽车可能会成为现实。

ADAS功能是如何设计的?

为了理解ADAS功能是如何设计的,让我们以自适应巡航控制为例。当使用该ADAS功能时,汽车在接近前面的车辆时减速,如果前面的车辆移动到安全距离,则加速到巡航速度。

设计自适应巡航控制系统(ACC)的第一步是从安装在汽车上的传感器收集数据。对于自适应巡航控制,我们需要一个摄像头和一个雷达传感器。摄像头检测到框架内的其他物体(车辆、行人、树等),雷达计算出我们的汽车到物体的距离。

在从传感器收集数据后,我们将重点转向ADAS算法开发。自适应巡航控制可以分为三个步骤:

一种感知算法,用来检测我们前面是否有车辆

步骤1、2、3对应如下:

  1. 一种感知算法,用来检测我们前面是否有车辆
  2. 一个雷达算法来计算我们和那辆车的距离
  3. 一种基于距离测量来调节车速的控制算法。

我们使用ACC作为ADAS的例子,但是根据传感器数据选择正确的传感器和设计算法的一般方法适用于所有ADAS功能。

传感器的重要性

用于ADAS功能的三种最流行的传感器类型是摄像头、雷达和激光雷达。

相机

摄像头用于检测相关的ADAS任务。车辆侧面的摄像头可以探测到盲点。前面的摄像头可以探测车道、车辆、标志、行人和骑自行车的人。相关的ADAS检测算法一般采用常规方法构建计算机视觉还有深度学习算法。照相机有几个优点:

  • 它们为目标检测提供了极好的数据
  • 它们相对便宜低价格意味着对制造商来说,测试许多类型的相机的成本更低
  • 有很多种类-测试和选择从许多相机类型,如鱼眼,单眼,针孔
  • 它们是研究最广泛的相机是三种传感器类型中最古老的,研究最多的

相机数据的缺点是,与其他传感器类型的数据相比,它们不太适合检测与物体的距离。因此,ADAS开发人员经常将摄像头与雷达结合使用。

雷达

雷达传感器发射高频波,并记录这些波何时从环境中的物体反射回来。这些数据可以用来计算到一个物体的距离。在ADAS系统中,雷达传感器通常位于车辆的前部。

雷达在不同的天气条件下工作,这使得它成为自动紧急制动和自适应巡航控制等ADAS功能的实用传感器选择。

虽然雷达传感器数据非常适合用于距离探测算法,但这些数据在对探测目标进行分类的算法中用处不大。因此,ADAS开发人员经常将雷达与摄像机结合使用。

激光雷达

激光雷达(光探测和测距)传感器向环境中发射激光,并记录信号何时返回。返回的信号被重建,以创建一个显示激光雷达周围环境的3D点云。激光雷达数据可用于计算传感器与3D点云中物体的距离。

用于ADAS应用的激光雷达传感器有两种类型:

  1. 机电(旋转)激光雷达-机电激光雷达安装在汽车顶部,在收集数据时旋转,以生成环境的3D点云图。
  2. 固态激光雷达-这是一种没有活动部件的新型激光雷达。从长远来看,固态激光雷达有望比机电激光雷达更快、更便宜、更准确。然而,设计一个商业上可行的传感器会带来与传感器的安全性和范围相关的工程问题。

您可以使用激光雷达数据在ADAS中执行距离检测和目标分类功能。然而,与相机和雷达数据相比,激光雷达数据处理需要更多的计算能力,这给ADAS算法开发人员带来了一些具有挑战性的问题。

ADAS算法的仿真开发

在硬件上进行测试成本很高,因此工程师首先使用虚拟仿真来测试他们的ADAS解决方案。模拟环境可以是2D或3D。

您可以使用2D模拟来开发和测试相机和雷达的ADAS算法。我们首先创建虚拟场景,包括道路、行人、骑自行车的人和其他车辆。然后我们将我们的车辆放置在场景中,并在其上安装虚拟摄像机和雷达传感器。然后,我们可以对汽车的运动进行编程,以生成合成传感器数据,用于ADAS算法开发和测试。

3D模拟建立在2D模拟的基础上,允许我们测试除了摄像头和雷达之外的激光雷达。3D环境由于相对复杂,需要更多的计算能力。

在模拟环境中开发出ADAS算法后,下一个开发阶段是硬件在环(HIL)测试。这包括用汽车上的真实硬件(如真实的制动系统)测试ADAS算法,将它们连接到模拟环境中。HIL测试可以很好地了解汽车的ADAS组件在现实世界中的运行情况。

还有其他ADAS测试,如驾驶员在环测试,但它们都指向车内测试,以了解当所有部件组合在一起时车辆的性能。这是最昂贵的ADAS测试类型,但也是最准确的,并且是在车辆投入生产之前所必需的。

ADAS与MATLAB和Simulink

MATLAB®和仿真软件®支持工作流程的各个阶段的ADAS开发:

  1. 分析数据
  2. 综合驾驶场景
  3. 设计ADAS规划控制算法
  4. 设计感知算法
  5. 部署算法
  6. 集成和测试

分析数据

MATLAB使您能够访问、可视化和标记实时和记录的驾驶数据,用于ADAS开发。MATLAB还通过HERE HD Live Maps、OpenStreetMap和Zenrin Japan Maps支持地理地图数据。这些数据通常用于ADAS算法的开发和验证。

该应用程序在左侧显示了一段视频,视频中有一辆标有蓝色包围框和“汽车”字样的汽车,在右侧显示了一段激光雷达序列,视频中有一辆标有3D蓝色包围框的汽车。

地面真相标签在视频、图像序列或激光雷达点云中交互式标记地面真相数据的应用程序。

综合驾驶场景

MATLAB允许您在虚拟场景中开发和测试ADAS算法,使用长方体仿真环境进行控制、传感器融合和运动规划,以及虚幻引擎环境进行感知。你也可以设计逼真的3D场景走鹃

应用程序在左边显示一个场景画布,在右边显示一个鸟瞰图。左边显示了一个交叉路口,有多辆车,其中包括一辆向北行驶的蓝色自负车。右边显示的是同一交叉口,从鸟瞰的角度看,摄像头传感器和雷达传感器探测的自我车辆。

驱动场景设计器应用程序,用于为ADAS应用程序设计场景、配置传感器和生成合成数据。

ADAS规划控制算法设计

MATLAB包含许多自动驾驶参考应用,可以作为设计自己的ADAS规划和控制算法的起点。

带有自我车辆的道路,多条曲线路径显示轨迹,左侧为追逐视图,右侧为俯视图。路径用颜色编码为最优、碰撞、不可行和未评估。

在鸟瞰图中评估高速公路驾驶情况中可能的轨迹的可视化。

设计感知算法

MATLAB提供了从相机、雷达和激光雷达数据开发感知算法的工具。你可以使用计算机视觉、深度学习、雷达和激光雷达处理以及传感器融合来开发算法。

从司机的角度看,一个被黄色边框包围的停车标志和一个写着“stopSign:(Confidence = 0.995492)”的标签。

使用MATLAB预训练的R-CNN检测停车标志。

部署ADAS算法

这样的工具箱MATLAB编码器™,嵌入式编码器®,GPU编码器自动生成代码,将ADAS算法部署到嵌入式设备和面向服务的架构(如ROS和AUTOSAR)上。

NVIDIA Jetson TX2板。

一台NVIDIA Jetson TX2。你可以用GPU编码器为它生成CUDA代码

集成和测试

您可以使用Simulink工具集成和测试您的感知、计划和控制系统。使用要求工具箱™,你可以捕捉和管理你的ADAS需求。你也可以使用仿真软件测试™并行地运行和自动化测试用例。

需求编辑器,左边是文件查看器,右边是属性。属性面板显示了一个用于在弯曲道路上进行停-走测试的测试表。下表描述了ego车辆的目标车辆和要求。

公路车道参照应用要求测试。

Baidu
map