1. 程式人生 > >玩轉四旋翼無人機(GPS基礎)

玩轉四旋翼無人機(GPS基礎)

本文主要介紹關於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軸指向東。因此該座標系經常用於靜止的系統是,地理座標系和該座標系是重合的,如果系統是運動的,該座標系是固定的。該座標系經常用於區域性導航吸引。

## 基體座標系
這裡寫圖片描述

相關推薦

無人機GPS基礎

本文主要介紹關於GPS及其相關資料計算方法,GPS經常用於移動機器人及其他移動過程中的定位和地圖顯示。本文先介紹一些關於GPS參考座標等相關知識。 GPS 資料簡介 實際的GPS系統會以一定格式輸出很多資料,如時間,精度因子,衛星編號,信噪比等等,但對於

無人機感測器

IMU 一個典型的IMU包括一個三軸陀螺儀,一個三軸加速度計和一個三軸磁力計。首先定義慣性座標系A,機體座標系B。 陀螺儀 陀螺儀測量B相對於A的角速度 ΩIMU=Ω+bΩ+η η為可加性測量噪聲,bΩ為陀螺儀常量偏置。 加速度計 加速度計

(ADRC)自抗擾控制器——無人機

自抗擾四旋翼控制中的幾個問題:自抗擾控制器包含三大部分:TD微分跟蹤器 :微風跟蹤器主要可以安排過渡,過程同時還具有一定的濾波功能,四旋翼由遙控器和地面站傳送期望控制訊號,可以通過微分跟蹤器安排過渡過程,加快響應速度,同時還可以用於對資料進行濾波。ESO擴張狀態觀測器:擴張觀

無人機 UAV 相關的學習資料

