Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

GPS-coordinate-system

$
0
0

本文主要介绍关于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坐标系。

PG=[λ,ϕ,h]T

为什么需要单独建立一个坐标系呢?地球表面地势复杂,有山有海,高低不平。需要建立一个简单而精确的近似数学模型,大家决定采用椭球体作为地球的近似。而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相对该坐标系一角速度
ωiie=[0,0,ωie]

ωis(1+365.25cycle365.2524hr)(2πrad/cycle3600sec/hr)

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坐标系

大部分导航设备输出的数据 ϕ λh,也就是经度纬度和高度。

Name Sysmbol Value Units
Equatorial radius a 6378137 m
Reciprocal flattening 1f 298.257223563
Angular rate ωie 7.292115 x 10~5 rad/s
Gravitational constant GM 3.986004418 x 1014 m2s2

由此可以可得


对于任意的一个机器,geoid高度N 就是沿着椭球的法向量从重心到表面的距离。
orthometric height H表示高出geoid的部分,实际海拔是altitude or geodetic height can be expressed as h=H+N. 给出该椭球体的基本参数:长半轴,短半轴,第一偏心率,第二偏心率,扁率,曲率半径(米):
a=6378137; b=a(1f);
第一偏心率

c=a2b2a2

第二偏心率
c=a2b2b2

GPS输出的高度不是海拔(Alt)么?这里怎么是h高度呢?GPS硬件直接获取的高度是相对于G坐标系中椭球表面的高度。而海拔是相对于公海平面的高度,它与地球表面形状和重力分布相关。相对于大地水准面的高度才是海拔,也就是图中的H参数。

hH+M

M(大地水准偏差)作为GPS输出高度h和当地海拔之间的偏差,一般在正负100m以内。

从Geodetic到ECEF坐标系的数据转换

我们通过G坐标系下的三个参数:经度,维度,高度,可以获得飞行器在椭球表面的位置坐标。但进行导航计算时,我们需要把数据换算到NED坐标系下。要完成从G系到NED的数据转换还需要一个过渡过程:G坐标系到ECEF坐标系下的数据转换。

PE=[XE,YE,ZE]

N=a1e2sin2ϕ

PTE=(N+h)cosϕcosλ(N+h)cosϕsinλ(N(1e2)+h)sinψ

其中N是我们常说的曲率半径(m)。通过上面的计算公式就可以实现从G坐标系到ECEF坐标的数据转换。

从ECEF到NED坐标系的数据转换

对于商用无人机,相比于它在椭球中的信息,我们更关心它在平面中的位置向量、速度向量。将NED坐标系看做导航中最重要的坐标系并不为过,NED坐标系也经常被直接称为导航坐标系(Navigation coordinate)或者地面坐标系(ground coordinate)。

ecef

首先要获取NED坐标系中的参考原点,一般也就是无人机GPS星数达到要求后的起始位置。这也是为什么无人机产品要在星数足够之后才能起飞,试想一下如果起始位置没有定准,就算在飞行过程中星数足够,获取的飞行位置信息也够精确,但结果却可能造成一键返航位置与起始位置偏差巨大。
下面给出参考原点的坐标信息以及从ECEF到NED的转换计算:

PE,ref=[XE,ref,YE,ref,ZE,ref]

PN=RN/E(PEPE,ref)

从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

earth ellipsoid

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

  1. https://en.wikipedia.org/wiki/ECEF
  2. http://what-when-how.com/gps-with-high-rate-sensors/specific-vector-transformations-gps-part-1/
作者:wendox 发表于2016/9/13 22:54:55 原文链接
阅读:53 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>