自动驾驶100问第六问:自动驾驶中常用的传感器介绍

Posted 计算机视觉与OpenCV

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶100问第六问:自动驾驶中常用的传感器介绍相关的知识,希望对你有一定的参考价值。

视频链接

博主是《学习OpenCV4:基于Python的算法实战》和《深度学习计算机视觉实战》图书的作者,目前从事自动驾驶感知融合算法和SLAM建图开发,分享内容包括深度学习、计算机视觉、OpenCV、自动驾驶、SLAM、C++/Python语言开发等方向的内容。
《学习OpenCV4:基于Python的算法实战》:OpenCV4所有模块系统讲解,200+个实战案例,Python/C++双语编写(Python为主),对入门学习很有帮助。
《深度学习计算机视觉实战》:算法理论、算法实战案例到算法模型部署都有系统讲解,特别是模型部署目前学习资源少,但是对于算法学习很重要,本书部署基于Tensorflow Lite(所有框架部署流程基本一样),还有模型优化,模型转换等方向的详细讲解。


GPS

GPS全名叫Global Positioning System,全球定位系统,最早起源于美国的军事项目,美国的这种系统叫GPS,我们中国也有全球定位系统,叫北斗;战斗民族也有,叫格洛纳斯;欧盟也有,叫伽利略。

IMU

GPS得到的经纬度信息作为输入信号传入IMU,IMU再通过串口线与控制器相连接,以此获取更高频率的定位结果。
IMU有三个部分组成:加速度计(Accelerometer)、陀螺仪 (Gyroscope)、磁力计(Magnetometer)。

相机

相机根据镜头和布置方式的不同主要有以下四种:单目相机、双目相机、三目相机和环视相机。单目相机模组只包含一个相机和一个镜头,单目相机物体越远测距精度越低。
双目相机能得到测距结果和提供图像分割能力,但是双目测距原理对两个摄像头的安装位置和距离要求较多,这会给相机标定带来麻烦。
三目相机是三个不同焦距的单目相机的组合,分别为前视窄视野摄像头(最远感知250m)、前视主视野摄像头(最远感知150m)和前视宽视野摄像头(最远感知60m)。三目相机的缺点是需要同时标定三个相机,因而工作量更大。其次软件部分需要关联三个相机的数据,对算法要求也很高。
单目、双目和三目相机用的是非鱼眼镜头,环视相机用的是鱼眼镜头,朝向地面安装。

激光雷达

激光雷达按照有无机械旋转部件分类,分为机械激光雷达和固态激光雷达,机械激光雷达带有控制激光发射角度旋转的部件,而固态激光雷达则依靠电子部件来控制激光发射角度,无需机械旋转部件。
常见的有16/32/64/128线激光雷达。

毫米波雷达

自动驾驶中使用的毫米波雷达有3个频段:24GHz,77GHz和79GHz。
24GHz频段雷达测距距离有限,常用于近处障碍物检测,如倒车时盲点检测、变道辅助;
77GHz和79GHz频段用于长距离测量,有更高的距离、速度和角度的检测精度。
毫米波相比于激光穿透性更强,可以轻松穿透保险杠上的塑料,因此被安装在保险杠内,毫米波无法穿透金属,因此遇到金属就会返回。。
毫米波雷达的测距和测速都是基于多普勒效应,使用极坐标系,毫米波获取的主要信息为距离、角速度和速度。

超声波雷达

超声波雷达最常用的应用就是倒车雷达。
超声波雷达安装方式有两种:前后保险杠上的倒车雷达(UPA)、安装在汽车侧面用于测量障碍物距离(APA)。

自动驾驶研发模拟仿真系统的工作介绍

自动驾驶研发模拟仿真系统的工作介绍

序言:自动驾驶模拟仿真系统的目的是为了减少上车测试的开销和风险,众所周知谷歌开发的仿真系统CarCraft已经跑了25亿英里,而实际车载测试才1000万英里。其中将实际上车测试的问题在模拟仿真系统中进行复现并添加各种变化被成为“fuzing”,当时开发的可视化平台Xview就是模拟仿真系统的一部分,相当于显示界面。

这样的模拟仿真系统构成一般包括多个算法模块,比如:

1. 传感器模型:摄像头(游戏引擎类似的功能),激光雷达,雷达,声纳。。。

2. 高清地图和虚拟环境(类似VR),一些高清地图的制造商也可以直接从真实环境中生成,比如三番,纽约,伦敦城市等等;

3. 车辆模型(OEM数据,动力学模型,控制模型),行人,摩托和自行车等等,以前做motion capture的公司有很好的数据,商用的汽车模拟软件在这些方面很成熟;

4. 道路系统(路径网络)和道路特性(地质,坡度,风险,利用率等等);

5. 环境模型(季节,气候,天气,时间如白天/晚上,等等),跟传感器模拟关系大;

6. 交通模型(交通规则,限速,停车,十字/丁字/环路,红绿灯,让路,分岔,汇入等等);

7. 驾驶模型 (驾驶行为,导航规则,避撞,个人特色,文化,地域等等);

8. 应用相关的,比如运动规划,模拟训练。

下面论文分析中会针对这些问题讨论解决方案。

先介绍一下当年DARPA自动驾驶比赛的几个高校开发的模拟仿真系统:

Boss (CMU)

TROCS (Tartan Racing Operator Control Station)

自动驾驶研发模拟仿真系统的工作介绍

Talos (MIT)

RNDF

自动驾驶研发模拟仿真系统的工作介绍

SimCreator

自动驾驶研发模拟仿真系统的工作介绍

Odin (Virginia Tech.)

自动驾驶研发模拟仿真系统的工作介绍

Junior (Stanford U.)

自动驾驶研发模拟仿真系统的工作介绍

