如何以機器學習技術,結合計算流體力學 (CFD) 和計算氣動聲學 (CAA) 方法,來預測多旋翼無人機的噪音排放。
本篇內容,參考自 Conference Paper :A machine learning-based methodology for computational aeroacous-tics predictions of multi-propeller drones. Internoise 2021。文章內的”本篇研究”、”這篇研究”,就是上述文章。建議閱讀原文。
小型無人機,隨處可見
近年,小型無人機 (sUAS,Small Unmanned Aircraft Systems) 技術飛速發展,應用日益廣泛,從送貨、空拍到農業應用,甚至是節慶表演,到處可見無人機的身影。然而,無人機運轉時伴隨的噪音問題,也日益受到重視。在設計或使用時,準確預測無人機噪音對於降低環境污染至關重要,也是工程師要解決的工程設計問題。
實際上,無人機的飛行條件、旋翼轉速和負載等,在運作時有著多方面的不確定性。傳統的高精度數值分析方法,像是用計算流體力學(CFD, computational fluid dynamics) 技術結合 Ffowcs Williams Hawkings(FW-H)聲學類比,用於可滲透或固體邊界,來進行聲學預測。然而,這種方式難涵蓋所有實際運作的情境,計算成本極高,對於預算有限的研究團隊來說,實在是難以負擔。舉例來說,一次完整的多旋翼無人機CFD加上聲學模擬計算,需要高達8X105 CPU小時 (註 1, 2),這對一般的研究團隊來說根本是不可能的任務。那麼,該怎麼辦呢?
這篇文章就是要來說明,如何藉助機器學習技術,用較低的計算成本,在一定誤差內,預測多旋翼無人機在不同條件下的噪音。
機器學習是什麼,為什麼要用它呢?
在正式進入文章之前,先對已經熟悉 CFD 和 氣動聲學(CAA, aeroacoustics),但對機器學習還不熟悉的朋友,簡單介紹一下機器學習是什麼,以及為什麼要用它。
機器學習就是一套演算法,它可以從大量的數據中找出規律,然後根據這些規律來做預測。也就是說,透過學習大量已知的「輸入」和「輸出」數據,例如給定不同公式以及其對應的不同參數, 最後機器就可以學到一個數據模型, 我們可以給定它新的「輸入」,它就能預測出對應的「輸出」。
以無人機噪音預測為例,我們可以將「輸入」設定為「四個旋翼的轉速偏差」,「輸出」設定為「八個不同位置的噪音頻譜」。傳統上, 每當我們想要得到一組對應的輸入和輸出數據, 我們就需要進行一次的CFD/CAA的數值分析模擬,如果想要得到很多組數據,那就要分析很多次。而機器學習應用的優勢就在於:利用有限的CFD和CAA模擬結果數據,當作機器學習的訓練數據,去訓練這個模型。模型會去學習「四個旋翼在不同轉速組合下產生的噪音頻譜」,然後建立一個預測模型,讓這個模型學會「旋翼轉速」和「噪音」之間的複雜關係。
需要提供機器學習什麼?又可以得到什麼呢?
了解了機器學習在這個題目扮演的角色,接下來我們先來訓練”模型”。這裡要提供的,是「大量」且「準確」的CFD和CAA模擬結果。所以,勢必要先做出一些模擬分析出來。舉例來說,本篇研究裡:
- CFD計算: 使用1/4模型,根據基準轉速 (18303 RPM) ,在-40% 到 0% 的轉速範圍內的 9 個不同轉速偏差進行CFD計算。在每個旋轉速度下,流場的速度、壓力和密度信息被計算出來,並用於後續的氣動聲學源的計算。由於流場變量的時間訊號夠長,因此被分割成多個子訊號,每個旋轉速度偏差生成7個子荷載(sub load cases)的情境。
- CAA計算: 計算出的流場數據轉換到頻率域,用於 CAA 求解器估算聲壓。這個過程使用了492個離散頻率值,估算頻率範圍可達到5 kHz。
- 實際計算: 考慮到4個螺旋槳的9個旋轉速度偏差和7個子荷載情境,CAA 求解器共處理了882個數據樣本。這意味著總載荷情境數是7 × C(9,4),其中C是組合運算符號,表示在不重複的情況下對變量(RPM)進行組合。( C(9,4) = 126。7 x 126 = 882 )
如此,得到882個不同工況下的8個不同麥克風位置的氣動聲學分析結果,加上其轉速,就是我們可以提供給機器學習模型的數據。模型從中去學習不同轉速和噪音之間的複雜關係。越多樣、精確的數據,訓練出來的模型就越可靠,避免出現過擬合和欠擬合的問題。模型訓練好後,當我們想知道某個新的轉速組合下,無人機大概會產生多少的噪音值,只要把轉速輸入模型,就能迅速給出預測的噪音頻譜,而不需要再花費大量時間進行 CFD 和 CAA 模擬。
此外,AI模型預測的噪音頻譜,也可以與少量的實驗結果進行對比,再用於微調機器學習的參數以及模型。更進一步地,我們可以透過預測不同轉速組合下的噪音數值,實現多目標優化,加速開發時程。
當然,天下沒有完美的模型,機器學習預測的結果一定會存在誤差。但重點是,這樣的方法給出了一個有依據的方向,在特定的條件和合理的誤差範圍內,這個方法可以大幅提升效率,協助我們在設計初期就掌握無人機的噪音。
就要用機器學習了,還需要做實驗嗎?
實驗能不做就不做,機器學習搭配模擬分析,可取而代之嗎?這對工程師解決問題的角度而言,是個大哉問,端看你做實驗的動機和目的。
以這篇研究而言,首先就分析了實驗數據。實驗對象是一款市面上常見的低成本(只要$70美元) LHI-QAV250 型四旋翼無人機。此實驗在半無響室設備進行,無人機被固定在一個距離地面1.97公尺的平台上,並在距離無人機重心等距 (R = 0.6 m) 的位置設置了 8 個麥克風測量點。無人機的供電功率從 10% 到 100% 變化,對應的旋翼轉速範圍為 2372 到 18303 RPM。實驗數據以RION NL-31 聲壓計測量,包含每個測量點的聲壓頻譜 (dBA) 和聲音檔。
透過對實驗數據的分析,發現了一些值得討論問題:
- 測量誤差: 由於使用的無人機成本較低,而且沒有轉速反饋控制,其轉速只能依靠電壓來調整。再加上測量設備的精度限制,導致測量到的數據會有一些誤差。例如,無人機吸氣側和排氣側會因為流速的影響,導致該測量點的結果與實際情況有很大的差異。我們可以看出 Point 1 這個位置受到了較為明顯的干擾,在高頻的區域出現了異常的凸起,而這個位置正好就在氣流的路徑上。另外,作者也比較了實驗中測量的頻譜,發現旋翼轉速與頻譜中的主峰位置不完全吻合。從測量點7的頻譜圖可以看到,前兩個主峰(230 Hz 和 456 Hz)和旋翼轉速以及其一倍頻並不匹配(根據18303的轉速, 主峰應該位於305 Hz 與 610 Hz)。
- 轉速不一致: 即使在相同的供電電壓下,四個旋翼的轉速也會有差異,最大可以達到約 600 RPM。這是由於低價的無刷直流馬達的控制精度有限,再加上光學轉速計本身的測量誤差所造成的。從測量點 7 的分析我們可以知道,隨著頻率的上升,主頻的分佈就越分散。其主要頻寬達到了59 Hz(1407 Hz- 1348 Hz) 。這個差距顯示,在這種情況下,至少有兩個旋翼之間存在著一階轉頻差或者大約600RPM的轉速差。
這些「不確定性因素」導致直接使用傳統的高精度CFD+CAA模擬分析方法變得很不切實際。而且為了要準確地捕捉到流場和聲場的細節,會需要非常精細的網格和非常小的時間步長。「不切實際」主要在:
- 計算成本過高: 高精度的CFD和CAA計算本身就非常耗費計算資源,對所有可能的轉速組合(例如本篇研究中每個旋翼有9種轉速,那全部就有94=6561種組合)都進行計算將導致計算量大幅增加, 不切實際。
- 輸入參數不確定: 由於實驗中存在測量誤差和轉速不一致,很難取得每個旋翼精確的轉速來作為CFD模擬的輸入,而這是開始進行數值計算的必要步驟。這會導致即使投入了大量的計算資源,得到的結果也可能跟實際情況差很大。
- 結果難以驗證: 因為實驗數據本身也存在著不確定性,模擬出來的數據即使和實驗很像,也沒辦法驗證計算的準確性, 而且可能需要做很多實驗來校正數據。
簡單來說,由於實驗測量的誤差以及多個旋翼轉速的組合數目太多,如果用傳統的CFD+CAA模擬分析方法對每個組合去計算,將會耗費非常多的計算機資源和時間。同時,因為輸入的旋翼轉速本身也有誤差,所以算出來的結果也不一定可靠。最後就導致傳統的高精度CFD+CAA方法變得很不切實際。
本篇研究的”實驗”數據,目的在了解”產品”本身的特性,為研究提供基礎和驗證標準。有點像是知道產品的極限,同時用工程判斷來決定怎麼使用些數據。機器學習的模型需要的是提供給予他訓練的”數據”,數據可以來自”實驗”,或者來自”模擬分析”,端看你怎麼做,提供合適的訓練數據。
下一篇,我們將延續這篇研究的內容,來討論怎麼做CFD、CAA和機器學習的計算。
註 1: Cadieux, F., Barad, M., Jensen, J., Kiris, C. ( Predicting Quadcopter Drone Noise Using the Lattice Boltzmann Method. NASA Ames Research Center
註 2: Casalino, D., van der Velden, W. C., Romani, G., Gonzalez Martino, I. ( Aeroacoustic analysis of urban air operations using the LB/VLES method. In 25th AIAA/CEAS Aeroacoustics Conference p. 2662