自动驾驶专题介绍 ———— 激光雷达标定

news/2024/5/20 13:01:06/文章来源:https://blog.csdn.net/qq_42957717/article/details/126709990

文章目录

  • 介绍
  • 激光雷达与激光雷达之间的外参标定
  • 激光雷达与摄像头的标定

介绍

 激光雷达在感知、定位方面发挥着重要作用。跟摄像头一样,激光雷达也是需要进行内外参数标定的。内参标定是指内部激光发射器坐标系与雷达自身坐标系的转换关系,在出厂之前就已经完成了标定,可以直接使用。自动驾驶系统需要进行的是外参的标定,即激光雷达自身坐标系与车体坐标系的关系。
 激光雷达与车体为刚性连接,两者间的相对姿态和位置固定不变。为了建立激光雷达之间以及激光雷达与车辆之间的相对坐标关系,需要对激光雷达的安装进行标定,并使激光雷达数据从激光雷达坐标系转换至车体坐标系上。以Velodyne VLP-16激光雷达为例,该雷达以正上方未Z轴,电缆线接口方向为Y轴的负方向,通过右手法则来确定X轴方向。如下图所示。
在这里插入图片描述
 车体坐标系以车辆后轴中心为坐标原点,垂直地面向上为z轴,朝前为x轴,按照右手坐标系,确定坐标系的y轴方向。两个三维空间的坐标系之间的转换关系可以用旋转矩阵家平移矩阵来表示。如图所示。
在这里插入图片描述

 P点在Oxyz坐标系的坐标为P(x,y,z),在Oxyz坐标系下的坐标为P(x,y,z)。此时P点与P的转换关系可表示为:
在这里插入图片描述
 如果知道了α,β,γ三个角度以及x,y,z方向上的平移量,就可以求得两个坐标系的旋转、平移矩阵,实现坐标转换。进一步推导坐标转换方程,可以得到:
在这里插入图片描述
 假设H等于上式中的转化矩阵,那么标定的目标可以看成获取矩阵H中的6个参数。在自动驾驶汽车上,通常需要将激光雷达与惯性导航IMU坐标系进行标定,来建立激光雷达与车体坐标系之间的关系。激光雷达与车体之间的外参式感知系统建立环境模型的重要参数之一,不准确的外参会对感知系统及规划和决策系统产生负面的影响。

激光雷达与激光雷达之间的外参标定

 在自动驾驶的车辆上,有时会存在多个激光雷达的情况,每一个激光雷达获取的外部环境都必须准确地映射到车体坐标系下。因此,在多个激光雷达地情况下,需要对多个激光雷达地相对位置进行标定和校准。激光雷达之间的外参标定存在多种思路,其中较为常见的是通过不同激光雷达与车体之间的坐标转换关系来间接推导出激光雷达之间的坐标转换关系。这里介绍一种应用在移动车辆平台上的自动在线的过激光雷达标定方法。该方法设定一条标定路线上,让车辆沿着这条线行驶,进行自标定。在标定路上的垂直杆上贴上反光带作为特征点,以这些特征点建立外参的约束条件进行标定。
 设在标定路线上有Nt个路标,车上共有Nl个激光雷达。设激光雷达Li扫描到一个特征带你Xj,Li,根据坐标转换,在时刻t,其在空间中的真实坐标为:
在这里插入图片描述
 上式中, 可以通过IMU测量出来,因此上式中未知量仅有在这里插入图片描述。当我们能过够得到特征点在空间中的位置估计时,可以直接利用最小二乘法来求解参数:

在这里插入图片描述
 式中,在这里插入图片描述作为特征点在空间中的位置估计。这里将上述的最小二乘问题转化成二阶锥(SOCP)来求解,求解出激光雷达与车体之间的关系,并进一步推导出激光雷达与激光雷达之间的外参。

