当前位置: 首页 > news >正文

自动驾驶学习笔记(十三)——感知基础

#Apollo开发者#

学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:

 《自动驾驶新人之旅》免费课程—> 传送门

《Apollo Beta宣讲和线下沙龙》免费报名—>传送门

文章目录

前言

传感器

测距原理

坐标系

标定

同步

融合

部署

总结


前言

        见《自动驾驶学习笔记(八)——路线规划》  

        见《自动驾驶学习笔记(九)——车辆控制》

        见《自动驾驶学习笔记(十)——Cyber通信》

        见《自动驾驶学习笔记(十一)——高精地图》

        见《自动驾驶学习笔记(十二)——定位技术》

传感器

        相机、毫米波雷达、激光雷达和超声波雷达这几种传感器的性能对比如下图:

        事件相机是近年出现的新型应用,事件相机只观测场景中的“运动”,确切地说是观察场景中的“亮度的变化”。event camera只会在有亮度变化时,输出对应pixel的亮度变化(1或0),具有响应快、动态范围宽、无motion blur等优势,其成像结果如下图所示:

测距原理

        时间飞行法(TOF)是主流方案,通过脉冲在目标与雷达之间的飞行时间差计算距离。优势:原理简单,技术及产业链成熟探测距离长,响应快。劣势:计时器精确度要求高,易受环境影响雷达间串扰。

        调频连续波法(FMCW)是主流替代方案,通过多普勒效应测量频率差。优势:信噪比高,分辨率高,速度信息,可编码,抗雷达互扰,功耗低,人眼安全。劣势:前沿技术,成熟方案少,产业链初期。

        三角测量法,通过将光源与相机配对来捕获三维测量数据。优势:结构简单、测量速度快、具有实时处理能力、使用灵活、适应力强。劣势:在精度以及分辨率上仍然有不足。

坐标系

        自动驾驶中各个坐标系的应用如下图所示:

        数据坐标系:根据传感器原理不同,每种传感器都会有自己的数据坐标系,如相机将三维世界中的坐标点映射到二维图像平面的像素坐标系。

        传感器坐标系:以传感器为中心的三维笛卡尔坐标系。

        车辆坐标系:Apollo中采用右-前-天定义。原点:后轴中心为坐标系中点。X:面向车辆前方,右手方向为正。Y:车辆前进方向为正。Z:垂直地面,车顶方向为正。

        EUN坐标系的原点在地球表面,x和y轴在当地水平面内,分别指向东和北,z轴朝上,在局部范围不是很大的情况,比如几十km内,我们认为每一个原点的东北天坐标系是平行的。

        UTM投影坐标系全称为“通用横轴墨卡托投影”UNIVERSAL TRANSVERSE MERCATOR PROJECTION,是种“等角横轴割圆柱投影”,圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比0.9996。该投影方法按经度分为60个带,每带6度,从西经180度起算。如下图所示为全球的UTM投影,北京所在的区域在第50个投影带上。每个投影带上的一个坐标(x,y,z)可以唯-地表示地球上一个点,高度使用WGS84坐标系统中的大地高度。

        Frenet坐标系下,车辆运动可以分解为沿中心线运动和垂直于道路中心线运动两个部分。因此,我们可以使用变量 s和d描述车辆在道路上的位置。s坐标表示沿道路的距离(也称为纵向位移),d坐标表示道路上的左右位置(也称为横向位移)。

标定

        传感器标定的目的即是把感知到的周围环境统一到车身坐标系下。

        不同模型的传感器后造成不同的数据畸变,例如:小孔模型( Pinhole ),全向相机( Onknidirectional )。畸形的数据如下图所示:

        去畸变:校正光线在经过透镜边缘后发生弯折,造成的图像边缘弯曲。

        内参标定:图像坐标系到相机坐标系的映射,供应商可提供,或者通过棋盘标定板测定

        外参标定:传感器相对于车身或其他传感器坐标系的位姿Rt

同步

        各个传感器采样的频率不一致,还需要同步到一个节拍上来使用,如下图所示:

融合

        融合是将多传感器检测到的目标在时间和空何两个尺度上达成同一。

        时间:每个传感器的频率不一致,如LiDAR是10Hz,Camera是30Hz,Radar是10Hz。

        空间:各传感器的感知结果投影到车身坐标系。

        融合的的策略有三种,如下图所示:

        前融合:原始信号融合,一般用于同类传感器融合,原始信息不损失,计算量大,融合难度大。

        特征融合:传感器信号进行独立特征提取后进行融合,最近比较流行BEV。

        后融合:每种传感器独立进行感知检测,在结果层进行融合,原始信息损失较大,计算量小,难度低。

部署

        不同的自动驾驶功能,应用的传感器部署方案如下图所示:

        外资车企的感知部署方案:

        自主品牌车企的感知部署方案:

总结

        以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

        文中部分图片来源自网络,若有侵权,联系立删。

相关文章:

自动驾驶学习笔记(十三)——感知基础

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 传感器 测距原理 坐标系 标定 同…...

WLAN配置实验

本文记录了WLAN配置实践的过程,该操作在华为HCIA中属于相对较复杂的实验,记录过程备忘。这里不就WLAN原理解释,仅进行配置实践,可以作为学习原理时候的参考。本文使用华为ENSP进行仿真。实验拓扑图如下: 1.WLAN工作流程…...

java_web接收前端传的excel文件读取数据

#本次做一个将患者数据导入到某个模块的功能&#xff0c;前期集成的代码时不时出现异常&#xff0c;本次进行修改记录 //controller层/*** 导入患者数据*/RejectReplayRequestPostMapping("/importData")public Result<?> importData(HttpServletRequest req…...

在Vue开发中v-if指令和v-show指令的使用介绍和区别及使用场景

