微型四軸飛行器(5)九軸姿態融合演算法A

2021-08-07 11:03:04 字數 2350 閱讀 1635

所謂的九軸姿態融合就是將通過感測器獲得的3軸加速度、3軸角速度、3軸磁場資料,在相應的演算法處理後能夠得到飛行器的姿態資訊(尤拉角)。輸入輸出如下圖

在慣性導航領域的尤拉角分別表示的是航向角(yaw)、橫滾角(roll)、俯仰角(pitch)。我們擬建一空間直角座標系,在該座標系中,物體做出的任何姿態同樣也可以用乙個空間直角座標系表示,而這個新的座標系都可以通過原座標系圍繞三個軸向進行一共三次轉動得到。也是就說,物體的姿態變化可以通過與三個軸向的轉動情況來表示。如若將原座標系定位地球座標系,也就是我們的參考座標系,將物體姿態座標系作為機體座標系。則飛行器的任何姿態變化便能通過尤拉角來表示(這裡暫不考慮萬向節死鎖的情況)。

加速度計可以被用來測量三個軸向的加速度。設計方式就像在乙個立方體中放入乙個球體。當我們將這個立方盒放在乙個沒有地球引力的地方時,球體不會對任意乙個面有作用力,此時三個軸向輸出的壓力都是0,也就沒有加速度。當我們放在正常環境下時,由於只受到重力作用,小球會壓盒子下表面。我們將得到下表面的壓力。用牛頓第一定律力等於質量乘加速度可求得相應軸向的加速度,這裡的加速度正好等於重力加速度g(9.8m/s^2)。當我們將盒子選擇45°時,小球將會同時接觸x和z面。也就是會對兩個面有作用力。當盒子只守重力時,那兩個面的垂直分力之和也等於重力g。通常情況下,立方盒的三個面都會受到小球的作用力,當物體保持靜止或者勻速直線運動時,三個軸的合力等於重力加速度g,並且方向永遠垂直地面向下的。

我們能夠通過加速度計求得乙個用於參考對比的重力向量,比對求得的重力向量與各個軸向量的大小,能夠求出對應的姿態角。但加速度也有缺陷,首先是求得標準重力加速度的條件是垂直方向上的靜止或者勻速直線運動,其次就是當物體圍繞重力方向旋轉的時候,加速度計時無法感知的。加速度計通常適應靜態或者低速的情況,所以單單加速度計是無法滿足姿態解算的需求的。

陀螺儀又名角速度感測器,是被用來檢測角速度的(單位時間內旋轉角度的變化)。陀螺儀的主要理論基礎是角動量守恆定理,它的軸心有乙個可以旋轉的轉子。當轉子高速轉動的時候,能夠保持其旋轉軸在慣性空間內的方向穩定性不變。角速度資料的推導過程比較複雜,文章重點在於資料處理,暫且將他作為乙個能夠輸出三軸角速度的感測器來使用。

陀螺儀能夠彌補加速度計動態特性不足的問題,通過他能夠得到三個軸向的角速度。想要得到角度其實我們只需要對角速度積分即可,計算出來的就是姿態角,但陀螺儀也有一些問題導致我們沒法完全相信得出的姿態角資料。誤差與雜訊的影響使其每次得出的資料並不準確,尤其又通過積分使其誤差累計,這樣資料就更加不可信了。為了能減小誤差,通常會在使用陀螺儀的時候進行零偏矯正,也就是當陀螺儀在處於靜止狀態的時候,仍然會有一定的資料輸出,我們通過累計一定的資料,算出偏差值,來修正使其處於靜止狀態的時候,三軸資料趨於零。

磁力計是通過內部電路的電阻變化來檢測三軸磁場強度的感測器。這裡磁力計主要是用來糾正垂直於地面這個軸向(下面簡稱z軸)資料總是漂移的問題。由於加速度計無法測量重力方向同時也是z軸方向的旋轉,於是就只能依靠陀螺儀,但由於陀螺儀會累計誤差,又得不到加速度計的修正,誤差只會越來越大,這個時候就需要能準確知道東南西北方向的磁力計來修正。地球磁場總是由磁南指向磁北的,在空中劃出一道弧線,以垂直地面為z軸,我們同樣可以建立乙個空間直角座標系,而磁力計得到的三軸磁場強度,也就是該座標系下的三個軸向。我們可以通過垂直於z軸的兩個軸向量來求得乙個和向量,這個和向量就是指向磁北的。於是我們就能得到乙個參考向量,從而修正繞z軸旋轉的角度了。由於地球磁場通常是很微弱的,會受到外界大量的干擾,就必須對它進行校準。理想情況下,在座標系中,我們將物體繞乙個軸旋轉360°,每個磁場強度的點連線起來是乙個圓形,如果有干擾的話,繪製出來的變是乙個橢圓。我們就需要對資料處理修正。這裡使用的是一元一次函式。首先使用xmax,xmin,ymax,ymin分別表示垂直與指向地面軸線的另外兩個軸向的磁場最大最小值,先擬定最大最小值差距更大的一組軸的比例係數xk為1,另外乙個軸的比例係數可由下公式可得出:

y_k=〖(x〗_max-x_min)/y_max-y_min

之後求出兩軸的常數xb,yb:

x_b=x_k [1/2(x_max-x_min ) -x_max]

y_b=y_k [1/2(y_max-y_min ) -y_max]

最後使用比例和偏置常數對資料進行修正:

x_output=x_input∙x_k+x_b

y_output=y_input∙y_k+y_b

微型四軸飛行器(5)九軸姿態融合演算法B

飛行器在空中的執行姿態可以用平面和轉動來表示,為了方便使用向量表示,需要建立兩個空間直角座標系。設r表示單位向量在機體座標系下的三個軸的投影,b表示單位向量在地球座標系下的三個軸的投影。我們通常對飛行器的偏航 俯仰 橫滾了多少度的定義是參照地球座標系而下得出的,也就是我們只需要知道向量r相較於向量b...

四軸飛行器姿態控制

用來表示三維空間中運動物體繞座標軸旋轉的情況,即物體每時每秒的姿態可以由尤拉角表示。四元數用於物體的旋轉,是一種複雜但是效率較高的旋轉方式。對於乙個物體的旋轉,我們只需要知道四個值 乙個旋轉向量 乙個旋轉角度,而四元素也正是 這樣設計的 q x,y,z,w 其中x,y,z代表向量的三維座標,w代表角...

四軸飛行器姿態解算預備知識

其實我覺得要說四軸的姿態,我們必須說幾樣東西。1 座標系 2 方向余弦矩陣 3 尤拉角 4 四元數 對上面這四樣東西有了初步的理解,就可以開始看imu的飛控解算程式了。其實我剛剛接觸四軸的時候我沒明白為什麼四軸裡面一會來個地理座標系,一會來個機體座標系。搞這麼多座標系幹什麼用的。後來在秦永元的書裡面...