我是靠谱客的博主 潇洒镜子,最近开发中收集的这篇文章主要介绍无人驾驶中用到的八大坐标系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

640?wx_fmt=jpeg

本文来源:智车科技


第一个叫作eci地心惯性坐标系


640?wx_fmt=jpeg

(如图,红色o-xyz坐标系所示,低新惯性坐标系(i系)的原点位于地球原点,z轴沿地轴指向北极,x轴和y轴位于赤道平面内,与z轴满足右手法则,并且x轴和y轴分别指向两个恒星)


我们给了一张图,你可以看到圆心就是地球的原点,它的z轴是朝向北极的,xy是分布在赤道的平面,但他们会分别指向两个恒星,坐标系是不会随着地球的自转而变化的,它是非常固定的坐标系。这样的坐标系的作用是在地球表面这些载体,在运动时候,你的相对惯性,是相对与这个坐标系。所以我们讲的imu检测到或者计算到探测到的加速度,角速度都是相对于地心惯性坐标系的。


他的特点就是xy不动,不随着地球的自转而转动,可以作为地球附近传感器输出的惯性坐标系。


第二个坐标系ecef地心地固坐标系


640?wx_fmt=jpeg

(如图,图中绿色0-xyz坐标系所示,地心地固坐标系(e系)的原点位于地球原点,z轴沿着地轴指向北极,y轴沿着赤道平面与格林威治子午面的交线上,y轴在赤道平面与x轴z轴满足右手法则,常用如wgs84坐标系系统)


这个坐标系的原点也是在地球的原点,它的z轴朝向指向北极,它与前面的eci的区别,就在于xy,它随着地球的自转而转的,以地球为base的,就是的x轴会指向格林威治子午面交线上,然后y轴和x轴满足右手系法则,角度是90度的定义。这个坐标系的特点,它其实和地球固连在一起,它随着地球的转动而转动,它其实在某些时刻和i系是一样的,比如我们旋转到指定的位置,比如说一个值自转到那个时刻,那么xy轴就会重合,对于地球上任意一点,它是有一个自己的精确xyz的坐标,它i系之间就存在一个随着时间的旋转,下面给出了i系到e系,绕着z轴做一个时间上的一个旋转,就可以得到。


640?wx_fmt=jpeg


第三个坐标系是当地水平坐标系


640?wx_fmt=jpeg

(如图中蓝色0-xyz坐标系所示,当地水平坐标系(i系)的原点位于载体所在的地球表面,x轴和y轴在当地水平面内,分别指向东向和北向,z轴垂直向上,与x轴y轴满足右手法则。该坐标系是机器人领域通常所说的世界坐标系(w系),在导航解算过程中通常也把该坐标系选取为导航坐标系(n系),也称为“东-北-天(e-n-u)”坐标系,与之对应“北-东-地(n-e-d)“坐标系)


带你更低水平坐标系一般称之为l系,前面讲过地心地固里面涉及到wgs84坐标系,也就是大地坐标系,这个坐标系是常用坐标系,它坐标系用于导航的时候,并没有特别好用,因为是以地心为原点,与平时用的地图不大匹配,所以要引入当地水平坐标系。当地水平坐标系的特点是他的原点一般定义在载体上面,它的朝向xyz经常定义为enu,就是东向北向和天向,相反就是三个轴相反就是北东地,但一般情况下用enu坐标系。这个坐标系在导航中称之为n系,它的特点是原点在载体上面,朝向是enu。并且和地球固链在一起,也随着地球转动。E系的旋转关系,是和当地坐标系所在位置有关,大地坐标系很多时候有xyz表示,也有经纬度表示,经纬度可以一对一转换为xy。

大地的xy怎么去得到它?怎么从e系到l系:


640?wx_fmt=jpeg


通过z轴的旋转,在绕道经度的旋转,再到纬度的旋转,然后在绕到z轴的一个旋转,最后得到当地坐标系。


第四个utm坐标系


(UTM投影全称为“通用横轴墨卡托投影”UNIVERSAL TRANSVERSE MERCATOR PROJECTION ,是一种“等角横轴割圆柱投影”,椭圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比0.9996。UTM投影是为了全球战争需要创建的,美国于1948年完成这种通用投影系统的计算。与高斯-克吕格投影相似,该投影角度没有变形,中央经线为直线,且为投影的对称轴,中央经线的比例因子取0.9996是为了保证离中央经线左右约180km处有两条不失真的标准经线。)


在前面的大地坐标系去做定位不是很好用,因为你不是用像我们平时用的地图,这种水平地图。这个utm地图是根据经纬度做的划分,通过经度吧地球分成60个区域,每6度一个区域,北京在第50的区域,南北也做了划分,相当于把地球分成了很多很多块,


640?wx_fmt=jpeg


一般情况下只是在一个带里面,比如说6度1个带60个区域,每个区域里面其实都是一起用的,没有在做经纬度的划分,但是在高纬度,因为地球上一个球,到最高纬度的时候,变换(误差)特别大,所以它有个限定,到了北纬(高纬度),用的换算公式不一样,utm坐标系,他就是我们平时定位输出的坐标系,我们用这个坐标系做输出,它的坐标xy,再加上刚才所说的投影带的代号,就是0到59或者1到60,一般情况下1到60,加一个代号,就知道xy坐标,就可以换算成大地坐标系xyz,也换算成经纬度。


第五个车体坐标系


640?wx_fmt=jpeg

