0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动驾驶汽车传感器数字孪生建模(一)

上海控安 来源:上海控安 作者:上海控安 2021-05-18 10:12 次阅读

标注:本文来自本实验室肖轩的研究成果。

一、传感器种类和特点

目前阶段自动驾驶汽车感知系统所使用的传感器主要有摄像头,激光雷达和毫米波 雷达等。三种传感器特点各不相同,在实验过程中需要协同工作来完成对周围环境的分析。下面来分别介绍一下三种传感器。

1.1 摄像头

摄像头是自动驾驶车辆中与肉眼成像最为接近的传感器。摄像头传感器实时地拍摄周围环境生成图像数据,并对图像数据使用计算机视觉技术进行分析,就能检测车辆周 围的安全性情况,从而对行驶状态做出判断。摄像头传感器的优缺点非常明显:摄像头相对于其他传感器的主要优势在于分辨率非常高,成本极低,在实际生产中被广泛地应 用。然而摄像头的性能在极端恶劣天气中,性能表现会呈现断崖式下降;除此之外,摄像头传感器所能够覆盖的观察距离非常局限,想要单单凭摄像头的信息不能够精确捕捉较远距离目标位置的环境信息;此外由于摄像头拍摄 所得画面是二维的,即便是可以根据二维图像建立三维模型,但是难以保证效果。

1.2 毫米波雷达

自动驾驶技术中另一种常见的传感器就是毫米波雷达。毫米波雷达是将工作频率选定在20­200GHz的领域(波长为1­10mm,即毫米波段)的雷达[21]。随着第五代通信技术的迅猛发展,毫米波这个词被提及的频率越来越高,毫米波的主要特点有四个:第一是毫米波的频带宽,在人类现有频率资源越来越紧张匮乏的今天,毫米波宽频带能够为 数据选择提供多种多样的选择;第二是毫米波的波束窄,这使得毫米波的信号较其他波 长的信号能够更精确的传递到指定区域,所以通过被毫米波信号传递的数据能够观察到 更多细节;第三则是毫米波的抗干扰能力较其他波极强,对于降雨,降雪等特殊的天气条件下毫米波粒子的穿透能力要远远强于激光和红外;第四是发射毫米波元件装置的尺 寸极小,这使得毫米波雷达更容易小型化,便捷化。以上是毫米波的四个特点也可以说是优点,然而毫米波也同样存在着一定的缺陷,比如毫米波的信号衰弱程度大且已被物 体遮挡;毫米波的传输距离过短,毫米波是一种高频的电磁波,传输距离短似乎是与生俱来的缺陷。毫米波雷达持续向外界发送毫米波级别的信号,并且同时接受发送方目标 反馈回来的信号,确定两车之间的距离只需要计算信号传递的时间。因此,毫米波雷达在自动驾驶领域中主要应用在防止发生碰撞的方面。

1.3 激光雷达

比起上述两个传感器,激光雷达在自动驾驶领域所处的地位更为突出。激光雷达又 名光学雷达。激光雷达从早期的测量距离和角速度功能逐渐发展到具有了测速(径向、横向)的功能,如今激光雷达成像能够给出极高的空间分辨率[22]。激光雷达作为一种精 度高的传感器,逐渐成为了自动驾驶领域不可或缺的传感器装置。激光雷达与毫米波雷达都是使用ToF技术确定目标的位置以及目标间距的。不同的是,激光雷达是探测目标 的目的是通过发射激光来实现的,这一举措使得它的探测精度较毫米波雷达更高,探测 范围也比毫米波雷达更宽广。但是激光雷达的缺点也非常明显,那就是它更容易受到空气中雨雪的干扰,它的高成本也是极大的制约了它的发展和应用。激光雷达能作为自动 驾驶领域非常重要的的传感器的原因就是它能够建立三维环境模型。它通过发射多线程 激光来收取不同高度上的环境情况信息,然后通过雷达内部的旋转装置实现全方位的数 据采集。激光雷达上的接收装置可以接收反射回来的激光束,并把它们形成点云。对点云数据加以一定的处理,就能够对周围环境完成划分。但是,凡事有利亦有弊,多线程的激光雷达所可以探测的环境范围也会变大,接受的点云数据量也会变多,但对硬件数 据处理能力的要求也会越来越高。另外由于激光雷达的旋转装置需要不停工作,故此对 硬件的耐磨程度和精度都有很高要求。

二、基于Carla的传感器数据建模

2.1 建模思路

本文会运用Carla进行传感器数据建模,首先生成实验车和定义传感器参数,之后将车辆和传感器集成,最后添加实验视角的观察功能。具体思路如下:

2.2 创建车辆

宏定义egg文件是Carla 的核心文件,很多Carla中的模组和接口都定义封装在egg文件中,可以说调用egg文件是使用Carla工具进行仿真建模的关键,对 于定义调用传感器接口以及汽车模型等工作都可以通过编译egg文件实现。下面代码的作用是找到Carla的egg文件,用来制作Carla包的文件,并为摄像头添加宏定义。

