您當前的位置:首頁 > 詩詞

固定翼飛機的戰術機動動作怎麼用飛控實現?

作者:由 黃沙冢 發表于 詩詞時間:2022-08-15

省流:

問題一:都可以,但手寫程式沒有你想象的複雜,雖然還是很複雜

問題而:是的,沒有AI的話無人機就是不如有人機“在決策上更靈活”,但無人機更輕而且不用考慮乘員載荷,所以就潛力而言,在機動的速度和精度上比有人機更高

這兩種方法都能實現,各有各的好處。

示教法就是硬記,飛機用感測器記錄下環境狀態和飛行軌跡,然後記錄下對應狀態和對應軌跡下駕駛員的操作,最後把資料擬合。這樣的方法比較簡單粗暴,擬合出來的控制函式可能只在一定的區間內有準確性,畢竟這個原理就像數值方法解方程一樣……

當然了要是加上機器學習AI啥的就是另一回事了

數學公式法其實就是用控制函式,如果題主真的感興趣,想從原理上去理解的話,可以參考一下Donald McLean的Automatic Flight Control Systems,這是我們飛行力學課用的參考教材。不過我的具體方向不是飛控控制,沒有接觸過pixhawk。

描述飛機運動時一般有三種不同的座標系:以地心為原點的球心座標系,以飛機質心為原點,速度方向為x軸的速度座標系和以飛機質心為原點,機頭指向為x軸的體心座標系(不知道這是不是正確的翻譯),對於姿態動作的話一般是用體心座標系。對於這個座標系有下圖的12個主要引數,結合起來就可以描述飛機的運動

固定翼飛機的戰術機動動作怎麼用飛控實現?

可以看到,U V R是飛機的前進速度、側向速度和偏航速度; L M N是飛機的翻滾力矩、俯仰力矩和偏航力矩; P Q R是飛機的翻滾角速度、俯仰角速度和偏航角速度,φ θ ψ是飛機的翻滾角,俯仰角和偏航角

接下來我們插入一些控制論的內容,對於一個狀態函式,它的基本表達為

固定翼飛機的戰術機動動作怎麼用飛控實現?

x和u是狀態方程和控制方程的變數,A和B是狀態方程和控制方程的係數,當飛機進行主動控制時,就是輸入一個新的u使得x發生改變打到新的平衡狀態

一般來說,會用兩個狀態函式去分解飛機的姿態,分別是縱向(longitudinal)方程和橫向(lateral directional)方程

縱向方程的A和B分別為

固定翼飛機的戰術機動動作怎麼用飛控實現?

X和Z是位置變數,M是俯仰力矩變數,u和w分別是X軸和Z軸上的速度,Theta是俯仰角,q是俯仰速率

舉個例子,當你加大了推力輸出,從勻速直線運動變成了最大加力加速飛行,你就會得到一個X方向上的推力變化δth(引擎與X軸重合,不會產生其他力矩),那麼此時你就得到了一個新的輸入值u

\left[ δth; 0;  0;  0\right]

將這個輸入值插入控制函式後,飛機就能得到新的狀態。一般來說,飛機能進行輸入的指令有

δth:推力變化

δr:舵(rudder)偏轉

δa:副翼(aileron)偏轉

δe:升降舵(elevator)偏轉

橫風側風等外界擾動也可以用於這個控制方程

或者你現在是已知了新的狀態,就是把x先表達出來,代入控制方程後得到要執行的u。

從你提供的函式來看,這個動作函式指令是被簡化了的,甚至可以說其實就是x,[V,H,φ]是一個包含了推進速度、俯仰角和偏航角的矩陣。在實際的底層邏輯中這個矩陣會被分解成更多不一樣的矩陣來輸入,所以就是像你說的那樣,分別給不同的零件輸入指令來達成結果。

至於靈活性這個問題,要看你具體指的是什麼。如果是戰術機動的快速性的話,無人機更輕而且不用考慮飛行員的承受能力,從潛力上看比有人機更加靈活。但如果是“隨機應變”的能力的話,只靠程式設計沒有AI自主學習能力的無人機自然比不過人腦。

標簽: 飛機  偏航  座標系  方程  速度