一、条件渲染 v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。 <h1 v-if"awesome">Vue is awesome!</h1>v-else 你也可以使用 v-else 为 v-if 添加一个“else 区块”。 <h1 v-if"awesome"&g…...

Power Query是啥

Power Query是一种用于数据获取、转换和整理的功能强大的工具&#xff0c;它是Microsoft Excel和Power BI中的一个组件。Power Query可以帮助用户从各种数据源中获取数据&#xff0c;并进行数据清洗、转换和整理&#xff0c;以便进一步分析和可视化。 使用Power Query&#xf…...

在k8s中部署nfs-client-provisioner

1、部署过程 1.1、环境依赖 在部署nfs-client-provisioner之前&#xff0c;需要先部署nfs服务。 因为&#xff0c;nfs-client-provisioner创建的pv都是要在nfs服务器中搭建的。 本示例中的nfs server的地址如下&#xff1a; [rootnode1 /]# showmount -e Export list for …...

23.12.10日总结

周总结 这周三的晚自习&#xff0c;学姐讲了一下git的合作开发&#xff0c;还有懒加载&#xff0c;防抖&#xff0c;节流 答辩的时候问了几个问题&#xff1a; 为什么在js中0.10.2!0.3? 在js中进行属性运算时&#xff0c;会出现0.10.20.300000000000000004js遵循IEEE754标…...

持续集成交付CICD:通过API方式上传Nexus制品

目录 一、实验 1.通过API方式上传Nexus制品 二、问题 1.如何通过API方式上传PNG图片 2.如何通过API方式上传tar.gz 与 ZIP文件 3.如何通过API方式上传Jar file文件 4.如何通过API方式上传制品&#xff08;maven类型的制品&#xff09;文件 5.如何下载制品 一、实验 1.通…...

Hadoop学习笔记(HDP)-Part.14 安装YARN+MR

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

reinforce 跑 CartPole-v1

gym版本是0.26.1 CartPole-v1的详细信息&#xff0c;点链接里看就行了。 修改了下动手深度强化学习对应的代码。 然后这里 J ( θ ) J(\theta) J(θ)梯度上升更新的公式是用的不严谨的&#xff0c;这个和王树森书里讲的严谨公式有点区别。 代码 import gym import torch from …...

【VRTK】【VR开发】【Unity】13-攀爬

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 VRTK提供两个预制件实现攀爬 Climbing Controller,用于控制Player的物理义体Climbable Interactable,用于设置可攀爬对象【设置Climbing Controller…...

华为OD机试真题-求幸存数之和-2023年OD统一考试(C卷)

题目描述&#xff1a; 给一个正整数列 nums&#xff0c;一个跳数 jump&#xff0c;及幸存数量 left。运算过程为&#xff1a;从索引为0的位置开始向后跳&#xff0c;中间跳过 J 个数字&#xff0c;命中索引为J1的数字&#xff0c;该数被敲出&#xff0c;并从该点起跳&#xff…...

python pyaudio实时读取音频数据并展示波形图

python pyaudio实时读取音频数据并展示波形图 下面代码可以驱动电脑接受声音数据&#xff0c;并实时展示音波图&#xff1a; import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import pyaudio import wave import os import op…...

【算法系列篇】递归、搜索和回溯(二)

文章目录 前言1. 两两交换链表中的节点1.1 题目要求1.2 做题思路1.3 代码实现 2. Pow(X,N)2.1 题目要求2.2 做题思路2.3 代码实现 3. 计算布尔二叉树的值3.1 题目要求3.2 做题思路3.3 代码实现 4. 求根节点到叶结点数字之和4.1 题目要求4.2 做题思路4.3 代码实现 前言 前面为大…...

Ubuntu下安装SDL

源码下载地址&#xff08;SDL version 2.0.14&#xff09;&#xff1a;https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 将源码包拷贝到系统里 使用命令解压 tar -zxvf SDL2-2.0.14.tar.gz 解压得到文件夹 SDL2-2.0.14 进入文件夹 执行命令 ./configure 执行命令 make…...

创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)

今天讲解 Windows 如何利用脚手架创建 vue 工程&#xff0c;以及 vue ui 图形化界面搭建 vue 开发环境&#xff0c;这是这个系列的第二章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 1、安装vue-cli脚手架2、vue ui创建…...

【3】密评-物理和环境安全测评

0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求&#xff1a; 物理和环境层面&#xff1a; a&#xff09;宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性&#xff1b; b&#xff09;宜采用密码技术保证电子门…...

笨爸爸工房,我们在校园|“小鲁班”,铸未来

为了响应国家号召&#xff0c;将劳动教育课程真正实现融入校园生活&#xff0c;笨爸爸工房已与洛阳市西下池小学、洛阳市第一实验小学西工校区、洛阳市西工区第二实验小学、洛阳第二外国语学校&#xff08;兰溪校区&#xff09;、洛阳市睿源幼儿园&#xff0c;这4所学校及1家幼…...

RPC 集群,gRPC 广播和组播

一、集群抽象&#xff1a;cluster 它是指我们在调用远程的时候&#xff0c;尝试解决&#xff1a; 1、failover:即引入重试功能&#xff0c;但是重试的时候会换一个新节点 2、failfast: 立刻失败&#xff0c;不需要重试 3、广播&#xff1a;将请求发送到所有的节点上 4、组…...

OpenSSL SSL_read: Connection was reset, errno 10054

fatal: unable to access ‘https://github.com/vangleer/es-big-screen.git/’: OpenSSL SSL_read: Connection was reset, errno 10054 解决方法&#xff1a;git config --global http.sslVerify “false” 参考链接&#xff1a; https://github.com/Kong/insomnia/issues/2…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...