




摘要:針對生態監測的需求,提出了一種基于STM32和深度學習的撲翼機系統設計。撲翼機具有高度的機動性和靈活性,能夠在復雜環境中進行監測和數據采集。文章利用深度學習算法對撲翼機采集的生態環境數據進行分析和處理,以實現對生態環境的實時監測和數據分析。具體地設計了一種基于卷積神經網絡的生態環境數據分析算法,能夠實時地根據撲翼機采集的數據,對環境參數進行分類和識別。該系統由數據采集、無線收發、數據監控及數據存儲等功能模塊組成,使用高精度攝像頭傳感器實現對森林等地區環境參數的采集。實驗結果表明,該系統具有較高的監測精度和實時性,能夠為生態環境保護提供有效的數據支持。
關鍵詞:STM32;深度學習;撲翼機;卷積神經網絡
中圖分類號:TN29 文獻標識碼:A
文章編號:1009-3044(2024)23-0031-03
開放科學(資源服務)標識碼(OSID)
0 引言
隨著科技的快速發展,仿鳥式撲翼機成了未來人造飛行器的發展趨勢。本項目旨在研究設計一款基于深度學習的生態監測仿鳥式撲翼機,通過優化設計的雙段翼結構、使用新型高強度材料、融合深度學習等人工智能算法,實現高效、準確的生態監測[1]。目前,國內外對于撲翼機的研究已經取得了一定的進展,但仍然存在一些關鍵問題需要解決,如飛行控制、動力和能源選擇以及驅動機構等。
本項目將從結構設計、飛行控制、生態監測等方面進行研究設計。通過選用ARM芯片作為主控單元,對撲翼機進行飛行姿態控制,并結合基于深度學習的視覺識別模塊進行生態監測。最終實現一款能夠智能執行自主巡航任務、高效準確進行生態監測的仿鳥式撲翼機,為保護生態環境提供有力的技術支持。
1 系統功能及總體設計
1.1 系統功能綜述
本系統的主要關鍵在于仿鳥式撲翼機搭載了圖像處理模塊后,在空中的飛行姿態控制以及對采集到的圖像等環境數據進行處理操作。在撲翼機進行區域巡航飛行時,其上搭載的STM32微控制器將根據陀螺儀數據獲取當前撲翼機的翻滾角、俯仰角與航向角,將當前飛行姿態角度與預設值進行比較,通過PID控制器的計算后,分別控制撲翼機構與尾翼的舵機結構,實現撲翼機飛行中的姿態控制。同時,在進行姿態控制的過程當中,Maix Dock攝像頭模塊與STM32微控制器之間通過串口進行實時通信,并根據預設巡航信息進行圖像的拍攝以及預處理,然后通過無線通訊模塊[2]將相關傳感器數據以及圖像數據傳輸至地面上位機觀測站,即PC終端機。
當然,在撲翼機巡航過程中,地面觀測人員可以通過上位機發送修改參數給撲翼機,使撲翼機臨時更改預設的巡航數據,做到更好地適應工作環境。
1.2 系統總體設計
系統主要以搭載了K210處理器的Maix Dock模塊作為圖像采集和處理傳感器,STM32F4作為主控制器,小型金屬舵機作為控制尾翼擺動的動力源,直流無刷電機作為驅動撲翼機構做到撲翼飛行的主要動力,構成用于采集生態數據信息的撲翼飛行硬件平臺[3]。系統中的上位機主要由PC機構成,與撲翼機之間通過無線通訊模塊建立通訊網絡。系統總體設計框架如圖1。
2 系統硬件設計
2.1 撲翼機結構設計
在撲翼機的結構設計中,應考慮到需要搭載在其上的幾類功能模塊,如Maix Dock圖像處理模塊與攝像頭、STM32F4微控制器主控板與傳感器、舵機與無刷電機組成的動力單元以及無線通訊模塊。因此,撲翼機需要足夠的載重能力。為了滿足這一要求,我們將采用翼展1.2米至1.4米的撲翼結構設計,并使用碳纖維材料作為主體結構的材料。這種設計不僅能夠減輕撲翼機自身的重量,還能為各個結構提供更高的強度保障。
在撲翼機的機身設計中,我們將采用CNC加工切割技術,將3毫米的碳纖維板材切割成整體鏤空狀態。單側的機翼將以一根4毫米的碳纖維桿為主要支撐,同時使用輕質高強度的尼龍布料作為翼膜,并利用多根1毫米的碳纖維桿作為輔助支撐,從而形成整體機翼。尾翼的設計同樣使用了碳纖維桿與高強度輕質尼龍布料制成扇形。在機翼與機身、尾翼與機身的連接處,由于是非標準結構,且要求重量輕,我們將采用3D打印技術,使用高強度尼龍材料作為連接件[4]。撲翼機機身圖紙,如圖2所示。
2.2 微控制器
2.2.1 Maix Dock模塊
Maix Dock模塊上的系統級勘智K210芯片采用28納米先進技術,搭載RISC-V 64位雙核處理器,專為機器視覺而設計。這款芯片最引人注目的特點是KPU,它可以輕松應對卷積人工神經網絡的計算需求。此外,K210還配備了快速傅里葉變換加速器,使FFT計算更加高效。因此,這款芯片可以毫不費力地處理大多數機器學習算法,展現出卓越的性能。撲翼機機翼(左)圖紙,如圖3所示。
2.2.2 STM32微控制器
STM32F407微控制器是意法半導體公司生產的一款基于Cortex-M4內核的32位微控制器,最高工作頻率可達168MHz,具有浮點運算單元和DSP指令。該控制器具有豐富的外設接口,如I2C、SPI、USART、TIM等,能夠滿足多種應用場景的需求。此外,STM32F407還支持多種通信協議,如CAN、USB、Ethernet等,方便用戶進行數據傳輸和控制。撲翼機利用STM32微控制器作為主控制器,實現對飛行姿態進行PID自動控制運算。
2.3 傳感器
2.3.1 陀螺儀
MPU6050陀螺儀是一款高性能的傳感器模塊,內置三軸MEMS陀螺儀和三軸MEMS加速度計,配備數字運動處理引擎(DMP) 和輔助I2C端口,支持連接第三方數字傳感器。該模塊采用16位模/數轉換器(ADC) ,將陀螺儀和加速度計的數據轉化為數字量輸出,通過I2C與STM32微控制器進行數據傳輸,獲取撲翼機實時的姿態數據。此外,MPU6050還內置了可編程的低通濾波器,可用于傳感器數據的濾波。該模塊用于測量撲翼機撲翼飛行時的加速度、角速度和氣壓等重要數據信息。
2.3.2 光電傳感器
紅外反射式光電傳感器具有體積小、重量輕、功耗低、響應速度快、抗干擾能力強等優點,適用于各種小型飛行器的避障系統。通過安裝多個紅外反射式光電傳感器,可以實現對撲翼機周圍環境的感知和避障。當紅外光遇到障礙物時會被反射回來,然后被紅外接收器接收。通過檢測紅外光的反射情況,可以判斷前方是否有障礙物,從而調整撲翼機的飛行方向,避免與障礙物發生碰撞。這種光電傳感器在撲翼機避障中發揮著重要作用。
3 系統軟件設計
3.1 深度學習算法
本文設計了基于卷積神經網絡的生態環境數據分析算法,實現這個算法主要有以下幾個步驟:數據收集、數據預處理、卷積神經網絡構建[5]、模型訓練、模型評估、模型應用。實現上述算法的基礎是搭載了K210芯片的Maix Dock模塊、攝像頭以及PC上位機等硬件設備,并在已有的設備中搭建Google公司開發的Tensorflow框架。
在撲翼機在全新區域進行巡航監測前,首先利用攝像頭采集生態環境的圖像數據,并實時傳輸至Maix Dock模塊中,通過其上的處理器對圖像數據進行初步的去噪、縮放、歸一化等處理操作。同時,還會進行特征提取和選擇,以提取與生態環境相關的關鍵特征。然后,使用撲翼機上搭載的無線通訊模塊將預處理后的數據信息傳輸至上位機,利用在PC上設計構建的卷積神經網絡進行模型訓練,將訓練后符合評估標準的模型再次部署至撲翼機上搭載的Maix Dock模塊中。深度學習算法實現步驟,如圖4所示。系統主流程圖,如圖5所示。
撲翼機在進行生態區域的連續巡航監測過程中,將會直接通過部署了訓練模型的Maix Dock模塊與攝像頭實時監測生態環境的圖像信息,僅需將異常數據與巡航日志發送至上位機即可。
3.2 PID(比例-積分-微分)控制器
本系統通過撲翼機的姿態角與預設巡航的姿態角之差,通過PID算法來控制主控制器STM32輸出的PWM信號,使得舵機帶動尾翼的翻轉實現撲翼機的姿態控制調整,直到撲翼機按照預設的航向進行巡航任務[6]。
在經典的PID控制器中,將實際值與目標值之間的差值稱為系統誤差。這個誤差信號會作為PID控制器的輸入。控制器處理這個輸入后,會輸出一個信號[u(t)]。對于連續時間系統,PID控制器的數學表達式如式(1):
[u(t)=Kpe(t)+Ki∫t0e(τ)dτ+Kdde(t)dt] (1)
其中:[u(t)]是控制器的輸出,[e(t)]是系統誤差,[Kp]、[Ki]和[Kd]分別是比例、積分和微分系數。這個公式揭示了PID控制器的基本結構,它是由比例、積分和微分三個部分組成,控制器先將誤差乘以比例增益[Kp],再對誤差進行積分,然后進行微分,最后三者之和為輸出[u(t)]。而計算機等數字系統對數據處理都應離散化,所以對于離散時間系統下的PID公式如式(2):
[uk=Kpek+Kiτ=0keτ+Kd(e[k]-e[k-1])] (2)
離散PID一般分為2種算法,一種是增量式PID,另一種是位置式PID,本系統采用了位置式PID,若采樣周期為T,則離散位置式PID公式如式(3):
[u[k]=Kpe[k]+KiTτ=0ke[τ]+Kd(e[k]-e[k-1])] (3)
相較于普通PID算法,可以使撲翼機姿態調整更加穩定。
4 系統測試結果
系統采用上位機與下位機結合的應用形式,通過上位機可以獲取撲翼機的監測數據信息,并在卷積神經網絡中訓練模型,通過無線通訊模塊將訓練、評估后的模型部署到撲翼機當中。同時上位機也可以遠程修改撲翼機中的預設飛行信息,做到實時調整撲翼機的飛行路線與監測任務。
在撲翼機自主巡航監測生態數據的過程當中,大部分圖像信息將優先通過K210處理器的處理,其中部署的是預先訓練的模型信息。若是數據監測到異常狀態,撲翼機會把異常信息的圖像數據即時傳輸至上位機終端,其余信息將存儲至機身搭載的數據存儲設備中,作為日志信息供后續查閱,這樣就可避免無線傳輸時數據延遲、丟失等問題。
同時在撲翼機的撲翼飛行過程當中,PID控制器能夠很好地調整撲翼機飛行姿態,使其能夠良好地執行預設的飛行監測任務,在任務過程當中受到環境干擾能夠準確修正飛行狀態,并可在任務完成后準確地返航。
5 結束語
本文設計的基于STM32和深度學習的撲翼機生態監測系統,能夠利用撲翼機在多種環境中采集生態數據,并使用深度學習算法對數據進行分類和識別,實現生態環境的實時監測和數據分析。系統由數據采集、無線收發、數據監控和數據存儲等功能模塊組成,可對森林等局部地區的環境參數進行精確采集。最終測試結果表明了,該系統所具有的高監測精度和實時性能夠為生態環境的保護提供有效支持。
參考文獻:
[1] 李勇欣,張兆海.加強生態環境檢測及環保技術應用探討[J].濮陽職業技術學院學報,2023,36(5):17-19.
[2] 甘緒桐,陳寶瑞,熊劍敏,等.基于LoRa無線通信技術的電氣火災監測方法研究[J].現代傳輸,2023(6):42-45.
[3] 鄔毅松.無線低功耗大容量數據采集系統的設計[J].電腦知識與技術,2023,19(21):94-96.
[4] 馬程,熊曉松,吳昊,等.撲翼機結構設計及運動仿真[J].中國教育技術裝備,2020(14):27-29.
[5] 黃繁章.仿鳥撲翼機器人結構優化與自主飛行控制研究[D].南京:東南大學,2021.
[6] 朱亞軍,陳砆興.基于機器視覺的目標識別方法的研究進展[J].科技資訊,2023,21(21):21-24.
【通聯編輯:朱寶貴】