激光雷达与摄像头的标定

 自动驾驶的车上,激光雷达与无人驾驶汽车为刚性连接,两者之间的相对姿态和位移固定不变。因此,激光雷达扫描获取到的数据点,在环境坐标系中有唯一的位置坐标与之对应。同样的,摄像头在环境坐标系中也有唯一的位置坐标。这样看来,激光雷达与摄像头之间必然存在着一个关系来完成坐标转换。激光雷达与摄像头的联合标定,就是上文提到的通过提取标定物在单线激光雷达和图像上的对应特征点,完成单线激光雷达坐标、摄像头坐标、图像像素坐标等多个传感器坐标的统一,实现激光雷达与摄像头的空间校准。
 当完成摄像头外参标定、激光雷达的外参标定之后,二者之间的关系可以完全确定。当摄像头与激光雷达同时观察点P时,点P在摄像头自身环境坐标中的坐标为PVC(xVC, yVC, zVC),在摄像头图像的图像像素坐标系下的投影坐标为U(u, v, 1)T,在激光雷达坐标系下的坐标为Pl(xl, yl, zl)。假设激光雷达与摄像头的坐标转换关系为(R | T),则激光点云中的扫描点(xl, yl, zl)在图像像素坐标系中的坐标(u, v)可以通过下式算出:
在这里插入图片描述
 其中,K为摄像头的内参矩阵。
在这里插入图片描述
 对上式进行变换可得:

在这里插入图片描述
 激光雷达与摄像头的标定,转化为对上式中的(R | T)求解。(R | T)共有12个参数来进行求解,因此理论上至少需要4组数据才能计算得到最终结果。为了提高精度,一般在标定过程中使对应点的数量n>4,之后使用最小二乘法进行求解。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【道友避坑】CUB数据集转yolov5格式

写在前面:最近我拿到一个CUB_200_2011鸟类训练模型,但是我想将他转为yolov的格式进行应用。看了些其他博主博客后,发现跳跃性有些强。再此记录转换过程,希望各位道友修得此法后,能有所收获! 一、获取数据集…

为什么年龄越大工作失误越多水平越低能力越差-个人案例

此为内容创作模板,在发布之前请将不必要的内容删除 在日复一日的工作中,我们免不了会产生一些失误,会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的,它直接影响到我们的工作表现和个人成长。一起来谈谈作为职…

信贷产品的贷前获客营销策略搭建

在竞争激烈的信贷市场中,有效的贷前获客营销策略对于吸引潜在借款人、提高转化率以及保持客户忠诚度至关重要。本文将分享一些关于信贷产品贷前获客营销策略搭建的基本框架和经验分享,希望能对大家有所启发。 1、市场调研和目标客户定义 在制定贷前获客…

使用Unity开发一个游戏类型的区块链 [独立区块链]

ArouseBlockchain [Unity独立区块链] 这是一个学习性质的项目,使用了Unity进行独立区块链游戏的开发。 徽章维护者如何贡献使用许可 项目说明 关于本项目的使用说明 背景安装使用说明 生成器 区块链简述 区块链的基础知识简述 背景 未来趋势 区块链未来趋势的…

【什么是iMessage推送,im群发】苹果推iMessage是苹果公司为其设备用户提供的即时通讯服务

iMessage是苹果公司为其设备用户提供的即时通讯服务,拥有一系列强大的功能和特点。然而,至今为止,苹果并未提供官方的群发部署功能。iMessage主要被设计为点对点的通信工具,即用户可以与一个或多个人进行私密的聊天对话。以下是关…

VMware Workstation 17 的安装

