本文主要介绍关于GPS及其相关数据计算方法,GPS经常用于移动机器人及其他移动过程中的定位和地图显示。本文先介绍一些关于GPS参考坐标等相关知识。
GPS 数据简介
实际的GPS系统会以一定格式输出很多数据,如时间,精度因子,卫星编号,信噪比等等,但对于无人机控制而言,最为重要,也是最常使用的还是经度(Longitude),纬度(Latitude)以及高度(height)三组数据。GPS的接收机接受到的数据为经度纬度和高度,高度可以进一步转化为相对为地理大地水准面(geoid (e.g., EGM96)(essentially, mean sea level))的高度。
直接通过GPS获取的飞行器的位置坐标基于WGS-84(World Geodetic System-1984)坐标系,简称Geodetic或G坐标系。
为什么需要单独建立一个坐标系呢?地球表面地势复杂,有山有海,高低不平。需要建立一个简单而精确的近似数学模型,大家决定采用椭球体作为地球的近似。而G坐标系就描述了一个椭球体。
相关坐标系
Inertial Frame
该坐标系表示牛顿定律作用的坐标系。因此一个惯性坐标系没有加速度,只有一个人匀速度。惯性坐标系是任意的,惯性传感器输出的测量值是相对于该坐标系的。
ECI
地心惯性坐标系(Earth centered inertial (ECI) frame)在特定初始时间,以地心为原点,the inertial x and z axes point toward the vernal equinox and along the Earth spin axis。注意ECEF相对该坐标系一角速度
ECEF
一种以地心为原点的地固坐标系(也称地球坐标系),是一种笛卡儿坐标系。原点 O (0,0,0)为地球质心,z 轴与地轴平行指向北极点,x 轴指向本初子午线与赤道的交点,y 轴垂直于xOz平面(即东经90度与赤道的交点)构成右手坐标系。如下图所示。
ECEF Rectangular Coordinates
[x,y,z]系统来表示该系统,
The Earth Geoid and Gravity Model 大地水准面和重力模型
重力是万有引力和离心力的合力。这样表述不太准确,确切的说地球表面的物体跟随地球自传的角加速度并没有指向地心。离心力在赤道上最大,在两极最小为0。geodetic surface定义为处处垂直与重力。他和实际的地球表面不同,他可以用一个理想椭球体近似。
理想椭球体的重心在地球的质心重合,长半轴和地球的自转轴重合。
Geodetic坐标系
大部分导航设备输出的数据
Name | Sysmbol | Value | Units |
---|---|---|---|
Equatorial radius | 6378137 | m | |
Reciprocal flattening | 298.257223563 | ||
Angular rate | 7.292115 x 10~5 | rad/s | |
Gravitational constant | GM | 3.986004418 x 1014 |
由此可以可得
对于任意的一个机器,geoid高度N 就是沿着椭球的法向量从重心到表面的距离。
orthometric height H表示高出geoid的部分,实际海拔是altitude or geodetic height can be expressed as
第一偏心率
第二偏心率
GPS输出的高度不是海拔(Alt)么?这里怎么是h高度呢?GPS硬件直接获取的高度是相对于G坐标系中椭球表面的高度。而海拔是相对于公海平面的高度,它与地球表面形状和重力分布相关。相对于大地水准面的高度才是海拔,也就是图中的H参数。
从Geodetic到ECEF坐标系的数据转换
我们通过G坐标系下的三个参数:经度,维度,高度,可以获得飞行器在椭球表面的位置坐标。但进行导航计算时,我们需要把数据换算到NED坐标系下。要完成从G系到NED的数据转换还需要一个过渡过程:G坐标系到ECEF坐标系下的数据转换。
其中N是我们常说的曲率半径(m)。通过上面的计算公式就可以实现从G坐标系到ECEF坐标的数据转换。
从ECEF到NED坐标系的数据转换
对于商用无人机,相比于它在椭球中的信息,我们更关心它在平面中的位置向量、速度向量。将NED坐标系看做导航中最重要的坐标系并不为过,NED坐标系也经常被直接称为导航坐标系(Navigation coordinate)或者地面坐标系(ground coordinate)。
首先要获取NED坐标系中的参考原点,一般也就是无人机GPS星数达到要求后的起始位置。这也是为什么无人机产品要在星数足够之后才能起飞,试想一下如果起始位置没有定准,就算在飞行过程中星数足够,获取的飞行位置信息也够精确,但结果却可能造成一键返航位置与起始位置偏差巨大。
下面给出参考原点的坐标信息以及从ECEF到NED的转换计算:
从ECEF到NED坐标系的旋转矩阵如下:
结合上面两部分的计算方法,成功地实现了GPS输出的位置数据到NED坐标系下的转换。换句话说,我们获得了进行无人机控制器设计所必须的外环位置状态信息。
但外环信息一共有六个,还有三个速度状态呢?通过GPS可以获得ECEF坐标系下的速度向量。与G系类似,相比于飞行器在ECEF这个三维坐标系的速度向量,我们更关心相对于NED坐标系的速度向量:
地理坐标系和地心坐标系
前者的z轴垂直与椭球面向下(这样并没有指向地心当然在赤道上除外,之后的文章中会解释)后者的z轴指向地心,两者均随着地球运动,x轴指向正北(true north),y轴指向正东。地理坐标系的原点随着机器运动,因此3轴也在旋转,注意true north and magnetic north是两个不同的方向,
The local geodetic frame
north, east, down rectangular coordinate system。 该切平面固定与地球表面的一点,也就是坐标系的原点,x指向北,z指向下垂直与椭球面,y轴指向东。因此该坐标系经常用于静止的系统是,地理坐标系和该坐标系是重合的,如果系统是运动的,该坐标系是固定的。该坐标系经常用于局部导航吸引。
## 基体坐标系
基体坐标系固定于机器上,经常原点位于重心,x轴指向前方roll,z轴向下yaw,y指向右pitch。
height relative to an ellipsoidal Earth model
WGS 80 vs ECEF, ENU
Convert geodetic coordinates to Earth-centered Earth-fixed (ECEF) coordinates
mathworks
p = lla2ecef(lla)
p = lla2ecef(lla, model)
p = lla2ecef(lla, f, Re)
Calculate Earth-centered Earth-fixed (ECEF) position from geodetic latitude, longitude, and altitude above planetary ellipsoid
mathworks
cef-coordinate-systems-gps
Note that the extension of the normal towards the interior of the ellipsoid will not intersect the center of the Earth except in special cases such $$
reference-frame-transformations-gps
refer
- https://en.wikipedia.org/wiki/ECEF
- http://what-when-how.com/gps-with-high-rate-sensors/specific-vector-transformations-gps-part-1/