(如图车辆的车体坐标系(b系),车体坐标系原点在载体质量中心与载体固链(对于车载,我们选取原点位于后轴中心位置),x轴沿载体轴只想右,y轴指向前,z轴和x轴,y轴满足右手坐标法则指向天向。该坐标系通常称为“右-前-上(r-f-u)”坐标系,与之对应的还有“前-左-上(f-l-u)”等)


我们说了车体是个刚体,大家知道导航设备,关于imu经常安装在两个车轴中间,后面车轴的中间,这么做是保证它的稳定性,这个点我们称之为车的原点,然后我们在建一个包围盒,就知道车的每一位置的坐标了。我们建立这个坐标系是为了和当地坐标系匹配起来,然后去做计算,这个坐标系需要在我们所依赖的导航坐标系下知道它的位姿的变换,在utm坐标系下知道它的位置情况。车体坐标系一般情况我用一个rfu就是右前上,右边是x前面是y的话,上边就是z,三个就是rfu。这个坐标系是以载体固连在一起,它随着载体运动而运动,它是一个局部坐标系,它与n系(导航坐标系),或者当地水平坐标系,他们之间的旋转关系来表示现在车的姿态。因为前面讲enu东向北向天向,那这个车如果在这个坐标系下面,我们是一个什么样的姿态。我们就知道它的三个角度,和现在车体坐标系的三个坐标轴和原来坐标系之间角度的差异,就是它的姿态。


640?wx_fmt=jpeg


第六个imu坐标系


640?wx_fmt=jpeg

(如图所示imu(惯性测量单元)坐标系,imu坐标系的坐标原点在陀螺仪和加速度计的坐标原点,xyz三个轴方向,分别与陀螺仪和加速度计的对应轴向平行。在解算惯性导航系统(sins)中imu与车体固链,因此在不考虑安装误差角的情况下,载体坐标系也即为imu坐标系)


刚才说过imu就装在车体的一个点上,imu坐标系和载体坐标系一样,取决于我们安装,安装的时候有小误差,比如说现在安装的精度问题,有可能yaw角度上有一些误差,这些误差如果通过外参的方式把它补偿之后,它的坐标系和前面载体坐标系其实是一样的。它也是和载体固定连在一起,和n系有一个旋转关系。


第七个相机坐标系


640?wx_fmt=jpeg

640?wx_fmt=jpeg

(如图所示o点为摄像机光心(投影中心),xc轴和yc轴于成像平面坐标系的x轴和y轴平行,zc轴为摄像机光轴,和图像平面垂直。由点o与xc,yc,zc轴组成的直角坐标系称为相机坐标系。


如果将相机坐标系中的点坐标转换为世界坐标系,通常imu坐标系的原点在世界坐标系的位置已知,通过imu坐标系到相机坐标系的外参,以及imu坐标系的姿态,可以得到相机坐标系到世界坐标系的转换)


大家对相机比较熟悉,这个坐标系比较简单,就是以自己的光心为原点,xy一般有相平面决定,x朝右,y轴朝下建立一个局部坐标系。相机坐标系不会和其他全局坐标系直接连接起来,因为车已经选了一个原点,就是imu原点,把相机坐标系和imu坐标系关联起来,可以通过一个外参,它两个之间其实就差一个旋转和平移,如果把它算出来,我们就知道他们之间的一个刚性变化,比如我们知道imu坐标系世界坐标系的姿态和位置,就可以转化为相机坐标系。


第八个激光雷达坐标系


640?wx_fmt=jpeg

640?wx_fmt=jpeg

(如图所示激光雷达坐标系以及俯视图,从图中可以看出激光雷达坐标系的坐标原点位于多线束中殿旋转轴的交点处,z轴沿着轴线向上,x和y轴如俯视图所示,其测量的点坐标是在激光雷达坐标系下的三维坐标,转换到世界坐标系。同相机坐标系下点转换到世界坐标系类似,通过imu坐标系到激光雷达坐标系的外参,以及imu坐标系的姿态,可以得到激光雷达坐标系到世界坐标系的转换。)


激光雷达坐标系和相机坐标系很相似,但是它的局部坐标系的定义不一样,我们可以看到64线激光是往前走的话是x,相当于z朝上。如果平时我们也不会这么做,做完点云定位得到位置姿态,也是转化到imu下面去,所以他只是和imu之间有外参的变换,并不是说直接用于世界坐标系的作用。


640?wx_fmt=jpeg


无人车定位信息中所涉及到的坐标系,有imu坐标系,有enu坐标系,有车体坐标系,其实他们之间都是一个转换关系,所有的坐标系都是输出umt坐标系下的xy,imu的姿态,四元数相对于当地水平坐标系(n系)的,他是姿态的四元数,但是速度又是enu,相当于东向北向和天向下面的速度,这个速度可以理解为如它在gps下有一个速度分解到了enu坐标系,也可以说是enu坐标系的投影,这个速度对车体有用,在真正做车辆控制的时候,它用到地图,地图建立后和这个速度一一匹配。


另外还输出一些和车体相关的信息,比如说车体姿态四元数,车体姿态我们提到imu,imu和车体安装会有小的偏差,虽然误差很小,比如说1度2度,这对控制来说有问题,我们需要很精准,要把这些补偿到车体上去。


前面我们还说道车体坐标系下加速度和角速度,他们相对于车体,因为车往那个方向的加速度或者角速度,其实车体最有用,也不会把它转化到其他坐标系下。这些东西可以感知和pnc用。


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”


640?wx_fmt=jpeg

最后

以上就是潇洒镜子为你收集整理的无人驾驶中用到的八大坐标系的全部内容,希望文章能够帮你解决无人驾驶中用到的八大坐标系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部