無人機飛控三大算法:捷聯(lián)式慣性導(dǎo)航系統(tǒng)、卡爾曼濾波算法、飛行控制PID算法。
一、捷聯(lián)式慣性導(dǎo)航系統(tǒng)
說到導(dǎo)航,不得不說GPS,他是接受衛(wèi)星發(fā)送的信號計算出自身位置的,但是當(dāng)GPS設(shè)備上方被遮擋后,GPS設(shè)備無法定位了。比如在室內(nèi)、隧道內(nèi)、地下等場所,基本收不到GPS信號。
語錄:任何一款有缺點的產(chǎn)品,必然成就了另一款能克服其缺點的產(chǎn)品。
另一種導(dǎo)航方式是不依賴外界信息的,這種導(dǎo)航叫做慣性導(dǎo)航。
那什么是慣性導(dǎo)航呢?他就是利用載體上的加速度計、陀螺儀這兩種慣性遠見,去分別測出飛行器的角運動信息和線運動信息,與初始姿態(tài)、初始航向、初始位置一起交給計算模塊,由計算模塊推算出飛機的姿態(tài)、速度、航向、位置等導(dǎo)航參數(shù)的自主式導(dǎo)航方法。
(精益求精:陀螺儀是怎么通過角運動信息再經(jīng)過計算模塊計算得出姿態(tài)的呢?同理加速度計又是怎樣通過線運動信息再經(jīng)過計算模塊計算出速度的呢?)
另外慣性導(dǎo)航系統(tǒng)分為平臺式慣性導(dǎo)航和捷聯(lián)式慣性導(dǎo)航。
慣性導(dǎo)航系統(tǒng)分為平臺式慣性導(dǎo)航和捷聯(lián)式慣性導(dǎo)航。
早期的慣性導(dǎo)航系統(tǒng)都是平臺式的,平臺式慣導(dǎo)有實體的物理平臺,陀螺儀和加速度計置于由陀螺穩(wěn)定的平臺上,該平臺跟蹤導(dǎo)航坐標(biāo)系,以實現(xiàn)速度和位置解算,姿態(tài)數(shù)據(jù)直接取自于平臺的環(huán)架。
優(yōu)點:直接模擬導(dǎo)航坐標(biāo)系,計算比較簡單;能隔離載體的角運動,系統(tǒng)精度高。
缺點:結(jié)構(gòu)復(fù)雜,體積大,制作成本高。
還有另一種捷聯(lián)式慣性導(dǎo)航,捷聯(lián)的英文原義是“捆綁”的意思。因此捷聯(lián)式慣性導(dǎo)航也就是將慣性測量元件,包括陀螺儀和加速度計,直接裝在需要姿態(tài)、速度、航向等導(dǎo)航信息的主體上,用計算機的測量信號變換為導(dǎo)航參數(shù)。
優(yōu)點是沒有平臺,架構(gòu)簡單,體積小,維護方便。
缺點:慣性元件直接裝在載體上,環(huán)境惡劣,對元件要求較高;坐標(biāo)變換中計算量大。
總體來看,捷聯(lián)慣導(dǎo)比平臺式慣導(dǎo)優(yōu)勢明顯。
在1969年,捷聯(lián)慣導(dǎo)系統(tǒng)作為“阿波羅”-13號登月飛船的應(yīng)急備份裝置,在其服務(wù)艙發(fā)生爆炸時將飛船成功地引導(dǎo)到返回地球的軌道上時起到了決定性作用,成為捷聯(lián)式慣導(dǎo)系統(tǒng)發(fā)展中的一個里程碑
二、卡爾曼濾波算法
卡爾曼濾波算法采用信號與噪聲的狀態(tài)空間模型,利用前一時刻地估計值和現(xiàn)時刻地觀測值來更新對狀態(tài)變量的估計,求出現(xiàn)刻的估計值。
卡爾曼濾波算法是卡爾曼等 人在20世紀(jì)60年代提出的一種遞推濾波算法。它的實質(zhì)是以最小均方誤差為估計的最佳準(zhǔn)則,來尋求一套遞推估計的算法。這套算法采用信號與噪聲的狀態(tài)空間模型,利用前一時刻地估計值和現(xiàn)時刻的觀測值來更新對狀態(tài)變量的估計,求出現(xiàn)時刻的估計值,在慣性導(dǎo)航系統(tǒng)中有非常廣泛的應(yīng)用。剛才說的噪聲指的是計算得出的值與實際值的誤差。
那么為什么Kalman濾波會應(yīng)用到慣性導(dǎo)航系統(tǒng)中呢?這主要是因為慣性導(dǎo)航系統(tǒng)的“純慣性”傳感器不足以達到所需的導(dǎo)航精度,為了補償導(dǎo)航系統(tǒng)的不足,常常使用其他導(dǎo)航設(shè)備來提高導(dǎo)航精度,以減小導(dǎo)航誤差。所以利用Kalman濾波算法,可以將來自慣性導(dǎo)航系統(tǒng)與其他導(dǎo)航裝置的數(shù)據(jù)(如慣性導(dǎo)航系統(tǒng)計算的位置對照GPS接收機給出的位置信息)加以混合利用,估計和校正未知的慣性導(dǎo)航系統(tǒng)誤差。
卡爾曼濾波算法廣泛應(yīng)用已經(jīng)超過30年,包括機器人導(dǎo)航,控制, 傳感器數(shù)據(jù)融合甚至軍事方面的雷達系統(tǒng)以及導(dǎo)彈追蹤等等。
比如,在雷達中,人們感興趣的是跟蹤目標(biāo),但目標(biāo)的位置、速度、加速度的測量值往往在任何時候都有噪聲??柭鼮V波利用目標(biāo)的動態(tài)信息,設(shè)法去掉噪聲的影響,得到一個關(guān)于目標(biāo)位置最優(yōu)的估計。這個估計可以是對當(dāng)前目標(biāo)位置的估計(濾波),也可以是對于將來位置的估計(預(yù)測),也可以是對過去位置的估計(插值或平滑)。
卡爾曼濾波算法是一個非常復(fù)雜的計算,我們結(jié)合飛行器來簡單的講一下它的計算過程,比如飛行器想知道自己的一個狀態(tài),這個狀態(tài)可以是姿態(tài)、速度或位置等信息,我們知道飛行器的傳感器是可以得到這些信息的,通過慣性導(dǎo)航的數(shù)學(xué)模型也可以計算出這些信息,但這兩個信息的值與實際值還是有一定的差距的,把這兩個值放在若干數(shù)學(xué)公式里可以得到一個最優(yōu)值,通過這個最優(yōu)值與傳感器和數(shù)學(xué)模型的值進行對比,我們可以知道哪個值與最優(yōu)值比較接近,下次的計算我們應(yīng)該較多的參考接近最優(yōu)值的那個值,比如傳感器的值最接近最優(yōu)值,那我們就把傳感器的值使用較大的權(quán)重,數(shù)學(xué)模型得到的值加使用較小的權(quán)重,所得到的這個權(quán)重不是隨便給的,也是通過數(shù)學(xué)公式得也來的。那我下一個時間段再計算的時候這個權(quán)重就要起作用了,傳感器的值和數(shù)學(xué)模型的值會帶著權(quán)重放在數(shù)學(xué)公式里得到最優(yōu)值,然后我們再把這個最優(yōu)值與傳感器和數(shù)學(xué)模型的值進行對比,再看一下哪個值與最優(yōu)值接近,如果還是傳感器的值比較接近,我們還是會通過公式生成一個權(quán)重,交給下個時間段的計算使用。通過不斷重復(fù)這樣的計算,我們就可以得到一個相對較優(yōu)的值,這就是卡爾曼濾波算法的大概過程。
三、飛行控制PID算法
PID控制器是一種線性控制器,它主要根據(jù)給定值和實際輸出值構(gòu)成控制偏差,然后利用偏差給出合理的控制量。
目前,人們通過科學(xué)研究獲得了諸多具有優(yōu)異控制效果的算法和理論,但在工程應(yīng)用領(lǐng)域,基于經(jīng)典PID的控制算法仍然是最簡單、最有效的控制方案。
PID控制器是一種線性控制器,它主要根據(jù)給定值和實際輸出值構(gòu)成控制偏差,然后利用偏差給出合理的控制量。
目前主流的幾款開源飛控中,無一例外地都是采用PID控制算法來實現(xiàn)無人機的姿態(tài)和軌跡控制。
PID里的P是Proportion的首字線,是比例的意思,I是Integral的首字線,是積分的意思,D是Differential的首字母,是微分的意思。
那么PID控制器算法能解決什么問題呢?以多旋翼為例,在沒有控制系統(tǒng)的情況下,直接用信號驅(qū)動電機帶動螺旋槳旋轉(zhuǎn)產(chǎn)生控制力,會出現(xiàn)動態(tài)響應(yīng)太快,或者太慢,或者控制過沖或者不足的現(xiàn)象,多旋翼根本無法順利完成起飛和懸停動作。為了解決這些問題,就需要在控制系統(tǒng)回路中加入PID控制器算法。在姿態(tài)信息和螺旋槳轉(zhuǎn)速之間建立比例、積分和微分的關(guān)系,通過調(diào)節(jié)各個環(huán)節(jié)的參數(shù)大小,使多旋翼系統(tǒng)控制達到動態(tài)響應(yīng)迅速、既不過沖、也不欠缺的現(xiàn)象。
責(zé)任編輯:gt
評論
查看更多