自动驾驶技术与传感器数据处理

news2024/11/28 22:51:08

目录

自动驾驶总体架构

感知系统 

决策系统 

定位系统 

​计算平台​

仿真平台​

自动驾驶公开数据集

激光点云

点云表征方式

1) 原始点云

2) 三维点云体素化

3)深度图

4)鸟瞰图

点云检测障碍物的步骤

PCL点云库 

车载毫米波雷达

车载相机

设备标定


自动驾驶总体架构

感知系统 

 

决策系统 

 

定位系统 

计算平台

仿真平台

 

自动驾驶公开数据集

激光点云

点云表征方式

1) 原始点云

三维点云最直接的矩阵表示法是将集合中的每个三维点列为矩阵中的一行
 
基于原始点元的表示法的优点是:
(1)简单且通用
(2)保留了原始三维点集中的所有信息;但缺点是它不利于探索三维点的任何几何特性

2) 三维点云体素化

简单的离散化方法是将三维空间从三个维度中的每一个划分为等距的非重叠体素; 分别沿X、Y、Z轴绘制一个范围为H、W、D的三维空间。每个体素的大小分别为h、w、d。第(i,j,k)个体素表示三维体素空间。

基于三维体素化的表示法的优点是:
(1)生成的体素与自然的层次结构相关联,所有体素具有统一的空间大小;
(2)可以使用现成的工具

缺点
(1)没有考虑有序三维点云的特定属性;
(2)通常导致一个非常稀疏的表示,其中大多数体素是空的
(3)涉及到分辨率和内存之间的权衡问题。该表示方法可用于自动驾驶感知模块,以及三维点云的存储
 

3)深度图

将实时激光的三维点云近似地组织成二维距离图像深度图像中的每个像素对应于三维空间中的一个点。像素值是从激光雷达到截锥体内最近的三维点的范围。具体地说我们用方位角α和俯仰角β的分辨率沿方位角α ε [0,2m)和俯仰角β ε (-π/2,π/2]划分三维空间。基于距离图像的表示法优点在于:
(1)能够自然地模拟了激光雷达捕捉三维点云的方式在王维空间中反射二维表面
(2)大多数相关的截面空间都有一个或多个三维点从而产生紧凑的距离视图图像

缺点:
很难对无组织的点云进行建模

4)鸟瞰图

基于鸟瞰图(BEV)的表示方法是一种通过忽略高度的方式来实现三维体素化的特例。它将3D体素投影到BEV图像;分别沿X、Y轴绘制一个范围为H、W的三维空间。每个像素的大小分别为h、w。BEV图像中的第(i,j)个像素表示空间V,使用二维矩阵表示三维点云。短阵记录了二维空间中的占有率。其优点是:
(1)易于应用基于2D视觉的技术;
(2)易于与来自HDmap的信息进行融合
(3)易于用于决策模块用于预测和运动规划。
(4)无论距离如何,物体对象总是相同的大小,这是一个很强的先验知识、使学习问题更容易

缺点:
(1)设计分辨率和内存之间的严重权衡,导致获取小对象详细信息的过度量化问题;
(2)不考虑有序三维点云的特定属性,并且无法解释遮挡现象
(3)导致稀疏性问题,因为大多数像素是空的。

点云检测障碍物的步骤


 

PCL点云库 

1.什么是PCL?

PCL全称为Point Cloud Library,是一个用于三维点云处理的开源库。它包含了从传感器或三维数据文件中检索三维点云的各种处理。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,且PCL是BSD授权方式,可以免费进行商业和学术应用,可在Windows、Linux、Mac OS X等操作系统中运行。

2.PCL的发展史        

PCL起初由ROS(Robot Operating System)下来自斯坦福大学的Radu博士等人维护和开发的开源项目,主要应用于机器人研究应用领域,随着算法模块的积累,与2011年独立出来,与全球3D信息获取、处理的同行一起组件了强大的开发维护团队,以多所知名大学、研究所和相关软硬件公司为主。PCL继续加入的算法等详情可见PCL官方网站。      

3.PCL的结构和内容        

对于3D点云处理来说,PCL完全是一个模块化的现代C++模板库,它基于一下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、QHull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。

车载毫米波雷达

利用毫米波雷达可以实现自适应巡航控制(Adaptive Cruise Control),前向防撞报警(Forward Collision Warning),盲点检测(Blind Spot Detection),辅助停车(Parking aid),辅助变道(Lane change assistant),自主巡航控制(ACC)等高级驾驶辅助系统(ADAS)功能。其中24GHz 雷达系统主要实现近距离探测(SRR),而77GHz 系统主要实现远距离的探测(LRR) 