書籍:1、《Handbook of Unmanned Aerial Vehicles》          2、《》PTAM 是增強現實相關的一個庫,與SLAM框架類似,相容ROS。    以下是關於PTAM相關的一些網頁:    PTAM (Parallel Tracking

二叉連結串列 20 分

玩轉二叉連結串列 (20 分) 先序建立二叉樹的二叉連結串列 設計程式,按先序建立二叉樹的二叉連結串列;然後先序、中序、後序遍歷二叉樹。 輸入格式: 按先序輸入一棵二叉樹。二叉樹中每個結點的鍵值用字元表示,字元之間不含空格。注意空樹資訊也要提供,以#字元表示空樹。 輸出格式:

001—Mysql的配置檔案my.ini

#====================================== #平臺:windows7         #MYsql版本:mysql-5.5.62-winx64(安裝版) #MYsql工具:SQLyog - 64&nbs

怎樣千萬級別的資料表分割槽

大資料處理是一個頭疼的問題,特別當達不到專業DBA的技術水準時,對一些資料庫方面的問題感到無賴。所以還是有必要了解一些資料庫方面的技巧,當然,每個人都有自己的資料庫方面的技巧,只是八仙過海,所用的武功不同而已。我把我最常用的幾種方式總結來與大家分享,大家還有更多的資料庫設

DIY穿越機軟硬體設計

今天教教大家怎麼真正意義上的DIY四旋翼飛行器,我將從機架入手DIY穿越機。 下面是我的步驟: 1、設計機架三維圖紙; 2、匯出機架的二維圖紙並做修改; 3、設計飛控板; 4、試飛。 step 1. 我們先設計穿越機的三維圖紙,我這裡使用的是soli

基於單目視覺的定點降落——如何搭建基於gazebo的pixhawk模擬環境-1

    搭建模擬環境是相當重要的,因為我們的程式碼如果直接放到飛機上去跑,那麼很容易炸機。通過模擬環境,我們至少可以保證程式碼邏輯的正確性。這篇文章還是要感謝我的隊友舒仔仔的幫助,話不多說,上正文。1 安裝gazebo一般安裝的ROS就已經自己安裝了gazebo,如果已經安裝

Android 高階UI解密 () :花式貝塞爾曲線波浪、軌跡變換動畫

講解此UI系列必然少不了一個奇妙數學曲線—–貝塞爾曲線,它目前運用於App的範圍是在太廣了,最初的QQ氣泡拖拽,到個人介面的波浪效果、Loading波浪效果,甚至於軌跡變化的動畫都可以依賴貝塞爾曲線完成,多麼完美的曲線,妙也! 此篇文章並不自己造輪子實現貝塞爾

第二十七篇 數據結構——集合Set與映射Map

exce ger 圖片 his remove @override 算法 ima 時間 1.. 集合的應用 集合可以用來去重 集合可以用於進行客戶的統計 集合可以用於文本詞匯量的統計 2.. 集合的實現 定義集合的接口 Set<

六天帶你mysql資料庫--第一天

這是一系列視訊學習,寫部落格也是方便自己之後複習,有大家需要的資料可以給個參考。 接上一篇:https://blog.csdn.net/aaaaaab_/article/details/80015589 原資料表: 修改欄位: alter table 表名 mo

十分鐘 jQuery、例項大全 轉發

一、簡介 定義   jQuery創始人是美國John Resig,是優秀的Javascript框架;   jQuery是一個輕量級、快速簡潔的javaScript庫。原始碼戳這 jQuery物件   jQuery產生的物件時jQuery獨有的,只能自己呼叫 書寫規則   支援鏈式操作;   在

無人機小知識

https://blog.csdn.net/np4rHI455vg29y2/article/details/78954871 根據牛頓第三定律,旋翼在旋轉的同時,也會同時向電機施加一個反作用力(反扭矩),促使電機向反方向旋轉。這也是為什麼現在的直升機都會帶一個「小尾巴」,在水平方向上施加

SpringCloud 三.斷路器HystrixRestTemplate+Ribbon和Feign兩種方式

 此文章基於: 三.斷路器(Hystrix) 在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互呼叫(RPC),在Spring Cloud可以用來呼叫。為了保證其高可用,單個服務通常會叢集部署。由於網路原因或者自身的原因,服務並不能保證100%可用,如果單個服務出現問

手把手教你如何面試題Java基礎

        下面的這些題目,主要是根據自己的親身經歷以及在學習的過程中碰到比較典型的內容,所以把這些進行整理,方便於更多的人進行學習和交流。  內容有點多,可能你會很反感,但是,我相信,如果你能認真的看完我這些,當你回頭再回想整個Java內容的時候,你就會清晰很多。因為,

六天帶你mysql資料庫--第二天

對第一天所學知識點進行回顧總結: 資料庫的基礎知識:關係型資料庫(儲存在磁碟)和非關係型資料庫(記憶體) 關係型資料庫:建立在關係模型上的資料庫。三大元件包括: 資料結構:二維表(比較浪費空間) 操作資料的指令集合:SQL(DDL:資料定義,DML(DQL)

學習:從零HTML5前端+跨平臺開發假連結(掌握)

假連結:點選之後不跳轉 假連結:點選之後不跳轉 <a href="#"><a><a href="JavaScript"><a>#的假連結會自動回到網頁的頂部,而javascript:的假連結不會自動回到網頁的頂部

HAWQ + MADlib 資料探勘之——關聯規則方法之Apriori演算法

一、關聯規則簡介        關聯規則挖掘的目標是發現數據項集之間的關聯關係,是資料挖據中一個重要的課題。關聯規則最初是針對購物籃分析(Market Basket Analysis)問題提出的。假設超市經理想更多地瞭解顧客的購物習慣,特別是想知道,哪些商品顧客可能會在一次購

學習:從零HTML5前端+跨平臺開發表單標籤-非input標籤(掌握)

form表單標籤 <form action = "提交到伺服器地址">       <表單元素> </form>常見的表單元素     <input type = "text" name = "username"> 明文輸入框