雖然大家都很喜歡無人機,但現實情況是每個人的教育背景,對無人機的需求,看待問題和事物的習慣與角度等都有很大區別。所以在科普無人機技術的道路上還任重道遠。 硬件視角常從GPS、強磁計、紅外設備、單目視覺、雙目視覺、IMU等硬件模塊的性能、用法(其實
雖然大家都很喜歡無人機,但現實情況是每個人的教育背景,對無人機的需求,看待問題和事物的習慣與角度等都有很大區別。所以在科普無人機技術的道路上還任重道遠。
硬件視角常從GPS、強磁計、紅外設備、單目視覺、雙目視覺、IMU等硬件模塊的性能、用法(其實很多文章并不涉及用法)、輸入輸出數據類型等著眼。比較直觀,易于操作,易被接受。但容易讓大家無法構建對于無人機整個系統的理解,并陷入到某一個具體硬件中,甚至忘卻了該硬件對于無人機的意義。
數學模型的視角常會研究被控對象的模型性質、非線性、非*小相位系統、耦合特性等等。這樣的視角足夠深入,接近被控對象本質,但抽象性太強,容易造成和實物的脫節。
石家莊網絡優化言硬件和數學模型兩個視角都很重要,卻也都存在著無法回避的問題。因此筆者選擇無人機的“狀態”作為切入視角。從“狀態”視角很容易理解硬件在整個無人機系統中的實際意義:構成反饋閉環并傳回相應的“狀態信息”,從而為控制器設計提供必要的反饋信息。
直升機型無人機揮舞角(Flapping angle)構造
四旋翼無人機揮舞角(Flapping angle)構造
無人機“狀態”數目根據不同的機型會有所區別。大家從上面兩幅圖中就可以看出,直升機型無人機相比于四旋翼就會多出兩個揮舞角(Flapping angle)作為描述揮舞的狀態。
無人機狀態可以“大體”分為兩部分:
描述“外部位置環”的六個狀態,位置狀態:x、y、z,該狀態體現了無人機在三個軸線上所處的具體位置;速度狀態:u、v、w用于描述無人機本身沿三個方向的飛行線速度。
描述“內部姿態環”的六個狀態,姿態角狀態:∮、θ、ψ,分別描述無人機的橫滾、俯仰、偏航姿態角;角速度狀態:p、q、r,描述無人機在機身三個旋轉軸上的轉動速率。
這里“外環”,“內環”的稱呼是由無人機控制器設計中的常用控制器結構所演變出來的術語,直觀來看兩組狀態分別處于不同的坐標系中,外環狀態處于“大地坐標系”(速度狀態信息在機體坐標系下只要進行坐標變換即可)視角下:
而內環狀態則是處于“機體坐標系”中。
通過內外環狀態信息的閉環反饋,求得“期望狀態”與“真實狀態”之間的誤差值,并根據這個誤差設計不同結構的控制器,根據不同算法計算出需要的控制量。
狀態反饋就是通過各種無人機硬件實現的,因此可以直接通過反饋的狀態信息類型進行硬件歸類:
位置狀態——反饋**“位置狀態”信息的硬件:GPS(x、y、z),氣壓計(z)以及反饋相對“位置狀態”信息的硬件:紅外傳感器、超聲波,單目視覺、雙目視覺(這一大類根據硬件數量和位置能夠返回不同維度量的狀態信息)。
速度狀態——反饋**“速度狀態”信息的硬件,由于位置和速度的微分關系獲得,大家直接把上面的硬件搬下來就可以了:GPS,氣壓計以及相對位置狀態硬件。
無人機內環姿態信息包括六個狀態:姿態角三個和角速度三個。角速度狀態由陀螺儀反饋;姿態角數據的反饋硬件構架可根據姿態算法的不同而發生變化,硬件會根據相關算法的選擇進行設計如:加速度計+強磁計或者陀螺儀+加速度計+強磁計。
無人機產品中經常使用IMU(Inertial measurement unit)獲取內環狀態信息。而IMU和INS(Inertial Navigation System)經常被混用。可以很直觀地看到,IMU實現了無人機線性加速度信息(加速度一般不被看作狀態,而常在姿態計算中使用)和角速度狀態信息的反饋;而INS則負責對信息進行處理,實現位置、速度、姿態角等狀態的信息反饋。大家注意到上圖中獲取姿態的算法是直接采用對角速度積分的方法,而在實際產品中由于積分會導致誤差積累,因此更多地使用加速度+偏航角+角速度+濾波算法的數據融合算法進行姿態解算。
以無人機產品功能實現為例,看看狀態視角如何讓我們更好地理解無人機技術。*近在Kickstarter上完成眾籌目標的斯凱智能的無人機系統主打Target Tracking功能,我們就從“狀態”視角看看如何從硬件和算法上實現無人機跟蹤功能。
當我們自己在跟蹤一個對象時,需要知道對方走到哪里去了,自己現在的位置,別跟得太緊,也別被拋開太遠,需調整步伐保持理想的跟蹤距離。
除了從硬件與算法兩個角度了解無人機,還有“狀態”視角可以切入
對于無人機而言整個過程也大體類似。無人機需要獲取被控對象的“位置信息”以及反饋回的無人機自身“位置狀態”,計算出兩者之間的相對距離誤差,再通過硬件或者算法,計算出速度變化——如被跟蹤對象的速度大小,速度方向,并以此來“控制”無人機自身的速度以實現位置的跟蹤。
因此無論采用GPS還是光流單目抑或雙目視覺、紅外、超聲波等等,不管什么硬件,作用都是為了傳輸回無人機對應的“外環狀態信息”。
同樣的,無論采用隨身tracker還是內置傳感系統的地面站式遙控器抑或直接采用手機,都可以傳輸回被跟蹤目標的“外環狀態信息”。
兩個狀態信息進行比對,形成狀態誤差,通過IMU等傳感器反饋無人機內環姿態信息,與目標姿態形成狀態誤差,并以此計算得出控制量。
通過狀態視角,可以很清晰地理解不同產品的硬件意義,并以此設計自己的無人機控制系統。
圍繞著無人機狀態反饋信息的處理和使用,算法可以走向兩個不同的分支:數據融合(數據濾波)和自動控制。根據不同的狀態特點,圍繞數學模型建立系統框架,根據算法以及反饋狀態信息的要求選擇相關的硬件搭建無人機系統等內容是無人機控制系統設計的清晰脈絡。筆者會在后續系列文章中分步闡述搭建這個系統架構中的各個部分,幫助不同行業喜歡無人機的朋友走入奇妙的無人機世界。