pixhawk篇之坐标系转化,相关转化矩阵知识,算法截取

来源:互联网 发布:cms 权限数据库设计 编辑:程序博客网 时间:2024/06/06 05:29

前沿:本文參考大量英文論文,書籍。並沒有標記處引用,但都是經過自己理解后手打的內容。請尊重別人的版權

            部分內容是原作英文內容的翻譯。因篇幅,經過修剪。

一:座標係介紹

1.1      總括

            1. the geodetic coordinate system,
            2. the earth-centered earth-fixed (ECEF) coordinate system,
            3. the local north-east-down (NED) coordinate system,
            4. the vehicle-carried NED coordinate system, and
            5. the body coordinate system

       一般我們所研究的小型無人機,會做一些簡化,比如在local NED和body frame之間的轉化

將忽略一些次要因素。 實際上只需要關注於local NED和body frame系統座標係就可以了。

1.2     座標係介紹

          1.2.1. the geodetic coordinate system


                      gps導航中廣泛使用的系統,其座標係表示爲P=[  λ, φ,  h]^T,實際上,因爲地球並非一個規則的橢球面

          其φ要區別於以質心爲中心的一般的φ。


          1.2.2the earth-centered earth-fixed (ECEF) coordinate system


                      ecef座標係與gcs座標係關係緊密,其Z軸選自地球自轉軸,X軸從地球中心指向本初子午線方向於赤道相交點

         Y軸於Z軸和X軸滿足右手定則,注意,這裏的右手定則非電磁學右手定則


         1.2.3 local NED


                      本地NED,比較重要的座標係。以無人機起飛點爲原點,X軸指向地球橢球模型的北極,Y軸指向東,Z軸滿足右手

       定則指向地球表面。其中三個重要向量P,V,A,下標用n表示。(數學表達式不知道怎麼打入,就不表示了,關鍵的會截圖出來)

        1.2.4 vehicle-carried NED


                      這個於localNED非常相似,但是嚴格上,會隨着飛行器的動作變化而變化,但是因爲飛行器的飛行包線非常小,所以

        可以近似機載NED於本地NED的座標軸方向一致


         1.2.5 the body coordinate system


                      機體座標係,X軸指向機體正前方,Y軸機體正右側,Z軸構成右手定則,垂直向下。

                      這裏值得注意的是,此時的速度Vb,加速度ab將是 機體相對本地NED座標係的Vnb,anb到機體座標係的投影!

                      註:這段的原版英文就不貼出來,我翻閱了很多資料,我認爲這樣的翻譯是最正確的,有些中文解釋,並未暗示處這層關係

        

 二: 座標係變換

          2.1 概述

                 兩個笛卡爾座標係之間,可以通過3次連續的歐拉旋轉相互得到。歐拉角分爲3個,yaw,pitch,roll且兩個座標係的變化也是按照

          這樣的順尋。而對於無人機主要關心的也是local ned和vechicle body之間的轉換。

          問題二:爲什麼需要將本地ned和機體座標係之間相互轉換?

                 角速度是相對兩個座標係而言,這裏有更詳細的論述,但是頗爲抽象

                             

          2.2 旋轉過程

                 簡單來說,是本地NED向機體座標係的靠攏,先讓Xn軸趨近Xb,而作出的旋轉都是以轉置座標係的另一個成右手定則的軸爲基準。

          最後經過經過三次變換得到機體座標係。用手比劃一下也能明白。

                

                   從數學上表示爲

                 

           2.3座標變換

                         這裏主要着重於機載NED座標和機體座標的變換

     

                           其中爲了節省時間,並不需要驗證公式怎麼來的,直接當定理來用,直接上頗爲重要的概念是角速度的概念

         

                          這裏面着重兩點,第一 頭上帶點的量此時不同於座標轉動量,第二此時是角速度(機體相對於機載NED)向機體座標係的轉化,

                    且向機體座標係 的投影。

                           問題二:這些概念非常抽象,這樣轉化的目的,和作用?

三:其他知識

             3.1 四元數的概念

                          四元數 作爲一種數學衍生物,將空間的座標p,拓展成p=(v,0)的形式,實際上來源於四元數的定義,p=xi+yk+zj+w,其

                  中關於一個座標繞一個向量旋轉b的角度,那麼 新的座標p'=qpq*,且q有固定的表達式。 以下取自維基百科:

                          Definition:As a set, the quaternions...............

                          大意: 四元數定義在四維空間上,三種運算:加,標量機和四元數乘機,四元數的由4個基本部分組成a1 +bi +cj + dk,簡寫

                   a +bi +cj + dk,這樣四元數的乘機可以由這些元素的組合,再利用分配律得到。

                         以下節選自百度百科:

                         四元数是简单的超复数。复数是由实数加上虚数单位 i 组成,其中i^2 = -1。相似地,四元数都是由实数加上三个虚数单位 i、

                   j、k 组成,而且它们有如下的关系: i^2 = j^2 = k^2 = -1,i^0 = j^0 = k^0 = 1 , 每个四元数都是 1、i、j 和 k 的线性组合,即

                  四元数一般可表示为a + bk+ cj + di,其中a、b、c 、d是实数。

                        這裏我對第一個規則產生了興趣,爲什麼 i^2 = j^2 = k^2 = -1

                        實際上這也是四元數的偉大開端

                        Hamilton was on his way to theRoyal Irish Academy with his wife and as he was passing over the Royal Canal on the

                  Brougham Bridge he made a dramatic realization that he immediately carved into the stone of the bridge.hamilton

                  在石橋上刻的也就是上面這個等式

                       x{\begin{alignedat}{2}ij&=k,&\qquad ji&=-k,\\jk&=i,&kj&=-i,\\ki&=j,&ik&=-j,\end{alignedat}}

                      如果假設我們以第一個準則爲基礎,從-1=ijk到能推導處上面6個衍生公式。當然這些都是數學上的理解,未從空間上理解。 四元

                數作爲一個數學產物,有 他的嚴格證明。至於無人機方面的使用,只是它的一個應用,我這裏推薦一篇文章,完整講述了四元數,而

               且給出了證明和推導但是是英文版,有時間做個翻譯,寫的非常好。歐拉角有它固有的缺陷,不論怎麼樣的次序組合都有有萬向節死

               鎖,也叫奇異現象。解決的方式就是使用四元數規避萬向節。下慢的鏈接很詳細,我自己也沒必要再推導了。一篇非常好的文章,雖

               然是英文:https://www.3dgep.com/understanding-quaternions/#Pure_Quaternions

          

            問題三:關於上面網站的證明,最後的例子,繞着q的vector旋轉爲什麼結果是90度?作者只是一筆概括

                     而旋轉的角度該怎麼得出來呢?

             答 :我能立馬想到的證明方式是只要證明p此時和q構成的平面,於p‘和q構成的平面是垂直關係,則證明旋轉角度爲90’,另外一種方式就是證明

               p和p'的向量,在過遠點的垂直於旋轉軸的平面的垂直投影的夾角就是旋轉角度。註:如果只是去計算p於 p'的夾角,此時得到不是旋轉角度。

 四:算法截取

         留空,以後解析pixhawk會填充

   

             

0 0