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)在输出文件夹中存储摄像头传感器实时拍摄的车辆图片。

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

    关注

    2518

    文章

    47911

    浏览量

    739475
  • 摄像头
    +关注

    关注

    59

    文章

    4590

    浏览量

    92802
  • 激光雷达
    +关注

    关注

    958

    文章

    3620

    浏览量

    186448
  • 自动驾驶
    +关注

    关注

    773

    文章

    12978

    浏览量

    163094
收藏 人收藏

    评论

    相关推荐

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

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

    用于自动驾驶,无人驾驶领域的IMU六轴陀螺仪传感器:M-G370

    用于自动驾驶,无人驾驶的IMU惯导模块六轴陀螺仪传感器:M-G370。自2020年,自动驾驶,无人驾驶已经迎来新突破,
    发表于 04-02 11:44 0次下载

    传感器自动驾驶中的应用

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

    自动驾驶传感器攻击研究

    对于现今的自动驾驶汽车来说,由于传感器的增加和感知网络等软件的存在,使得自动驾驶汽车在信息安全上相较于其它
    的头像 发表于 11-03 15:00 298次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>传感器</b>攻击研究

    如何实现自动驾驶系统传感器的实时在线标定设计

    自动驾驶车辆上通常会安装多个传感器作为感知输入源,而首先来说它们之间的坐标关系是需要确定的,那么,传感器标定就是自动驾驶的基本需求。
    发表于 09-13 09:13 381次阅读
    如何实现<b class='flag-5'>自动驾驶</b>系统<b class='flag-5'>传感器</b>的实时在线标定设计

    一文详解自动驾驶传感器标定

    来源:汽车自动驾驶技术 在自动驾驶系统中,传感器是系统能感知周围环境的决定性因素。在传感器装车后,需要通过
    的头像 发表于 07-14 10:10 557次阅读

    用于汽车内部使用的雷达传感器 #自动驾驶 #汽车电子

    汽车电子汽车雷达自动驾驶
    老郭聊车
    发布于 :2023年07月03日 18:29:25

    自动驾驶仿真验证——天气因素对传感器探测模型的影响与建模

    01 前言 SAIMO 自动驾驶汽车自动驾驶系统是当今汽车领域最前沿的技术。自从汽车诞生以来,没有一种技术能以如此革命性的方式改变
    的头像 发表于 07-01 17:25 386次阅读
    <b class='flag-5'>自动驾驶</b>仿真验证——天气因素对<b class='flag-5'>传感器</b>探测模型的影响与<b class='flag-5'>建模</b>

    新能源汽车自动驾驶的六个级别

    新能源汽车自动驾驶是指搭载自动驾驶技术的电动汽车。随着人工智能和传感器技术的进步,越来越多的新能源汽车
    的头像 发表于 06-28 17:04 1476次阅读

    自动驾驶汽车激光雷达传感器指南

    该系统设计多样性的关键在于不同的传感器类型、冗余和重叠传感器,以提高汽车的视觉精度。主要的自动驾驶汽车
    的头像 发表于 06-28 11:24 1042次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>激光雷达<b class='flag-5'>传感器</b>指南

    自动驾驶,需要多少传感器

    来源:半导体行业观察,谢谢 编辑:感知芯视界 由于传感器的成本从 15 美元到 1,000 美元不等,汽车制造商开始质疑车辆至少在部分时间内需要多少传感器才能实现完全自动驾驶。 这些
    的头像 发表于 06-07 09:51 586次阅读

    用于自动驾驶汽车传感器融合

    自动驾驶汽车是热门研究课题之一,它将彻底改变地面车辆的未来。自动驾驶汽车正在取代普通车辆,因为它可以做出决定并执行自己的驾驶任务。每年有13
    发表于 06-06 14:47 0次下载
    用于<b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>的<b class='flag-5'>传感器</b>融合

    自动驾驶需要多少传感器

    由于传感器的成本从 15 美元到 1,000 美元不等,汽车制造商开始质疑车辆至少在部分时间内需要多少传感器才能实现完全自动驾驶
    发表于 06-04 16:53 288次阅读
    <b class='flag-5'>自动驾驶</b>需要多少<b class='flag-5'>传感器</b>?

    自动驾驶中的传感器

    自动驾驶功能是存在很大帮助的。 摄像头是将光学组件获得的光信号,投射到图像传感器上,完成由光信号到电信号的转换,然后再转换为数字图像信号,最后进行信号的算法处理。基于图像数据从而实现感知车辆周 边路况的功能,实现如车辆、行人
    发表于 06-02 16:34 0次下载
    <b class='flag-5'>自动驾驶</b>中的<b class='flag-5'>传感器</b>

    自动驾驶常见传感器的应用解析

    智能传感器:智能传感器是无人驾驶车辆的“眼睛”。汽车正在向一台安全联网的自动驾驶机器人快速演进,进行环境感知、规划决策,最终实现安全抵达目的
    发表于 04-18 12:55 1175次阅读