一、简介


1.1 地心地固直角坐标系(ECEF)


  也叫地心地固直角坐标系。其原点为地球的质心,x轴延伸通过本初子午线(0度经度)和赤道(0deglatitude)的交点。 z轴延伸通过的北极(即,与地球旋转轴重合)。 y轴完成右手坐标系,穿过赤道和90度经度。

在这里插入图片描述
1.2 WGS-84坐标(LLA)

        也就是也叫经纬高坐标系(经度(longitude),纬度(latitude)和高度(altitude)LLA坐标系)。,全球地理坐标系、大地坐标系。可以说是最为广泛应用的一个地球坐标系,它给出一点的大地纬度、大地经度和大地高程而更加直观地告诉我们该点在地球中的位置,故又被称作纬经高坐标系。WGS-84坐标系的X轴指向BIH(国际时间服务机构)1984.0定义的零子午面(Greenwich)和协议地球极(CTP)赤道的交点。Z轴指向CTP方向。Y轴与X、Z轴构成右手坐标系。

  一句话解释就是:把前面提到的ECEF坐标系用在GPS中,就是WGS-84坐标系。
其中:
(1):大地纬度是过用户点P的基准椭球面法线与赤道面的夹角。纬度值在-90°到+90°之间。北半球为正,南半球为负。

(2):大地经度是过用户点P的子午面与本初子午线之间的夹角。经度值在-180°到+180°之间。

(3):大地高度h是过用户点P到基准椭球面的法线距离,基准椭球面以内为负,以外为正。

在这里插入图片描述

1.3 东北天坐标系(ENU)

        也叫站心坐标系以用户所在位置P为坐标原点。

  坐标系定义为: X轴:指向东边 Y轴:指向北边 Z轴:指向天顶

  ENU局部坐标系采用三维直角坐标系来描述地球表面,实际应用较为困难,因此一般使用简化后的二维投影坐标系来描述。在众多二维投影坐标系中,统一横轴墨卡托(The Universal Transverse Mercator ,UTM)坐标系是一种应用较为广泛的一种。UTM 坐标系统使用基于网格的方法表示坐标,它将地球分为 60 个经度区,每个区包含6度的经度范围,每个区内的坐标均基于横轴墨卡托投影,如下图所示:

1.4 车身坐标系—右-前-天坐标(RFU)

        车身坐标系—右-前-天坐标(RFU)的定义如下:

        X轴:面向车辆前方,右手所指方向

        Y轴:车辆前进方向

        Z轴:与地面垂直,指向车顶方向
        注意:车辆参考点为后轴中心。该坐标系一般用于感知模块。

如下图所示:

1.5 车身坐标系—前-左-天坐标(FLU)

        车身坐标系—前-左-天坐标(FLU)的定义如下:

        X轴:车辆前进方向
        Y轴:面向车辆前方,左手所指方向
        Z轴:与地面垂直,指向车顶方向
        注意:车辆参考点为后轴中心。该坐标系常用于实时相对地图模块。将RFU坐标系向左旋转90度即可得到FLU坐标系。

车身坐标系

1.6 Frenet坐标系

Frenet坐标系又称Frenet–Serret公式,Apollo项目文档未提及,但在规划模块中广泛使用。Frenet–Serret公式用于描述粒子在三维欧氏空间 R 3 ℝ^3 R3内沿一条连续可微曲线的运动学特征,如下图所示:

二、坐标系间的转换

在这里插入图片描述
2.1 LLA坐标系转ECEF坐标系

(1)LLA坐标系下的(lon,lat,alt)转换为ECEF坐标系下点(X,Y,Z)

 在这里插入图片描述

(2)其中e为椭球偏心率,N为基准椭球体的曲率半径

在这里插入图片描述

(3)由于WGS-84下极扁率,偏心率e和极扁率f之间的关系:

在这里插入图片描述

(4) 坐标转换公式也可以为

在这里插入图片描述
2.2 ECEF坐标系转LLA坐标系

ECEF坐标系下点(X,Y,Z)转换为LLA坐标系下的(lon,lat,alt)
一开始lon是未知的,可以假设为0,经过几次迭代之后就能收敛

 在这里插入图片描述

2.3 ECEF坐标系转ENU坐标系

在这里插入图片描述
2.4 ENU坐标系转ECEF坐标系

 在这里插入图片描述

 
2.5 LLA坐标系直接转ENU坐标系

        上述可以看到,从LLA坐标系转换到enu坐标系有较多计算量,在考虑地球偏心率e ee很小的前提下,可以做一定的近似公式计算

在这里插入图片描述

2.6 Frenet坐标系与笛卡尔坐标系的转换公式

        为什么要将笛卡尔坐标系转换为Frenet坐标系?因为可以这样可以将车辆的二维运动问题解耦合为两个一维运动问题。显然,一维问题比二维问题容易求解,这就是笛卡尔坐标系转换为Frenet坐标系的必要性。

        Apollo项目中Frenet坐标系与笛卡尔坐标系转换代码:函数声明文件planning/math/frame_conversion/cartesian_frenet_conversion.h

原文链接:https://blog.csdn.net/davidhopper/article/details/79162385

2.7 LLA坐标系转局部笛卡尔积坐标系

可使用C++库: GeographicLib download | SourceForge.net  中的GeographicLib::LocalCartesion::Forward(double lat, double lon, double h, double &x, double &y, double &z);

2.8 大地坐标转换到车辆坐标系

        通过高精地图或V2X接收到的消息或通过定位模块输入的一系列坐标为WGS84坐标点,而感知融合模块输出的障碍物数据,以及前视摄像头识别的车道线信息,都基于车辆坐标系,因此需要将高精地图的车道数据转换为车辆坐标系下的轨迹点进行进一步处理。

        车辆坐标系以车辆后轴中心为原点,沿车身纵轴向向前为x正,垂直于车身纵轴向左为y正,向上为z正,为右手系。

        从大地坐标系转换到车辆坐标系可以分成两步。第一步是将数据点从大地坐标系转换到空间直角坐标系。其中:大地坐标表示顺序为:纬度B、经度L、海拔H,空间直角坐标表示方法:X、Y、Z,第二步是将空间坐标系转换到车辆坐标。

大地坐标系下BLH与XYZ相互转换的方法如下:(同2.1)

        转换公式如下:

        式中(B,L)为目标点的经纬度坐标,(X,Y,Z)为转换后的平面坐标,坐标原点为零纬线零经线(格林威治子午线), k 为纬度B处的卯酉圈曲率半径,  ,  a为地球长轴半径,H为相对椭球面的高度,e为椭球第一偏心率。

        计算时,由于计算的是目标点以车辆为原点的平面坐标,将车辆经度线作为经线参考线,则上式中cosL项可近似为1;所规划的为2D路径,因此高度H可以椭球0高面统一计算,H=0。

空间直角坐标系到车辆坐标系的转换

        空间直角坐标系到车辆坐标系的转换,主要是将空间坐标系的X,Y轴转换车辆坐标系。转换起点在空间坐标系的坐标值为X0,Y0,起点位置的车辆航向为θ ,待转换点的空间直角坐标为XT,YT。通过坐标旋转可以得到,待转换点在车辆坐标下的坐标为:

参考:

https://blog.csdn.net/qq_34213260/article/details/109133847 https://blog.csdn.net/davidhopper/article/details/79162385

Logo

为开发者提供自动驾驶技术分享交流、实践成长、工具资源等,帮助开发者快速掌握自动驾驶技术。

更多推荐