[實(shí)戰(zhàn)]飛機(jī)為什么飛不好?機(jī)架振動(dòng)分析
做一個(gè)飛的飛機(jī)總共分幾步
我以為只要飛控好用,飛個(gè)飛機(jī)還不是輕而易舉,當(dāng)裝好機(jī)架和航電,飛機(jī)起飛后我才發(fā)現(xiàn)事情沒那么簡(jiǎn)單。
飛機(jī)起飛后,姿態(tài)非常不穩(wěn)定,一直在晃,有點(diǎn)原地畫圈的感覺,從電機(jī)輸出上可以看出,飛控一直試圖調(diào)節(jié)yaw。
于是我讓飛手,試試控制偏航,飛手表示偏航控制很奇怪,動(dòng) yaw 的時(shí)候,roll 和 pitch 也在跟著動(dòng)。
我又讓飛手單獨(dú)控制 roll 和 pitch ,現(xiàn)象是飛機(jī)的姿態(tài)動(dòng)作非常不穩(wěn),動(dòng)作不干凈,無(wú)論控制哪個(gè)軸飛機(jī)的其他兩個(gè)軸都會(huì)跟著動(dòng),姿態(tài)動(dòng)作非常不干凈,飛手的操控感覺也很差不跟手,我從電機(jī)輸出上也可以看出電機(jī)輸出一直在非常快速的大幅度變化。
(測(cè)試的時(shí)候我是希望飛手做大機(jī)動(dòng),姿態(tài)滿桿飛行的,但是當(dāng)時(shí)已經(jīng)12點(diǎn)多了,而且姿態(tài)控制的手感不好,飛機(jī)一直在晃,飛手不敢做大機(jī)動(dòng),只能輕微打桿,懸停測(cè)試。)
明明才在測(cè)試機(jī)上飛過(guò)的飛控,怎么突然就出問(wèn)題了呢?
首先猜測(cè)的是,參數(shù)與機(jī)架不適配,畢竟這個(gè)飛機(jī)比測(cè)試機(jī)大很多,那就調(diào)個(gè)參試試唄,畢竟飛控算法工程師嘛,調(diào)個(gè)參還是沒問(wèn)題的。
但是偏偏遇到個(gè)緊急問(wèn)題,因?yàn)槭浅霾詈献黜?xiàng)目,用的是別人的數(shù)據(jù)鏈,對(duì)數(shù)據(jù)量有限制,導(dǎo)致沒法在線調(diào)參,只能使用有線連接的方式調(diào)參,大大降低的調(diào)參的效率,所以每一次調(diào)參都要分析到位,有理有據(jù)。
1.電機(jī)高頻大幅度變化,極有可能是參數(shù)大了,于是第一次調(diào)參我選擇了把參數(shù)調(diào)小。試飛后,發(fā)現(xiàn)飛機(jī)的狀態(tài)沒有任何改善,我隱約感覺到事情沒那么簡(jiǎn)單,并對(duì)這次日志進(jìn)行分析。
首先是姿態(tài)環(huán)的狀態(tài),可以看到實(shí)際值振動(dòng)很大,在期望值附近大幅度波動(dòng)
yaw 的波動(dòng)范圍能有3~4度,感覺有點(diǎn)控制不住yaw。
繼續(xù)分析角速度,roll和pitch的角速狀態(tài)也不是特別好,但是能看出有跟蹤的趨勢(shì)
這個(gè)z軸就非常奇怪了,實(shí)際值出現(xiàn)高頻振蕩,震動(dòng)范圍倒是不大,但是頻率太高,期望值完全淹沒在實(shí)際值中,沒有任何跟蹤趨勢(shì)。
而且z軸實(shí)際角速度不光比z軸期望頻率高,也比x,y軸的實(shí)際角速度震動(dòng)頻率高。
(z軸這個(gè)狀態(tài)是非常不正常的)
最后想看看電機(jī)輸出,可有發(fā)現(xiàn)根本看不出趨勢(shì),波動(dòng)非常大。
2.根據(jù) roll , pitch 的跟蹤狀態(tài),實(shí)際值在期望值附近大幅度波動(dòng),我決定繼續(xù)把所有參數(shù)都調(diào)小。
試飛結(jié)果,飛手表示稍微有點(diǎn)改善,但依然處于非常不可控的狀態(tài)。
再次分析飛行日志,可以看出 roll 雖然跟蹤的不算好,但是起碼是能看出跟蹤趨勢(shì)了,之前的振蕩也消失了。
pitch 的跟蹤效果比較差,但能看出跟蹤趨勢(shì),之前的振蕩也消失了。
yaw還是一樣晃動(dòng)很大,感覺飛機(jī)想要穩(wěn)定yaw, 但是做不到。
再看角速度,x軸效果很差,只有微弱的跟蹤趨勢(shì)。
y軸 和 x軸一樣差,看不出什么效果。
z軸倒是有了些許好轉(zhuǎn),看出跟蹤趨勢(shì)了。
電機(jī)也有好轉(zhuǎn)了,能看出電機(jī)轉(zhuǎn)速變化趨勢(shì)了,變化范圍也變小了。
終于通過(guò)修改參數(shù),飛機(jī)的飛行狀態(tài)有了些許好轉(zhuǎn),雖然這時(shí)候還有很多疑點(diǎn),但我覺得應(yīng)該還是參數(shù)原因。
于是我做了兩個(gè)決定,
1)遠(yuǎn)程改地面站,配合新數(shù)據(jù)鏈,方便在線調(diào)參 。
2)直接去參加飛行測(cè)試,只要有方便的調(diào)參工具,現(xiàn)場(chǎng)繼續(xù)調(diào)試肯定能調(diào)好。
在第二天長(zhǎng)途跋涉來(lái)到測(cè)試場(chǎng)地,測(cè)試了新的地面站調(diào)參協(xié)議后,可以在線調(diào)參,效率倍增。
于是和飛手配合,在現(xiàn)場(chǎng)進(jìn)行了更加細(xì)致的調(diào)參。
雖然又有了點(diǎn)改善,但是飛機(jī)奇怪的扭動(dòng)一直都在,使得飛機(jī)在操控的時(shí)候,手感一直很差,一直有姿態(tài)耦合的感覺。
通過(guò)日志分析,roll效果有了提升,機(jī)動(dòng)的時(shí)候跟蹤不錯(cuò),但是懸停時(shí),會(huì)出現(xiàn)波動(dòng)。
pitch沒什么改善,跟蹤的不好,但有跟蹤趨勢(shì)。
yaw的效果依然很差,能有4度左右誤差。
再看角速度 x軸有跟蹤趨勢(shì)
y軸也有跟蹤趨勢(shì)
z軸沒有任何趨勢(shì),依然是非常奇怪的高頻振蕩
這時(shí)候我才靜下心來(lái)仔細(xì)思考,這不可能是控制參數(shù)的問(wèn)題,對(duì)于z軸來(lái)說(shuō),控制器即使控制的不好,出現(xiàn)的跟蹤時(shí)的超調(diào)或者振蕩,實(shí)際yaw的角速度變化也應(yīng)該低頻率的,不可能出現(xiàn)這種高頻的振蕩。
出現(xiàn)這種振蕩最有可能就是飛控的減震不夠,把機(jī)架的震動(dòng)直接傳到了飛控上。
于是我看了一下飛控的減震,覺得沒問(wèn)題,我又去動(dòng)了一下機(jī)臂,發(fā)現(xiàn)機(jī)臂與機(jī)身連接處剛度不夠,
于是我得出了一個(gè)結(jié)論,這應(yīng)該是飛機(jī)機(jī)身剛度不夠,機(jī)身在扭動(dòng),導(dǎo)致飛控扭動(dòng),產(chǎn)生的高頻振蕩。
于是我做了個(gè)決定,回去重做一個(gè)飛機(jī)機(jī)架。
經(jīng)過(guò)一整天的加工裝配,有了個(gè)新飛機(jī),加固機(jī)架后,明顯用手已經(jīng)扭不動(dòng)飛機(jī)了, 簡(jiǎn)單飛一下,我就是想看飛控的扭動(dòng)效果有沒有改善,結(jié)果z軸角速度噪聲不光沒有減少,而且幅度還變大了。
而且連x軸角速度 也出現(xiàn)了同樣的問(wèn)題。
只有y軸角速度還能看見跟蹤趨勢(shì)
但這并不代表我們的分析是錯(cuò)的,我覺得是因?yàn)轱w機(jī)加固后,所有的震動(dòng)都直接傳到飛機(jī)上才會(huì)有這樣的結(jié)果。
所以還是震動(dòng)的原因,到底是什么導(dǎo)致了飛控振動(dòng)如此劇烈?
經(jīng)過(guò)排查,終于找到了導(dǎo)致飛控振動(dòng)的原因,先賣個(gè)關(guān)子。
處理過(guò)后,效果立竿見影,z軸角速度沒有了高頻振蕩,終于看見了趨勢(shì)。
雖然這時(shí)候姿態(tài)的跟蹤效果也并不好,但是之前奇怪的耦合,飛機(jī)異常的扭動(dòng)已經(jīng)消失了,飛手給的反饋是現(xiàn)在飛機(jī)能操控了。之所以效果還不好是因?yàn)橹拔野阉袇?shù)都調(diào)小了(減小噪聲對(duì)控制的影響)
目前這個(gè)狀態(tài),我們就可以正式開始調(diào)參了。
簡(jiǎn)單的把參數(shù)加大后,姿態(tài)的跟蹤就好了很多,pitch的跟蹤效果明顯變好,yaw的波動(dòng)范圍也變小了。
是不是跟想象的不一樣?幾乎沒有看到跟蹤效果。
這是為什么呢?
x,y軸 是因?yàn)楫?dāng)時(shí)沒有做快速的大機(jī)動(dòng)測(cè)試,所以飛機(jī)的角速度比較小,甚至小于陀螺儀的測(cè)量噪聲,自然是無(wú)法體現(xiàn)出跟蹤效果的。
z軸則是因?yàn)閰?shù)還沒調(diào)好,導(dǎo)致沒有比較好的跟蹤效果。
但是已經(jīng)比之前幾乎無(wú)法操控的飛行狀態(tài)好太多了,第一次覺得原來(lái)把飛機(jī)飛起來(lái)也可以如此激動(dòng)人心。
最后到底是什么引起的飛控振動(dòng)呢?飛控上有很多線,接電調(diào)的,接傳感器的,當(dāng)時(shí)為了美觀,把線扎在了一起,這樣線的就變成了一個(gè)整體,機(jī)體振動(dòng),會(huì)導(dǎo)致這個(gè)線在振動(dòng),線就會(huì)拉住飛控一起振動(dòng),把這些線都拆開,沒根線各自晃動(dòng),相互抵消就不會(huì)拉著飛控晃動(dòng)了。
這次出差感觸最深的就是,無(wú)人機(jī)真的是個(gè)系統(tǒng)工程,每個(gè)環(huán)節(jié)都很重要,不是說(shuō)飛控算法好,就能得到一個(gè)很好的飛機(jī),大部分的問(wèn)題往往還輪不到通過(guò)調(diào)參來(lái)解決,如果從上帝視角重新分析這次的過(guò)程,其實(shí)是可以更早的排查出問(wèn)題的,看上去是經(jīng)驗(yàn)不夠,時(shí)間緊迫的情況下,對(duì)問(wèn)題沒有細(xì)致的分析。但本質(zhì)上,是對(duì)飛控系統(tǒng)的了解不夠深,為什么會(huì)出現(xiàn)這樣的波形,什么樣的問(wèn)題是飛控造成的,什么問(wèn)題是飛控解決不了的,其實(shí)是可以很快得出答案的。
這次吃了虧,馬上就又要出差了,我會(huì)做出兩點(diǎn)改進(jìn):
1.增加詳細(xì)的代碼更新日志
2.每次起飛前想好測(cè)試項(xiàng)目,按照項(xiàng)目測(cè)試,測(cè)試完后立刻分析日志,避免盲目調(diào)參。
下次我會(huì)變的更強(qiáng)。
紀(jì)錄了一下傳感器濾波前的原始數(shù)據(jù)(之前都沒有記錄這些數(shù)據(jù)),之前直接用濾波后的數(shù)據(jù)分析是效率比較低的,直接看原始數(shù)據(jù)才是最高效分析振動(dòng)的方法。
濾波之前原始數(shù)據(jù) gyro < 50deg/s 濾波后 gyro <20deg/s
濾波之前原始數(shù)據(jù) acc < 5m/s^2 濾波后 acc < 0.5m/s^2
zinghd
一個(gè)有趣的飛控算法工程師
個(gè)人公眾號(hào):無(wú)人機(jī)干貨鋪
長(zhǎng)按識(shí)別二維碼關(guān)注
原創(chuàng)不易,如果覺得不錯(cuò)可以動(dòng)動(dòng)手指,點(diǎn)贊,轉(zhuǎn)發(fā)分享給更多的人
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