添加摄像头宏定义

模拟场景中的行人,车辆和传感器都会作为actor存在于这个列表中,以栈的数据结构为例,actor即是栈中的数据元素。所以在这一部分中需要对演员列表进行一定的处理,特别注意的是列表中的actor需要在完成时将清理他们出去,如果不清理服务器上的客户机,则会造成服务器过载,造成服务器的宕机。

创建清理actor Create a cleanup actor

actor列表只有链接客户端上的world才能够发挥作用,主要的功能代码块都被封装在try或者finally里。try中存放了所有的逻辑和角色创建,在程序的最末尾需要清理 它。下一步,就需要连接到Carla的服务器,获取世界,然后访问蓝图,以能够生成所 需要的汽车模型。

连接世界访问蓝图

获得了蓝图之后,可以使用过滤函数办法过滤不必要的东西,来获得需要的特斯拉model2的默认蓝图,这样一来地图中就会生成实验车。Carla的地图中拥有数百个衍生点,随机选取其中一个衍生点生成车辆模型;选好衍生点之后设定车辆的运动方式,最后把车辆添加到需要跟踪和清理的角色列表之中。相关代码和运行结果如图所示。为了 防止资源占用,设置60 秒后清理车辆。

添加特斯拉model2代码 AddTeslamodel2 code

添加特斯拉model2 AddTeslamodel2

2.2 添加摄像头传感器

拥有了汽车模型后考虑在模型上添加一个摄像头传感器,然后弄清楚如何访问这些数据。摄像头相关的数据结构具体已经在第二部分中给出。首先设定传感器图像的宽度 和高度分别为640像素和480像素,同时为传感器的水平视角设定为110度。之后把传感器添加到汽车上,本文设定将传感器设置在引擎盖上。这之后需要把传感器添加到 actor列表中,使之成为世界的一部分,最后再为callback传感器加载蓝图并设置一些属 性。摄像头传感器的设置方面基本完毕。此外,还要从传感器获得数据,需要一个函数传递这些数据,具体代码如下:

设定摄像头参数

数据传递函数

为了观察到摄像头传感器的视角,再次运行脚本,除了车辆之外,还会获得一个摄像头传感器的视角,效果如下:

添加摄像头效果图

2.4 添加雷达传感器

摄像头传感器添加完毕,我们开始添加一个雷达传感器。同样地,需要在世界中创建一个雷达传感器,相关数据结构已经在第二部分当中给出。设定雷达激光的速度为7.4米每秒,之后设定雷达在车辆模型上的位置(高1.0,位置2.8). 经过上述同样的添加actor列表并连接蓝图的操作,最后设定雷达激光的属性:

激光属性

激光雷达传感器代码

在数据传递过程中,每个传感器都发送相似大小的缓冲区。特别是在相机的情况下,图像的大小在执行期间是恒定的。为了优化内存使用率,在这些情况下,可以通过在帧之间重用已分配的内存来节省很多。每个流都包含一个缓冲池,可用于避免不必要的内存分配。如果池为空,则返回空缓冲区,即未分配内存的缓冲区。在这种情况下,当调整缓冲区大小时,将分配新的内存。在前几帧期间,这种情况会发生几次。但是,如果从池中检索了缓冲区,则一旦缓冲区超出作用域,其内存将返回到池中。下次从池中获得另一个缓冲区时,它将包含前一个缓冲区分配的内存。如所见,缓冲区对象实际上是指向连续原始内存块的智能指针。只要请求的内存不超过当前分配的内存,缓冲区就会重用内存。如果要求更多,则必须删除当前内存并分配更大的块。以下代码段说明了缓冲区的工作方式:

缓冲区

2.4 创建观察者

在前面对Carla的介绍中,我们提到跟Carla环境交互的唯一方式就是客户端,但是前文用脚本生成了仿真模型汽车却没有输出视频的能力。这就需要添加一个所谓的观 察者spectator,可以被理解为Carla的环境视角。

观察者代码

利用这段代码,将观察者的位置设置在仿真模型汽车的正上方向下看,在一定的时 间间隔中跟着模型汽车的位置重设观察者的位置,通过这样的方式来实现在仿真模型汽 车的正上方追踪并观察这台车。

观察者效果

这一部分功能最后会得到两个输出:(1)在仿真环境中基于观察者的功能实时看到 仿真汽车模型行驶。(2)在输出文件夹中存储摄像头传感器实时拍摄的车辆图片。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2545

    文章

    50411

    浏览量

    750793
  • 摄像头
    +关注

    关注

    59

    文章

    4790

    浏览量

    95242
  • 激光雷达
    +关注

    关注

    967

    文章

    3908

    浏览量

    189365
  • 自动驾驶
    +关注

    关注

    782

    文章

    13606

    浏览量

    165874