车载相机

摄像头参数

  • 像素

是由一个数字序列表示图像中的一个最小单位。

  • 分辨率

分辨率是用于度量位图图像内数据量多少的一个参数,表示成dpi(DostPerInch,每英寸点或像素数)。它是衡量摄像头的一个重要指标之一,通常来说摄像头的分辨率越高,拍摄出来的图像品质越好

  • 色域

色域是对一种颜色进行编码的方法,也指一个技术系统能够产生的颜色的总和。最常用的图像格式是RGB24和I420, RGB24代表红、绿、蓝三个通道的颜色,图像每个像素用8bit(比特位)表示,RGB24一帧的大小size=width*height*3byte(字节);I420是YUV格式之一,YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间。其数据量是size= width*height*1.5Byte(字节)

  • 自动白平衡调节        

定义要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成分,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例发生变化,需要调节三基色的比例达到彩色的平衡。 彩色深度 反映对色彩的识别能力和成像的色彩表现能力。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。

  • 信噪比或图像噪音
  • 视场角
  • 帧率

传统算法中,通过图像特征描述子SIFT、SURF等进行特征点提取和匹配,可用特征很多,包括角点、边缘点等

即输入摄像头的数据,以每帧信息为基础进行检测、分类、分割等计算,最后利用多帧信息进行目标跟踪,输出相关结果;

1)预处理包括成帧、颜色调整、白平衡、对比度均衡、图像扭正等工作;

2)特征提取在预处理的基础上提取出图像中的特征点;

3)目标识别是基于特征数据的输出,对图像中的物体进行识别分类 —— 人 ,车 、交通标志等,运用到机器学习、神经网络等算法。

设备标定

标定,通常指的是校准过程,是一种测量精确度提高的方法。在技术和科学领域,标定涉及将一个设备或仪器的测量与一个已知的参考标准进行比较,并据此进行调整。这个过程确保测量设备在操作中可以达到预定的准确性和一致性。

传感器标定

相机标定

毫米波雷达标定

激光雷达标定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1668295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DMA原理、传输过程及传输方式

1.DMA DMA(Direct Memory Access,直接存储器访问),是硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行数据传输的内存技术,它允许不同速度的硬件设备(外设到内存、内存到外设、内存到内存、外设到外设)进行沟通,而不需要…

MySQL相关文件的介绍

其中的pid-file/var/run/mysqld/mysqld.pid是用来定义MySQL的进程ID的信息的, 这个ID是操作系统分配给MySQL服务进程的唯一标识,使得系统管理员可以轻松识别和管理该进程。 其中的log-error/var/log/mysqld.log是MySQL的错误日志文件,如果有…

C++string 类的常用方法

string (构造函数) (1) default 构造长度为零字符的空字符串。 (2) copy 构造 str 的副本。 (3) substring 复制从字符位置 pos 开始并跨越 len 字符的 str 部分(如果任一 str 太短或 len 为 string::npos,则复制 str 的末尾…

Ardupilot开源代码之Rover上路 - 后续1

Ardupilot开源代码之Rover上路 - 后续1 1. 源由2. 问题汇总2.1 问题1:飞控选择2.2 问题2:飞控安装位置和固定2.3 问题3:各种插头、插座配套2.4 问题4:分电板缺陷2.5 问题5:电机编码器接线及正反向问题2.6 问题6&#x…

docker-compose集成elk(基于logstash+filebeat)采集java和nginx日志

1.准备compose.yml编排式文件 services: #日志信息同步logstash:container_name: logstashimage: docker.elastic.co/logstash/logstash:7.17.14 #logstash:command: logstash -f /usr/share/logstash/pipeline/logstash.confdepends_on:- elasticsearchrestart: on-failurepo…

车机HMI:驾驶员小命握在UI设计师手,九大法则必须遵循。

本文给大家列举了九大法则,欢迎评论点赞交流。 在车机HMI设计中,为了降低驾驶员的反应时间并增加驾驶安全性,可以遵循以下UI设计法则: 易读性和可识别性 确保界面上的文本和图标清晰易读,避免使用过小、过于复杂或模…

Crossplane 实战:构建统一的云原生控制平面

1 什么是 Crossplane Crossplane 是一个开源的 Kubernetes 扩展,其核心目标是将 Kubernetes 转化为一个通用的控制平面,使其能够管理和编排分布于 Kubernetes 集群内外的各种资源。通过扩展 Kubernetes 的功能,Crossplane 对 Kubernetes 集群…

GoF之代理模式(静态代理+动态代理(JDK动态代理+CGLIB动态代理带有一步一步详细步骤))

1. GoF之代理模式(静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤)) 文章目录 1. GoF之代理模式(静态代理动态代理(JDK动态代理CGLIB动态代理带有一步一步详细步骤))每博一文案2. 代理模式的理解3. 静态代理4. 动…

