ADAS

ADAS是什么?

你需要知道三件事

先进的驾驶员辅助系统(ADAS)是自动化驾驶员职责的硬件和软件组件。目前车辆上的ADAS的例子包括自适应巡航控制、盲点检测、变道检测、自动车道跟随和自动紧急制动。

ADAS为何重要?

ADAS可以通过最小化人为错误使道路更安全。一些自动驾驶辅助系统通过提醒司机不安全的道路情况来加强安全驾驶习惯,比如当汽车进入司机的盲区会使变道变得危险时。其他的ADAS系统自动化驾驶行为,如自动紧急刹车的避碰。

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

ADAS的水平

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

SAE J3016TM自动驾驶等级

SAE J3016™自动驾驶水平™

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

ADAS特性是如何设计的?

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

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

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

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

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

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

我们使用ACC作为ADAS的例子,但是基于传感器数据选择合适的传感器和设计算法的一般方法适用于所有ADAS特征。

传感器的重要性

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

相机

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

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

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

雷达

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

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

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

激光雷达

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

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

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

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

基于仿真的ADAS算法开发

在硬件上进行测试非常昂贵,因此工程师首先使用虚拟模拟测试他们的ADAS解决方案。模拟环境可以是2D或3D。

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

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

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

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

基于MATLAB和Simulink的ADAS

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)上。

英伟达Jetson TX2板。

一台英伟达Jetson TX2。你可以用GPU Coder为它生成CUDA代码

集成和测试

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

需求编辑器,左侧是文件查看器,右侧是属性。属性面板显示了一个测试表的停和走测试在一个弯曲的道路。下表描述了目标车辆和自我车辆的要求。

参考应用后公路车道的要求测试。

Baidu
map