Apollo进阶课程⑭ | Apollo自动定位技术——三维几何变换和坐标系介绍
目录
1.三维几何变换---旋转
2.三维几何变换----平移
2.1刚体的位置和朝向
3. 坐标系
3.1 ECI地心惯性坐标系
3.2 ECFF地心地固坐标系
3.3当地水平坐标系
3.4 UTM坐标系
3.5 车体坐标系
3.6IMU坐标系
3.7 相机坐标系
3.8 激光雷达坐标系
3.9 无人车定位信息中涉及的坐标系
原文链接:进阶课程⑭ | Apollo自动定位技术——三维几何变换和坐标系介绍
上周阿波君为大家详细介绍了「进阶课程 ⑬ | Apollo无人车自定位技术入门」。
详细讲解了什么是无人车的自定位系统,以及无人车为什么需要精准的定位系统。最后详细讲解了激光定位、视觉定位和惯性导航。由于单一定位方式有缺陷,因此产生了以卡尔曼滤波器为中心的多传感器融合定位系统。
本周阿波君将与大家分享Apollo自动定位技术——三维几何变换和坐标系介绍。下面,我们一起进入进阶课程第14期。
本节主要介绍自定位的一些基础知识,主要包括三维几何变换和几个坐标系。
根据各个轴位置关系的不同,空间中的坐标系可以分为左手坐标系和右手坐标系。如下图所示。
空间坐标系
1.三维几何变换---旋转
旋转是指在一个坐标系下,把一个点旋转到另一个位置的几何变换。
二维旋转
如上所示:将P旋转θ角到P'的位置,在二维坐标系下,由一个2×2的矩阵表示,如图中的R(θ)。点的旋转其实也可以理解为两个坐标系的一个旋转。对于三维而言,多了一个维度,可以用3×3矩阵来表示。
分解来看,可以通过X轴Y轴Z轴分别去旋转,对应的分量分别是RX,RY和RZ。三维旋转矩阵可以由对应三个方向的基本旋转矩阵相乘来表示。三维旋转矩阵存在九个元素,对九个元素进行优化是非常复杂。通常情况下会使用是欧拉角或者四元数的方式进行优化,如下图所示。
三维旋转
2.三维几何变换----平移
平移是当前点相对于坐标原点的位置变化,通常由当前位置的坐标表示,由一个3x1的向量表示,如下所示。
三维平移
2.1刚体的位置和朝向
刚体的位置和朝向
刚体是一种有限尺寸,可以忽略形变的固体。自然界不存在完美的刚体,但物体通常可以假定为完美刚体。自动驾驶中汽车可以认为是一个刚体。
刚体坐标系通常是取刚体内的一点P为原点建立的局部坐标系。刚体的位置可以看作刚体原点P相对于参考坐标系原点O所做的平移,可以使用三维平移向量表示。刚体的朝向可以由刚体原点P的朝向来表示。
3. 坐标系
下面介绍一下定位里面常用的坐标系。
3.1 ECI地心惯性坐标系
ECI地心惯性坐标系,也称i系,这个坐标系如下图所示:
地心惯性坐标系ECI
它圆心就是地球的原点,Z轴沿地轴方向朝向北极, X轴和Y轴位于赤道平面内,与Z轴满足右手法则,并且X轴和Y轴分别指向两个恒星。也就是说不随着地球的自转而发生变化。它是一个非常固定的坐标系。IMU测量得到的加速度,角速度都是相对于这个坐标系的。
3.2 ECFF地心地固坐标系
ECEF地心地固坐标系也称为e系,它的原点也是地球的原点, Z轴指向北极, 它与前面的ECI的区别就在于它的XY随着地球的自转而转动,它是以地球为基准的。它的X轴指向格林威治的子午面的交线, Y轴在赤道平面内与X轴、Z轴满足右手系法则,常用的如WGS84坐标系。其特点是与地球固定在一起,随地球一起转动。
地心地固坐标系ECEF
3.3当地水平坐标系
当地水平坐标系,一般也称为L系。如下图所示,它的原点位于载体所在的地球表面,X轴和Y轴在当地水平面内,分别指向东向和北向,Z轴垂直向上,与X轴和Y轴满足右手法则。在导航解算过程中通常也把该坐标系选取为导航坐标系(n系),也称为“东-北-天(E-N-U)”坐标系。
当地水平坐标系
3.4 UTM坐标系
UTM(UNIVERSAL TRANSVERSE MERCARTOR GRIDSYSTEM,通用横轴墨卡托格网系统)坐标是一种平面直角坐标,这种坐标格网系统及其所依据的投影已经广泛用于地形图。其投影是一种“等角横轴割圆柱投影”,椭圆柱割地球与南纬80度,北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比为0.9996。该投影方法按经度把地球划分成了60个区域,那么每6度一个区域,例如北京其实在第50区。南北又做了划分,相当于把地球划分成很多块。
UTM投影
3.5 车体坐标系
车体坐标系原点在载体质量中心与载体固连处(相对于车载,选取原点位于后轴中心位置),X轴沿载体轴向指向右,Y轴指向前,Z轴与X轴和Y轴满足右手法则指向天向。该坐标系通常称为“右-前-上(R-F-U)”坐标系。它是一个局部坐标系,它与N系或者导航坐标系、当地水平坐标系之间的旋转关系表示现在车的姿态。
车体坐标系
3.6IMU坐标系
IMU坐标系其实和车体坐标系基本上是一样,它的原点在陀螺仪和加速度计的坐标原点,XYZ三个轴方向分别与陀螺仪和加速度计对应的轴向平行。在不考虑安装误差角的情况下,载体坐标系和IMU坐标系是一样的。
IMU坐标系特点
3.7 相机坐标系
相机坐标系以相机光心为原点,Xc轴和Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。由点O与Xc、Yc、Zc轴组成的坐标系成为相机的坐标系,如下图右边所示。通常情况下并不会将相机坐标系和其他的全局坐标系直接连接起来,因为已经选IMU作为汽车原点。通过一个外参,把相机和IMU关联起来,也就是标定的外部参数。当知道IMU在世界坐标系的姿态和位置就可以得到相机坐标系到世界坐标系的转换。
相机坐标系
3.8 激光雷达坐标系
下图为激光雷达坐标系以及其俯视图,从图中可以看出激光雷达坐标系的坐标原点位于多线束中点旋转轴的交点处,Z轴沿轴线向上,X和Y轴如俯视图所示。其测量的点坐标是在激光雷达坐标系下的三维坐标。
要转换到世界坐标系,可以使用相机坐标系下点转换到世界坐标系的类似方法。通过IMU坐标系到激光雷达坐标系的外參,以及IMU坐标系的姿态,得到激光雷达坐标系到世界坐标系的转换。
激光雷达坐标系及其俯视图
3.9 无人车定位信息中涉及的坐标系
下图给出了定位模块中输出的各个坐标系下的信息以及不同坐标系之间的关系。
无人车定位信息中涉及的坐标系
定位输出信息主要包括UTM坐标系的XY,IMU的姿态四元数, ENU坐标系下的速度。另外还输出一些和车体相关信息,例如车体姿态的四元数,车体坐标系下的加速度和角速度。这些输出的信息可以给感知和PNC使用。各个坐标系之间是一些基本的旋转关系。
Apollo进阶课程⑭ | Apollo自动定位技术——三维几何变换和坐标系介绍相关推荐
- Apollo进阶课程⑪ | Apollo地图生产技术
目录 高精地图生产流程 数据采集 数据处理 元素识别 人工验证 全自动数据融合加工 基于深度学习的地图要素识别 人工验证生产 地图成果 原文链接:进阶课程⑪ | Apollo地图生产技术 高精地图是自 ...
- Apollo进阶课程⑩ | Apollo地图采集方案
目录 TomTom的高精地图和RoadDNA APOLLO地图采集流程 基站搭建 Apollo地图采集硬件方案 地图数据服务平台 原文链接:进阶课程⑩ | Apollo地图采集方案 上周阿波君为大家详 ...
- Apollo进阶课程 ⑮丨Apollo自动定位技术详解—百度无人车定位技术
目录 1.百度无人车定位进化历程 2.百度自动驾驶应用的定位技术 2.1GNSS定位技术 2.2载波定位技术 2.3激光点云定位技术 2.4视觉定位技术 原文链接:进阶课程 ⑮丨Apollo自动定位技 ...
- Apollo进阶课程㉑丨Apollo规划技术详解——Basic Motion Planning and Overview
原文链接:进阶课程㉑丨Apollo规划技术详解--Basic Motion Planning and Overview 运动规划(Motion Planning)就是在给定的位置A与位置B之间为机器人 ...
- Apollo进阶课程㉖丨Apollo规划技术详解——Understand More on the MP Difficulty
原文链接:进阶课程㉖丨Apollo规划技术详解--Understand More on the MP Difficulty EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术,EM的算法流程 ...
- Apollo进阶课程㉕丨Apollo规划技术详解——Optimization Inside Motion Planning
原文链接:进阶课程㉕丨Apollo规划技术详解--Optimization Inside Motion Planning 在自动驾驶软件的开发中,运动规划是最核心的模块之一.它将综合感知.定位和地图等 ...
- Apollo进阶课程㉔丨Apollo 规划技术详解——Motion Planning Environment
原文链接:进阶课程㉔丨Apollo 规划技术详解--Motion Planning Environment 自动驾驶汽车核心技术包括环境感知.行为决策.运动规划与控制等方面.其中,行为决策系统.运动规 ...
- Apollo进阶课程㉓丨Apollo规划技术详解——Motion Planning with Environment
原文链接:进阶课程㉓丨Apollo规划技术详解--Motion Planning with Environment 当行为层决定要在当前环境中执行的驾驶行为时,其可以是例如巡航-车道,改变车道或右转, ...
- Apollo进阶课程㉒丨Apollo规划技术详解——Motion Planning with Autonomous Driving
原文链接:进阶课程㉒丨Apollo规划技术详解--Motion Planning with Autonomous Driving 自动驾驶车辆的规划决策模块负责生成车辆的行驶行为,是体现车辆智慧水平的 ...
最新文章
- Linux通过端口号杀死指定进程
- rsync+inotify一键安装脚本
- linux 内核 file_operations结构体各项解析
- 获取webbrowser中元素的屏幕坐标
- angular js 使用pdf.js_排名靠前的几个JS框架发展趋势和前景
- 让模块支持“导入”“导出”功能
- 在恰当的地方使用MongoDB的WriteConcern.SAFE参数
- Spring声明式事务管理、事务的传播行为xml配置
- Android Service AIDL 远程调用服务 【简单音乐播放实例】
- bool型数组python_Python bool()
- POJ1039 Pipe
- 论文阅读之Siamese RPN以及一些其他内容的补充
- 红色警戒2:尤里的复仇 中文绿色版
- 前端基础入门之css表格与表单
- Vue中this的指向问题
- 思维导图分享以及MindManager使用说明
- 洛阳理工Linux实验报告,谁来给我抄实验报告啊!这一张又一张写得。。。。
- VisionMaster 4.0.0 的Modbus通信
- 修复 重装 远程桌面工具(mstsc.exe)完美解决方案
- 【信号去噪】基于蚁群算法优化小波阈值实现信号去噪附matlab代码
热门文章
- Codeforce Flea CodeForces - 32C 规律|思维
- 1012 数字分类 (20 分)(C语言实现)
- python分布式框架_高性能分布式执行框架——Ray
- python各版本区别_关于python中不同版本的print区别
- 深入浅出VC++串口编程之基于Win32 API
- 简述TCP/IP四层体系结构及每层作用
- Maven笔记——maven下载与配置
- delphi xe2 project菜单怎么没有加组件功能_交互设计:让人困惑的三大交互组件及用法...
- vb 通过php连接mysql数据库连接_PHP连接MySQL数据库的几种方法
- list取数据_Day.5利用Pandas做数据处理(二)