ADAS是什么?
你需要知道三件事
先进的驾驶员辅助系统(ADAS)是自动化驾驶员职责的硬件和软件组件。目前车辆上的ADAS的例子包括自适应巡航控制、盲点检测、变道检测、自动车道跟随和自动紧急制动。
ADAS可以通过最小化人为错误使道路更安全。一些自动驾驶辅助系统通过提醒司机不安全的道路情况来加强安全驾驶习惯,比如当汽车进入司机的盲区会使变道变得危险时。其他的ADAS系统自动化驾驶行为,如自动紧急刹车的避碰。
事实上,根据波士顿咨询集团(Boston Consulting Group)的一项研究,在美国,ADAS预防了28%的交通事故和每年9900人死亡。
ADAS的水平
根据汽车工程师协会的定义,驾驶自动化分为五个级别。今天路上的大多数汽车都有介于0级和3级之间的ADAS功能。处于自动驾驶前沿的公司正在追求第4级和第5级。
随着安全、网络安全和政策问题的解决,全自动驾驶汽车可能成为现实。
为了理解ADAS特性是如何设计的,让我们以自适应巡航控制为例。当使用这个ADAS功能时,汽车在接近前面的车辆时减速,在前面的车辆移动到安全距离时加速到巡航速度。
设计自适应巡航控制(ACC)的第一步是从安装在汽车上的传感器收集数据。对于自适应巡航控制,我们需要一个摄像机和一个雷达传感器。摄像头探测到帧中的其他物体(车辆、行人、树等),雷达计算我们的车到物体的距离。
在从传感器收集到数据后,我们将注意力转向ADAS算法的开发。自适应巡航控制可分为三个步骤:
步骤1、步骤2、步骤3对应如下:
- 一种感知算法,用来检测我们前面是否有车
- 用雷达算法计算我们和车的距离
- 一个控制算法,根据距离测量来调整我们的车的速度。
我们使用ACC作为ADAS的例子,但是基于传感器数据选择合适的传感器和设计算法的一般方法适用于所有ADAS特征。
传感器的重要性
用于ADAS功能的三种最流行的传感器类型是相机、雷达和激光雷达。
相机
摄像机用于检测相关的ADAS任务。车辆侧面的摄像头可以探测到盲点。前面的摄像头可以检测车道、车辆、标志、行人和骑自行车的人。相关的ADAS检测算法通常采用常规方法计算机视觉还有深度学习算法。照相机有几个优点:
- 它们为目标检测提供了极好的数据
- 它们相对便宜低价格意味着测试许多类型的相机是更便宜的制造商
- 有很多种类-测试和选择从许多相机类型,如鱼眼,单眼,针孔
- 他们是最广泛的研究-相机是三种传感器类型中最古老的,研究最多的
相机数据的缺点是,与其他类型的传感器数据相比,它们不太适合检测物体之间的距离。由于这个原因,ADAS开发人员经常将相机与雷达结合使用。
雷达
雷达传感器发射高频波,并记录这些波何时从环境中的物体反弹回来。这些数据可以用来计算到一个物体的距离。在ADAS中,雷达传感器通常安装在车辆的前部。
雷达工作在不同的天气条件下,这使它成为ADAS功能的一个实用的传感器选择,如自动紧急制动和自适应巡航控制。
虽然雷达传感器数据非常适合于距离检测算法,但这些数据在对检测到的目标进行分类的算法中用处不大。由于这个原因,ADAS开发人员经常将雷达与相机结合使用。
激光雷达
激光雷达(光探测和测距)传感器向环境中发射激光,并记录信号何时返回。返回的信号被重建,以创建一个三维点云,显示激光雷达的周围环境。激光雷达数据可以用来计算传感器与三维点云中物体的距离。
有两种类型的激光雷达传感器用于ADAS应用:
- 机电(旋转)激光雷达-机电激光雷达安装在汽车顶部,在收集数据时旋转,生成环境的3D点云图。
- 固态激光雷达-这是一种新型的激光雷达,没有移动部件。从长远来看,固态激光雷达有望比机电激光雷达更快、更便宜、更精确。然而,设计一个商业上可行的传感器带来了与传感器的安全性和范围相关的工程问题。
在ADAS中,可以使用激光雷达数据执行距离检测和目标分类功能。然而,与相机和雷达数据相比,激光雷达数据处理需要更多的计算能力,这给ADAS算法开发者带来了一些挑战性的问题。
基于仿真的ADAS算法开发
在硬件上进行测试非常昂贵,因此工程师首先使用虚拟模拟测试他们的ADAS解决方案。模拟环境可以是2D或3D。
您可以使用2D模拟来开发和测试相机和雷达的ADAS算法。我们首先创建虚拟场景,包括道路、行人、自行车和其他车辆。然后我们把我们的车辆放置在场景中,并安装虚拟相机和雷达传感器。然后,我们可以对汽车的运动进行编程,为ADAS算法的开发和测试生成合成传感器数据。
3D模拟建立在2D模拟的基础上,允许我们测试除了相机和雷达之外的激光雷达。3D环境相对复杂,需要更多的计算能力。
在模拟环境中开发了ADAS算法之后,下一个开发阶段是硬件在环(HIL)测试。这涉及到用来自汽车的真实硬件(如真实的制动系统)来测试ADAS算法,将它们连接到模拟环境中。HIL测试可以很好地了解汽车的ADAS组件如何在现实世界中运行。
还有其他的ADAS测试,如驾驶员在环测试,但它们都通向车内测试,以了解当所有部件组合在一起时,车辆将如何运行。这是最昂贵的ADAS测试类型,但也是最准确的,是在将车辆投入生产之前所必需的。
MATLAB®和仿真软件®支持ADAS开发各个阶段的工作流程:
- 分析数据
- 合成驾驶场景
- 设计ADAS规划控制算法
- 设计感知算法
- 部署算法
- 集成和测试
分析数据
MATLAB使您能够访问、可视化和标记实时和记录的驾驶数据,用于ADAS开发。MATLAB还支持地理地图数据通过HERE HD Live Maps, OpenStreetMap和Zenrin Japan Maps。这些数据经常被用于ADAS算法的开发和验证。
合成驾驶场景
MATLAB允许您在虚拟场景中开发和测试ADAS算法,使用长方体仿真环境进行控制、传感器融合和运动规划,以及虚幻引擎环境进行感知。你也可以设计逼真的3D场景走鹃.
ADAS规划控制算法设计
MATLAB包含许多自动驾驶参考应用,可以作为设计自己的ADAS规划和控制算法的起点。
设计感知算法
MATLAB提供了从相机、雷达和激光雷达数据开发感知算法的工具。您可以使用计算机视觉、深度学习、雷达和激光雷达处理以及传感器融合开发算法。