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