一、简介 VMware Workstation 17.0是一款功能非常强大的虚拟机,可以帮助用户在Windows系统上同时开启多个系统,不仅能在虚拟机上安装上不同的操作系统,比如Mac、Linux以及Windows10/11等,还能与云技术和容器技术(如 D…

SpringCloud Eureka注册服务提供者(七)

这里我们在原来的服务提供者项目 microservice-student-provider-1001 上面直接修改&#xff1a; 首先pom.xml修改&#xff0c;加上eureka客户端依赖&#xff1a; <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>…

1.7C++流插入运算符重载

C流插入运算符重载 在 C 中&#xff0c;流插入运算符&#xff08;<<&#xff09;用于输出数据到流中的运算符&#xff0c;流插入运算符可以被重载&#xff0c;使得程序员可以自定义输出对象的方式。 重载流插入运算符的一般形式如下&#xff1a; 其中&#xff0c;T 是…

运维(SRE)成长之路-第1天 搭建虚拟机(图示)

1.Linux安装前准备 虚拟机&#xff1a;用软件&#xff08;如&#xff1a;vmware,virtualbox等&#xff09;模拟硬件,方便实验的灵活配置 虚拟化软件&#xff0c;建议使用 Vmware Workstation 虚拟硬件配置 CPU&#xff1a;2核或更多 内存&#xff1a;1G以上&#xff0c;推荐2…

天线设计中的磁介质材料 探索可重构潜力

​from&#xff1a;IEEE Antennas & Propagation Magazine (Vol. 61 / No. 1 / Feb. 2019, pp:29-40) -- 文 前 -- 这篇文章针对铁氧体在外置磁场下磁导率发生变化这个特点&#xff0c;探讨铁氧体在可重构天线中的应用。文中对铁氧体材料的选择&#xff0c;磁导率数学模型…

Linux系统的tty架构及UART驱动详解

​一、模块硬件学习 1.1. Uart介绍 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter)&#xff0c;通常称为UART&#xff0c;是一种异步收发传输器&#xff0c;是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。 作为把并…

基于Hexo和Butterfly创建个人技术博客,(5) 使用Hexo的Tags Plugin插件增强博客文章内容和视觉表现力

Hexo官司网查看 这里 注意&#xff1a; Tags语法是Hexo插件提供的&#xff0c;是非标准语言&#xff0c;写文章时要注意以下几点&#xff1a; 用于在文章中快速插入特定的内容&#xff0c;作用等同于其它语言&#xff0c;可理解为一种增强版本的markdown&#xff1b;可混合Mark…

嵌入式软件开发岗位----求职过程记录(基础知识和面经总结)

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识以及面试问题等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应用&#xf…

Elastic 8.8 版引入了全新的 Learned Sparse Encoder 模型,并宣布正式推出合成监测

作者&#xff1a;Brian Bergholm 2023年5月25日 今天&#xff0c;我们非常高兴地宣布 Elastic 8.8 版正式发布。 新增功能 Elastic 企业搜索可帮助开发人员利用 Elasticsearch 实现强大的现代搜索和发现体验。 请在 “Elastic 企业搜索亮点” 博文或 8.8 版发行说明中&#…

MySQL启停要十分钟?

一、问题背景 基础环境&#xff1a; 主机类型&#xff1a;x3850 X6 操作系统&#xff1a;DB:Red Hat Enterprise Linux 9.1 7.8 存储&#xff1a;IBM存储&#xff0c;500GB 内存&#xff1a;64 G CPU型号&#xff1a;E7-4830 v3 2.10GHz CPU核数&#xff1a;32CORE 数据…

png转jpg,直接改后缀?

通过把.png改为.jpg可以改变图片的格式么&#xff1f; 将PNG文件扩展名改为JPEG的扩展名&#xff08;.jpg或.jpeg&#xff09;不会更改图像的格式。它只是更改了文件扩展名&#xff0c;这可能导致一些图像查看器和编辑器无法正确识别和处理该文件。 PNG和JPEG是两种不同的图像文…

RadEx Pro处理电火花数据操作步骤(上)

最近单位采集了很多的电火花测线&#xff0c;同事在使用GeoSuite AllWorks 2022R1处理这些测线的时候&#xff0c;发现二次波对地层辨识和划分干扰比较严重。GeoSuite AllWorks 压制二次波的能力有限&#xff0c;有人推荐我们试一试地震处理软件RadEx Pro。 两个中文文档“RadE…

零基础想转行做python爬虫及数据分析方向的程序员,有哪些书可以推荐?

学习Python语言是一个不错的选择&#xff0c;一方面Python的应用广泛&#xff0c;在大数据、人工智能、Web开发等领域有大量的使用&#xff0c;另一方面Python语言本身比较简单&#xff0c;非常适合初学者。 Python是完全可以自学的&#xff0c;如果英语基础还可以的话&#x…

MySQL(六):基本的SELECT语句

基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注博主&#…

力扣题库刷题笔记4--寻找两个正序数组的中位数

1、题目如下&#xff1a; 2、个人Python代码实现如下&#xff1a; 代码如下&#xff1a; class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float: nums nums1 nums2 #合并数组 nums.sort() …