一.無人機的分類
按飛行平台構型分類:無人機可分為固定翼無人機,旋翼無人機,無人飛艇,傘翼無人機,撲翼無人機等.
圖1 無人機平台構型
多軸飛行器multirotor是一種具有三個以上旋翼軸的特殊的***。旋翼的總距固定而不像一般***那樣可變。通過改變不同旋翼相對轉速可以改變單軸推進力的大小,從而控制飛行器的執行軌跡.
圖2 多軸飛行器
圖3 各類變模態平台
二.無人機的系統架構
圖4 無人機系統架構
三.飛控系統簡介
導航飛控系統之導航子系統功能:向無人機提供位置,速度,飛行姿態,引導無人
機沿指定航線安全,準時,準確的飛行。
獲得必要的導航要素:高度,速度,姿態,航向
給出定位資訊:經度,緯度,相對位移
引導飛機沿規定計畫飛行
接收控制站的命令並執行
配合其它系統完成各種任務
1.飛控系統功能:
導航飛控之飛控子系統功能:完成起飛,空中飛行,執行任務,返航等整個飛行過
程的核習系統,對無人機實現全權控制與管理,是無人機的大腦。
無人機姿態穩定與控制
與導航子系統協調完成航跡控制
起飛與返航控制
無人機飛行管理
無人機任務管理與控制
應急控制
2.飛控系統--感測器:
飛控系統常用的感測器包括:
角速率感測器陀螺儀
圖5 陀螺儀
加速度感測器
圖5 加速計
氣壓計和超聲波
圖5 聲納與氣壓二合一
圖6 gps示意圖
光流
從二維影象序列中檢測物體運動、提取運動引數並且分析物體運動的相關規律
光流是空間運動物體在觀測成像平面上的畫素運動的「瞬時速度」
用於飛行器的動態定位和輔助慣性導航
lucas kanade演算法
這個演算法是最常見,最流行的。它計算兩幀在時間t到t + δt之間每個畫素點位置的移動
圖7 光流演算法示意圖
地磁感測器
圖8 磁力計
四.飛控系統的關鍵演算法
1.關鍵演算法流程框圖
圖9 關鍵演算法流程框圖
2.姿態解算
(1)init函式初始化,建立3x3矩陣r。
(2)磁力計修正,得到誤差corr:先計算得到誤差角度mag_er,再用_wrap_pi函式做約束,再計算corr值,相當於機體座標系繞地理座標系n軸(z軸)轉動arctan(mag_earth(1), mag_earth(0))度。
(3)加速度計修正更新誤差corr:將陀螺儀計算得到的矩陣第三行(即重力加速度部分)轉換到b系,再將加速度測得重力加速度(_accel - 機體加速度)的資料歸一化(本身屬於b系),將這兩個的值進行叉乘即測得誤差。具體過程:歸一化的n系重力加速度通過旋轉矩陣r左乘旋轉到b系,即k為歸一化的旋轉矩陣r(b-e)的第三行,總的受到合力的方向(_accel)減去機體加速度方向(_pos_acc)得到g的方向,即總加速度(加速度獲取)減去機體運動加速度(第五部分)獲取重力加速度,然後姿態矩陣的不是行就是列來與純重力加速度來做叉積,算出誤差。因為運動加速度是有害的干擾,必須減掉。演算法的理論基礎是[0,0,1]與姿態矩陣相乘。該差值獲取的重力加速度的方向是導航座標系下的z軸,加上運動加速度之後,總加速度的方向就不是與導航座標系的天或地平行了,所以要消除這個誤差,即「_accel-_pos_acc」。然後叉乘z軸向量得到誤差,進行校準 。
(4)對誤差corr進行pi控制器中的i(積分),得到_gyro_bias,再對_gyro_bias做約束處理。
(5)使用修正的資料更新四元數,並把_rates和_gyro_bias置零便於下次呼叫時使用。
圖10 姿態解算
3.姿態控制
3.1.姿態角度控制
計算誤差值e_r:
(1)獲取目標姿態target,並構建目標姿態旋轉矩陣。
(2)通過控制四元數獲取當前狀態的旋轉矩陣dcm。
(3)取兩個矩陣中的z軸向量,即yaw-axis。
(4)計算roll,pitch誤差,得到誤差值e_r:通過r_z%r_sp_z叉乘當前姿態的z軸和目標姿態的z軸的誤差大小(即需要旋轉的角度)並旋轉到b系(即先對齊z軸)。
(5)計算yaw的權重.
(6)構造e_r_cp反對稱矩陣,通過羅德里格公式旋轉得到roll,pitch旋轉後的矩陣r_rp。
(7)計算yaw的誤差,進一步更新誤差值e_r:roll_pitch旋轉後的矩陣的x軸和目標姿態的x軸的誤差,乘上yaw的權重。
計算e_r_d:
(1)目標姿態旋轉矩陣獲取四元數。
(2)對四元數的虛部取出賦值給e_r_d,再對其進行歸一化處理。
(3)對四元數的實部取出。
(4)計算e_r_d:通過虛部與實部的一系列計算得來。
計算direct_w
進一步更新誤差值e_r:通過e_r * (1 - direct_w) + e_r_d * direct_w。
得到_rates_sp角速度變數:對e_r進行p控制,再進行約束
3.2.姿態角速度控制
獲取當前角速度值rates:通過_ctrl_state資料結構(當前姿態資訊)把需要的有效資料賦值給rates。
獲取目前角速度值_rates_sp。
計算得到角速度差rates_err。
對角速度差rates_err進行pd控制,還需要加乙個前饋。
發布控制量_att_control。
圖11 姿態控制
無人機飛控
無人機是無人駕駛飛機的簡稱 unmanned aerial vehicle 是利用無線電遙控裝置和自備的程式控制裝置的不載人飛機,包括無人 固定翼機 多旋翼飛行器 無人飛艇 無人傘翼機。廣義地看也包括臨近空間飛行器 20 100 公里空域 如平流層飛艇 高空氣球 太陽能無人機等。從某種角度來看,無人...
中國國內無人機開源飛控系統簡介
無人機多旋翼四旋翼四軸飛控,各種名詞真是讓人熱血沸騰,從大一開始接觸以來,恨不得全部將知識掌控囊中,但是紙上得來終覺淺,便只能斷斷續續地進行學習。其中對於中國國內的無人機開源飛控系統也基本有個了解,各家的基本全部買了個遍,正好有機會就記錄一下,給眾人分享一下。ps,大家知道,無人機裡面大疆賣得最好,...
飛控 如何學習無人機 入門篇
我把無人機分成3個大模組 目的 組裝無人機,享受駕駛無人機的樂趣。目的 了解無人機的本質 目的 實現乙個具體功能,比如 室內懸停,避障,全自動a點飛到b點等等 通過 知識 使用 工具 完成自己的目標,程式語言 作業系統 等等在飛控開發裡能夠使用就行 開發需要解決具體的問題,前提是你知道一定的無人機知...