影響飛控效能的一些因素:
飛控姿態控制演算法比較固定,基本上都是角度環和角速度環組成的串級pid演算法,外加前饋提高響應速度。
因此就目前的演算法而言,影響飛控效能的因素主要有以下幾點:
1、環路延遲
環路延遲對控制比較致命,引起延遲的因素很多,概括來說有以下幾個方面:
1)imu取樣更新率和濾波器截止頻率
由於受振動等因素影響,imu輸出需要經過低通濾波,而過低的截止頻率會嚴重引起相位滯後,引起控制的不穩定性,制約控制效能提高;
2)控制頻率
受限於控制器計算速度,控制頻率低也是引起延遲的因素;
3)電調重新整理速率、電機響應速度、螺旋槳慣性。
2、機架振動
機架剛性不足,會導致共振,制約了控制頻寬的提公升;這是影響控制效能的另一方面重要因素,就目前的pid控制而言,高的控制效能都是通過高的伺服頻寬實現的,機械結構的模態頻率是限制頻寬的重要因素。其次過大的振動又會引起imu測量資料異常,需要設定更低的濾波器引數,反過來又會導致相位滯後。
注意:如果機體有共振頻率,通常的解決方法是在控制器的輸出加陷波濾波器,這樣可以大幅減少機體本身的共振,也可考慮在感測器資料輸出上加陷波;兩個地方都加也行,這是比較通常的做法, 因為高頻的共振大多是執行器引起的。
紅外和超聲波
紅外和超聲波技術,因為都需要主動發射光線、聲波,所以對於反射的物體有要求,比如:紅外線會被黑色物體吸收,會穿透透明物體,還會被其他紅外線干擾;而超聲波會被海綿等物體吸收,也容易被槳葉氣流干擾。
視覺里程計
視覺里程計簡單來說,就是通過左右雙目的影象,反推出視野中物體的三維位置,所以相比光流+超聲波技術只能簡單的測出速度和高度,視覺里程計還能構建地面的三維模型,並通過連續的影象,跟蹤自身與環境的相對移動,估計出自身的運動。準確測出自身與地面的相對位置。
運動加速度
mahony互補濾波演算法中使用加速度計來修正陀螺,前提是加速度計輸出為重力加速的測量值,這一點在低速運動下是近似成立的,但是當機體有較大的運動加速度時,imu的姿態輸出將會有較大偏差,解決這一問題的方法是:
1.加速度大的時候減小重力修正結果的比重;
2.使用gps通過資料融合得到運動加速度的估計值來補償加速度計,使姿態估計更準確。
matlab中連續系統設計出來的pid控制器引數,能否用於實際的嵌入式平台?
如果離散控制器的頻率和系統頻寬頻率比起來足夠高的話,可以直接用,頂多微調一下;
但是絕大多數時候不可以直接用,可能因為:
1.matlab裡**模型和實際不符;
2.**用的狀態量和實際得到的狀態量的時滯、誤差、噪音不一樣;
3.pid實現不一樣或實現有問題。
克服系統時滯
smith predictor 史密斯**器
提高系統的可靠性
1.感測器必須仔細地校正;
2.進行資料可靠度判斷,比如ekf中協方差過大可能意味著濾波器不收斂,得到的狀態估計值不可靠;
3.多套感測器系統冗餘配置,實現相互備份;
4.多套演算法同時運算,並相互比較,當某套演算法出現異常時,及時切換到其他演算法。
imu的安裝位置
以加速度為例,裝在機身不同位置的加速度計測得的加速度在發生旋轉時是不同的。關於質心對稱時,簡單相加平均可以抵消。如果安裝方向有偏差,則需要單獨做標定和資料旋轉。嚴格地說,imu和質心不重合的時候都需要做修正;這個在實際飛行中沒仔細考慮過,因為發現imu放質心和放旁邊結果差別不大,這個誤差並沒有各種感測器本身的誤差大。
不同的感測器更新頻率不同,怎樣解決資料同步問題
這是乙個資料對齊的問題,在px4中是將所有的感測器資料先存入乙個先入先出的資料快取區,使用資料時直接讀取該快取區即可;我自己在**中是使用了全域性的結構變數,感測器資料更新後對應的全域性變數也隨之更新,使用資料時直接獲取全域性變數即可,不用等待慢的感測器更新。
活用matlab工具箱
1.matlab coder工具箱,可以將目標函式轉換成c**,這可以用來生成ekf的**,避免了手寫**出錯,非常實用;
2.curve fitting工具箱,曲線擬合,可以根據取樣資料自動進行最小二乘擬合;我曾用來做公升力值和pwm脈寬值擬合、電流和公升力值擬合,非常方便和實用;
3.fdatool非常強大的濾波器設計工具箱,iir、fir、低通、高通、帶通、帶阻濾波器都有包含,只需通過簡單的設定一些關鍵引數便可給出bode圖以及濾波器的差分實現;
4.signal analysis工具箱,從工作區匯入mat檔案,可以方便地設定濾波器並觀察波形變化;可以配合fft函式進行頻譜分析(signal analysis自帶的頻譜分析工具不是很好用)。
關於多旋翼的軸距和槳葉
起飛重量較低時(1.5kg
−2kg
1.5kg-2kg
1.5kg−
2kg以下);常見的是配轉速高扭矩小的電機,這類電機的kv值一般很高,定子高,電機呈細長型;與之對應的多旋翼的軸距和螺旋槳也較小;
起飛重量較大時;配轉速低扭矩大的電機,這類電機的kv值一般較低,定子低,電機呈圓盤型;與之對應的多旋翼的軸距和螺旋槳也較大;
如果加大多旋翼的軸距便要換與之匹配的大槳,飛控大概率也是要重新調的,而且越大的槳慣性越大,響應慢是必然。時滯高之後控制演算法也會比較難調,可能單純pid效果會比較糟。不過動力提公升會遠大於風阻、重量提公升,抗風和負重能力肯定會變好的。
控制器的效能提公升
振動大考慮低通濾波和陷波器;
時延大考慮史密斯預估器(對模型精度要求較高);
模型改變考慮使用觀測器(通常引數合適的pid控制器對模型的變化有一定的魯棒性);
關於低通濾波
常見的有一階慣性濾波、巴特沃斯濾波器、切比雪夫濾波器(細分為兩種型別)等等;
這幾種濾波器的特點如下:
一階慣性濾波:
阻帶和通帶平坦,過渡帶幅值下降緩慢;
巴特沃斯低通濾波:
阻帶和通帶平坦,過渡帶幅值下降較快;
切比雪夫一型:
通帶帶波紋,阻帶平坦,過渡帶幅值下降最快;
切比雪夫二型:
通帶平坦,阻帶帶波紋,過渡帶幅值下降最快;
注意:巴特沃斯低通濾波器和切比雪夫低通濾波器的階數越高,過渡帶的幅值下降越快,但是相角滯後越嚴重;因此實際中不宜設定過高。
參考文獻
再談imu資料處理(濾波器)
控制界有哪些經典的開疆擴土的發現
飛控imu資料高階處理
一些知識點總結
mysql資料庫中varchar和char的區別 1 varchar的長度是可變的,char的長度不可變。2 儲存時,char型別的資料要比varchar型別的資料速度更快,因為其長度固定,方便儲存於查詢。3 從儲存空間的角度講,因為插入型別資料的長度固定,有時候需要用空格進行佔位,所以儲存資料時占...
一些js知識點總結
1.函式宣告與函式表示式 解析器在像執行環境中載入資料時,會先讀取函式宣告,並使其在執行任何 之前都可以訪問,對於函式表示式,必須等到解析器執行到它所在的 行,才會真正被執行。例 alert sum 10,10 function sum n,m 以上 可以正常執行,因為解析器通過函式宣告提公升的過程...
一些知識點
字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...