在設計控制器之前,有個重要的問題要解決,就是如何計算期望姿態的誤差?因為大部分控制器都需要你告訴我這個誤差,然後才可以去調整,去減小這個誤差直到沒有誤差。
求誤差可太簡單了,不就是個減法嗎?
看起來很有道理,但是騙騙小孩子可以,騙我和我的讀者朋友們還差一點。
我有幾個問題代表大家問一下,首先姿態本質是旋轉,姿態的誤差其實是旋轉之間的誤差,那必須還是個旋轉,那麼直接相減還能表示旋轉嗎?也就是說相減得到的角度轉換成旋轉矩陣還是個正交矩陣嗎?
而且尤拉角是有隱藏條件的,就是旋轉順序,同樣是三個角 (10,20.30) ,x-y-z,y-x-z順序可是兩個不同的旋轉,如果我不告訴你它的旋轉順序,那其實他就是沒用的三個數,因為它根本就沒法還原成旋轉。但是我就沒見過有對控制器做先後順序處理的,roll,pitch,yaw的控制器都是同時啟動,沒有順序之分。
所以,憑什麼姿態誤差可以用尤拉角相減!!!
我仔細想了一下,估摸著又跟小角度假設有關。
尤拉角的旋轉順序有6種:
x-y-z,y-z-x,z-x-y,x-z-y,z-y-x,y-x-z
我們先看一下我們最最最熟悉的z-y-x順序的尤拉角對應的旋轉矩陣吧
這就是我們最熟悉的機體轉地理座標系的旋轉矩陣
再看一下z-x-y順序的旋轉矩陣
你會發現每個順序的旋轉矩陣都不一樣,所以帶入同樣的三個角度,得到的矩陣是不一樣的,同樣乙個向量左乘乙個不同的矩陣,得到的向量肯定是不一樣的。
什麼是小角度假設呢
就是角度很小時cos很接近1,sinx=x,兩個很小的數相乘為0,即:
一旦我們加上小角度假設後,你會發現所有不同順序的尤拉角對應的旋轉矩陣都可以變成以下的形式 :
也就是說,在小角度的假設下,旋轉矩陣變的與旋轉順序無關了,所以控制器先後的問題解決了。
而且,這個矩陣一定是個正交矩陣。
所以如果當角度足夠小,你可以把這個誤差轉換成小角度下的旋轉矩陣,這個矩陣是個正交矩陣,而且與順序無關。
我就發現這幫人就不講道理,一說不通就給你上小角度假設,也不說多小的角度叫小角度,難道就沒人管這個事了嗎?就沒有其他跟有說服力的方法嗎?作為乙個飛控工程師這問題必須死磕,下期我們接著聊。
附錄:不同旋轉順序尤拉角對應的旋轉矩陣,r_xyz表示先繞x旋轉再繞y軸最後繞z軸旋轉,也就是說對應的矩陣的乘法是r=[z][y][x]。
旋轉矩陣的轉置:
旋轉矩陣:
PIXHAWK2 4 8飛控如果做雙羅盤校準
從3.3.3韌體開始,飛控支援使用雙羅盤 也就是內建羅盤和外接羅盤同時使用 但由於內建羅盤容易受干擾,加上如果沒有正確校準,容易出現羅盤不同步的錯誤。所以,如果飛控加了gps羅盤,完全可以只使用外接羅盤,因為外接羅盤不容易受干擾,比較穩定!1.gps羅盤和飛控要裝在機架上校準,確保gps的箭頭對向機...
bvp解算器是什麼 幾種飛控的姿態解算演算法
姿態解算是飛控的乙個基礎 重要部分,估計出來的姿態會發布給姿態控制器,控制飛行平穩,是飛行穩定的最重要保障。有關姿態解算的基礎知識,這裡筆者不會細細描述,有關這方面的資料,網上已經有很多。主要是先掌握座標系的概念 姿態角的幾種描述方法 尤拉角 四元數 旋轉矩陣 等。姿態解算的難點主要在於,消費級飛控...
一 使用商品飛控搭建一台四旋翼
據我了解,很多開始做四旋翼開發的人,都是為了參加比賽才開始了解四旋翼的,他們本身並不是航模愛好者,在這之前也並沒有飛行經驗,我認為,在開發四旋翼之前,一定要先組裝一台四旋翼,並且掌握好飛行技術。本篇介紹如何用成品飛控組裝一台四旋翼飛行器。組裝一台四旋翼,我們需要機架,四個電機,四個電子調速器,正反槳...