收藏 人收藏

    评论

    相关推荐

    自动驾驶汽车安全吗?

    随着未来汽车变得更加互联,汽车逐渐变得更加依赖技术,并且逐渐变得更加自动化——最终实现自动驾驶,了解自动驾驶
    的头像 发表于 10-29 13:42 380次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>安全吗?

    FPGA在自动驾驶领域有哪些优势?

    领域的主要优势: 高性能与并行处理能力: FPGA内部包含大量的逻辑门和可配置的连接,能够同时处理多个数据流和计算任务。这种并行处理能力使得FPGA在处理自动驾驶中复杂的图像识别、传感器数据处理等
    发表于 07-29 17:11

    FPGA在自动驾驶领域有哪些应用?

    低,适合用于实现高效的图像算法,如车道线检测、交通标志识别等。 雷达和LiDAR处理:自动驾驶汽车通常会使用雷达和LiDAR(激光雷达)等多种传感器来获取环境信息。FPGA能够协助完成这些传感
    发表于 07-29 17:09

    自动驾驶汽车如何识别障碍物

    自动驾驶汽车识别障碍物是个复杂而关键的过程,它依赖于多种传感器和技术的协同工作。这些传感器主要包括激光雷达(LiDAR)、雷达、摄像头以及
    的头像 发表于 07-23 16:40 797次阅读

    自动驾驶传感器技术介绍

    自动驾驶传感器技术是自动驾驶系统的核心组成部分,它使车辆能够感知并理解周围环境,从而做出智能决策。以下是对自动驾驶传感器技术的详细介绍,内
    的头像 发表于 07-23 16:08 1900次阅读

    自动驾驶汽车传感器有哪些

    自动驾驶汽车传感器是实现自动驾驶功能的关键组件,它们通过采集和处理车辆周围环境的信息,为自动驾驶系统提供必要的感知和决策依据。以下是对
    的头像 发表于 07-23 16:00 1809次阅读

    XV7181BB 陀螺仪传感器自动驾驶设备中的应用

    输出、宽工作温度范围和优异的温度偏置稳定性,为自动驾驶设备在各种复杂驾驶环境中的稳定运行提供了强大的支持。其低功耗设计和内置的温度传感器数字滤波器,进
    的头像 发表于 06-13 15:23 405次阅读
    XV7181BB 陀螺仪<b class='flag-5'>传感器</b>在<b class='flag-5'>自动驾驶</b>设备中的应用

    揭秘自动驾驶:未来汽车的感官革命,究竟需要哪些超级传感器

    来源:LANCI澜社汽车,谢谢 编辑:感知芯视界 Link 随着自动驾驶技术的发展,我们已进入个技术瓶颈期。在这背景下,汽车制造商开始将
    的头像 发表于 05-31 09:14 491次阅读

    汽车工程中光电传感器的应用

    许多汽车都配备了自动驾驶辅助系统,该系统可以通过光电传感器来感知周围环境,包括道路、车辆、行人等,从而实现自动驾驶或半自动驾驶
    发表于 04-11 11:15 478次阅读

    未来已来,多传感器融合感知是自动驾驶破局的关键

    驾驶的关键的是具备人类的感知能力,多传感器融合感知正是自动驾驶破局的关键。昱感微的雷视体多传感器融合方案就好像
    发表于 04-11 10:26

    探索自动驾驶传感器仿真模型的可信度

    环境感知作为实现自动驾驶的首要环节,主要是通过智能网联汽车搭载的视觉相机、激光雷达、毫米波雷达等传感器感知周围的道路环境并快速准确的获取周围目标的类别、位置、尺寸和速度等信息,是自动驾驶
    发表于 03-22 12:34 1073次阅读
    探索<b class='flag-5'>自动驾驶</b><b class='flag-5'>传感器</b>仿真模型的可信度

    自动驾驶发展问题及解决方案浅析

    汽车的发展提供有益的参考。   自动驾驶汽车发展的现状与挑战 ()技术难题 自动驾驶汽车的核心
    的头像 发表于 03-14 08:38 1022次阅读

    CMOS图像传感器自动驾驶汽车提供视觉感知

    和其他道路使用者的安全。本文将探讨在选择图像传感器时需要注意的关键特性,以便为自动驾驶汽车提供所需的出色功能组合。 图像传感器负责将光子转化为电子,然后存储为
    的头像 发表于 02-27 09:28 458次阅读

    Aeva与戴姆勒卡车达成10亿美元自动驾驶传感器供应协议

    科技先驱Aeva宣布与德国汽车巨头戴姆勒卡车公司缔结了项价值10亿美元的协议。根据协议,Aeva将为戴姆勒的自动驾驶卡车提供核心传感器。这
    的头像 发表于 01-17 14:18 570次阅读

    传感器自动驾驶中的应用

    传感器自动驾驶中的应用
    的头像 发表于 11-27 17:06 719次阅读
    <b class='flag-5'>传感器</b>在<b class='flag-5'>自动驾驶</b>中的应用