[AIGC] 跳跃表是如何实现的?原理?

文章目录 什么是跳跃表查找流程:为什么使用跳跃表?跳跃表是怎么实现的? PS:跳跃表是比较常问的一种结构。 什么是跳跃表 Skip Lists: A Probabilistic Alternative to Balanced Trees 跳跃表是一种可以用来代替平衡树的数据结构。跳跃表使用概率平衡…

类和对象一(从封装开始讲述)

目录: 一.封装 二.封装扩展之包,自定义包 三.访问限定符 四.static成员 一.封装:封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互。面向对象…

插件:Best HTTP

一、简介 WebSocket WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。…

MATLAB 多项式

MATLAB 多项式 MATLAB将多项式表示为行向量,其中包含按幂次降序排列的系数。例如,方程P(x) X 4 7 3 - 5 9可以表示为 p [1 7 0 -5 9]; 求值多项式 polyval函数用于求一个特定值的多项式。例如,在 x 4 时,计算我们之前的多项式…

图论专题训练

leecode 547 并查集 class Solution { public:int findCircleNum(vector<vector<int>>& isConnected) {ini();int len isConnected.size();for(int i0;i<len;i){for(int j0;j<len;j)if(isConnected[i][j]){unio(i,j);}}int ans 0;for(int i0;i<len;…

【一键录音,轻松转换:用Python打造个性化音频记录工具】

在数字化时代,音频记录已成为日常学习、工作和娱乐不可或缺的一部分。想象一下,只需简单按下几个键,即可随时随地捕捉灵感,记录会议要点,或是珍藏孩子的童言稚语。本文将引领您步入Python编程的奇妙世界,展示如何借助几个强大的库,构建一个既简单又实用的音频录制及转换…

58. 【Android教程】音频录制:MediaRecord

在第 57 节我们使用 MediaPlayer 实现了一个 mp3 播放器&#xff0c;除了播放 Android 还提供了 MediaRecorder 用于录音。Android 设备基本都会有一个麦克风&#xff0c;通过 MediaRecorder 可以打开麦克风进行语音采集&#xff0c;这一节我们就来学习如何在 Android 系统上实…

Python3 笔记:二进制的转换

十进制是逢十进一&#xff0c;二进制就是逢二进一。 十进制里最大的数字是9&#xff0c;二进制里最大的数字是1。 11010010001000010000010000001000000010^0110^11010^210010^3100010^41000010^510000010^6100000010^7100000002^012^122^242^382^4162^5322^6642^7128 1、十进…

Linux中创建共享文件夹

前言 从0开始记录我的学习历程&#xff0c;我会尽我所能&#xff0c;写出最最大白话的文章&#xff0c;希望能够帮到你&#xff0c;谢谢。 提示&#xff1a;文章作者为初学者&#xff0c;有问题请评论指正&#xff0c;感谢。 当我们再用虚拟机的Linux的时候经常会遇到Windows…

增强客户黏性:服装实体店扫码连锁收银软件提供多样的会员营销策略

随着消费者对购物体验的需求不断提升&#xff0c;服装实体店面临着更大的挑战和机遇。为了增强客户黏性&#xff0c;提升销售业绩&#xff0c;越来越多的服装实体店开始引入扫码连锁收银软件&#xff0c;并提供多样化的会员营销策略。这一举措不仅为店铺提供了更加智能化的经营…

python选修课期末考试复习

目录 记住输出小数的格式文件条件判断随想循环小星星计算金额猜数字折纸 函数找最大值 基础知识总结 记住输出小数的格式 输出a&#xff0c;保留两位小数 %.2f%a打开文件有点儿难&#xff0c;多记几遍格式吧 文件的格式后面有冒号&#xff0c;谨慎一点&#xff0c;都用双引号…

springfox.documentation.spi.DocumentationType没有OAS_30(从swagger2转到swagger3出现的问题)

直接开讲&#xff1a; 查看源码根本没有OAS_30的类型选择 右键package的springfox找到maven下载的包&#xff0c;打开到资源管理器 可以看到项目优先使用2版本的jar包&#xff0c;但是OAS_30只在3版本中才有&#xff0c;意思就是让项目优先使用以下图片中的3.0.0jar包 解决办法…