感觉这些高校做的仿真和可视化工具还比较low。。。

Simulation in development and testing of autonomous vehicles (Daimler)

下表是测试平台和仿真的重要性比较:

自动驾驶研发模拟仿真系统的工作介绍

下图展示仿真模拟中的人机操作和交互性:

自动驾驶研发模拟仿真系统的工作介绍

下图列出了仿真模拟环境的主要模块:道路模型,交通模型,传感器模型,车辆模型,自动驾驶控制软件的集成。

自动驾驶研发模拟仿真系统的工作介绍

Simulation Framework for Executing Component and Connector Models of Self-Driving Vehicles

如图所示:包括一些车模型,MontiCAR C&C模型对控制系统的建模,MontiCAR Simulation visualization模块提供可视化,Simulation Model提供仿真模型,还有环境,传感器和执行器模型等等。

自动驾驶研发模拟仿真系统的工作介绍


Testing and Validating High Level Components for Automated Driving: Simulation Framework for Traffic Scenarios

如图所示:高级AD模块是被模拟激发,一个合适的车体接口被召唤,而且一个没有任何机械元素的avatar就可以动。

自动驾驶研发模拟仿真系统的工作介绍

下图展示的是一个车体模型:Ackermann四轮模型。

自动驾驶研发模拟仿真系统的工作介绍

下图:采用ray-casting算法模拟物体分类。

自动驾驶研发模拟仿真系统的工作介绍

如图:虚拟交通参与者可以从开源交通流模拟器SUMO加入(黄色车),而真实场景下的车辆也可以被模仿(黑色车)。

自动驾驶研发模拟仿真系统的工作介绍

SOFTWARE ARCHITECTURE FOR AN AUTONOMOUS CAR SIMULATION USING ROS, MORSE & A QT BASED SOFTWARE FOR CONTROL AND MONITORING

下图是一个自动驾驶车的结构图:

自动驾驶研发模拟仿真系统的工作介绍

MORSE (Modular OpenRobots Simulation Engine) 是学术机器人模拟器。这是简化的模拟器架构:

自动驾驶研发模拟仿真系统的工作介绍

下图是模块通信方案:

自动驾驶研发模拟仿真系统的工作介绍

An Integrated Architecture for Autonomous Vehicles Simulation

如图是系统框图:USARSim是robotics simulator,SUMO (Simulation of Urban MObility)是开源的microscopic traffic simulator。

自动驾驶研发模拟仿真系统的工作介绍

下图是SUMO的实现概图:

自动驾驶研发模拟仿真系统的工作介绍


AutonoVi-Sim: Autonomous Vehicle Simulation (U. North Carolina, Chapel Hill)

该仿真环境分成8个模块:环境, 道路网, 道路, 司机, 基础平台, 车身, 非车体交通(行人,自行车)和分析(数据)模块。

自动驾驶研发模拟仿真系统的工作介绍

下面是模块介绍:左边是传感器,中间是导航算法,右边是数据分析。

自动驾驶研发模拟仿真系统的工作介绍


仿真场景和条件变化见下图:

自动驾驶研发模拟仿真系统的工作介绍

rFpro & SUMO: The Road To A Complete Real-Time Simulation Of Urban Environments for DIL, ADAS and Autonomous Testing

一家英国仿真软件公司,下图为模拟系统总览图:

自动驾驶研发模拟仿真系统的工作介绍

这是模拟运行的硬件平台:

自动驾驶研发模拟仿真系统的工作介绍

这个图显示的是 rFpro, SUMO 和用户的车辆模型之间的数据流:

自动驾驶研发模拟仿真系统的工作介绍

最后看看一个模拟的真实场景:上海一个十字路口。

自动驾驶研发模拟仿真系统的工作介绍

这个论文比较特别,是在现实场景直接添加虚拟车辆:

Augmented Reality Meets Computer Vision : Efficient Data Generation for Urban Driving Scenes

AR自然是虚实结合,下图是真实场景里面放了虚拟的车辆:

自动驾驶研发模拟仿真系统的工作介绍

整个AR系统示意图如下:车辆模型+环境图。

自动驾驶研发模拟仿真系统的工作介绍


最后,不得不提一下两个开源软件。

AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles

微软出的开源,本来是无人机方面,后来搞无人车。

自动驾驶研发模拟仿真系统的工作介绍

CARLA: An Open Urban Driving Simulator

Intel和其他几家一起出的软件平台,感觉人力还是不足。

自动驾驶研发模拟仿真系统的工作介绍

再加一个,韩国LG公司的,不过是和两个开源自动驾驶软件捆绑的,即Autoware和Baidu Apollo。

LGSVL Simulator: An Autonomous Vehicle Simulator

自动驾驶研发模拟仿真系统的工作介绍

大多数VR和模拟仿真系统用Unreal Engine,这里介绍一下Unity最近开发的SimViz工具。

传感器模型包括:

  • RGB-D Camera

  • LiDAR

  • Radar*

  • IMU

  • GPS

参考场景包括:

  • 城市街道.

  • 高速公路.

  • 住宅区.

系统框图:

自动驾驶研发模拟仿真系统的工作介绍

看看生成的自动驾驶场景:INDAGO公司用了这个工具。


原创:黄浴,来源:知乎专栏、智车行家(小易)

长按图中二维码 or点击左下角“阅读原文,了解详细议程

以上是关于自动驾驶100问第六问:自动驾驶中常用的传感器介绍的主要内容,如果未能解决你的问题,请参考以下文章

行业 | 自动驾驶中常用的四类机器学习算法

自动驾驶是怎样工作的?SLAM介绍

自动驾驶技术综述2:自动驾驶决策规划模块算法介绍

自动驾驶的智慧之眼——感知

现在的自动驾驶处理的是2d还是3d

自动驾驶行业概述