李嘉明 溫梓南 馮建 徐操喜
摘要:該文結合機器視覺技術和電子控制技術,設計了一款基于OpenMV的遠程拋射系統(tǒng)。該系統(tǒng)包括直流降壓電源模塊、OpenMV模塊、舵機模塊、電容充放電模塊、繼電器模塊,系統(tǒng)能識別攝像頭所拍攝圖像內的目標色塊,并自動完成拋射方向的校準和彈丸的發(fā)射。實驗數據表明,拋射炮口與目標參考點在水平方向上分別偏移了15°、30°、45°時,系統(tǒng)均能完成自動追蹤,并能精準拋射到預定目標點。
關鍵詞:機器視覺;電子控制;OpenMV;舵機;自動追蹤
中圖分類號:TP301? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)01-0131-03
常規(guī)物體拋射器發(fā)射裝置的動力來源于火藥燃氣或壓縮氣體,采用這種動力進行拋射,存在著安全系數低、動力輸出不可控等問題。電磁炮可以利用電磁能推動物體運動[1],在動力拋射器中用電磁驅動方式代替壓縮氣體或者火藥燃氣,能顯著提高安全性能。與傳統(tǒng)的火藥推動的大炮相比,電磁炮可大大提高彈丸的速度和射程。
目前,國內的電磁炮技術正在逐漸發(fā)展,但是仍存在精度不夠等問題[2]。設計小型化、便攜式的智能電磁炮,具有一定的現實意義[3-5]。本文主要對模擬電磁炮的控制系統(tǒng)進行研究,運用圖像處理的相關方法,掃描并識別攝像頭監(jiān)控范圍內的目標,實現電磁拋射器自動、精準地鎖定拋射方向。
1 系統(tǒng)總體設計
系統(tǒng)總體設計可分為拋射系統(tǒng)機械部分的設計和硬件控制部分的設計。
機械設計部分由纏繞了若干線圈的PVC管、亞克力材質的支架、磁性彈丸組成。這種電磁炮屬于線圈炮,以同步線性馬達的方式將磁性拋射物加速到極高的速度,炮管內的彈丸獲得足夠大的動能并被發(fā)射出去。
硬件控制部分由直流降壓電源模塊、OpenMV模塊、舵機模塊、電容充放電模塊、繼電器模塊組成,設計框圖如圖1所示。其中,OpenMV模塊的主控芯片是STM32F767,并且板載一個攝像頭,攝像頭能夠實時讀取當前所拍攝的畫面,主控芯片檢測到后,識別目標并計算目標點坐標軸偏移量,輸出PWM驅動舵機轉動,攝像頭也隨之轉動,當攝像頭對準目標參考點后,主控芯片輸出控制信號改變繼電器的狀態(tài),觸發(fā)大電容放電,使繞制在PVC管上的線圈產生交變電流,從而將彈丸發(fā)射出去。
2 系統(tǒng)硬件設計
2.1 直流降壓電源模塊
直流降壓電源模塊負責為OpenMV模塊、舵機模塊、繼電器模塊供電,將9V電池提供的輸入電壓轉換成5V輸出電壓,用作系統(tǒng)的電源。所選的直流降壓模塊主芯片是廣泛應用于航模的電源管理芯片MP1584EN,可分為輸出電壓可調和輸出電壓固定兩類。本文所選用的直流降壓模塊屬于輸出電壓固定為5V,輸入的直流電壓范圍為7V-28V。因為模塊內有穩(wěn)壓芯片AMS1117,所以輸出電壓有5V和3.3V兩種。
2.2 OpenMV模塊
OpenMV是一個開源的機器視覺模塊,以STM32F767為主控芯片,擁有豐富的硬件資源,引出UART,I2C,SPI,PWM,ADC,DAC以及GPIO等接口方便擴展外圍功能。OpenMV還集成了OV7725攝像頭芯片,內置了C語言實現的核心機器視覺算法,并提供了Python編程接口,支持micropython的語法。內置的機器視覺算法包括尋找色塊、人臉檢測、眼球跟蹤等,可用來實現非法入侵檢測、產品的殘次品篩選、跟蹤固定的標記物等應用場合。在OpenMV開發(fā)板上進行開發(fā)無須專用的下載器和調試器,板上的USB接口可用于連接電腦上的集成開發(fā)環(huán)境OpenMVIDE,協助完成編程、調試和更新固件等工作。
2.3 舵機模塊
舵機模塊的型號是mg995,屬于數碼舵機,工作電流100mA,工作電壓3V-7.2V,工作扭矩為13kg/cm,具有三根輸出線,分別是接電源正極、電源負極、信號線。信號線與單片機的I/O引腳相連接,接收單片機發(fā)出的PWM控制信號。舵機的控制一般需要一個20毫秒的時基脈沖,該脈沖的高電平部分一般為0.5毫秒~2.5毫秒。高電平部分持續(xù)的時間越長,則占空比越大,舵機轉動的角度也越大。因此,通過控制單片機I/O引腳輸出不同占空比PWM信號,可以驅動電機轉動不同的角度,以達到調整炮管指向的目的。
2.4 繼電器模塊
本系統(tǒng)采用工作電壓為5V的電磁繼電器,來實現對電磁炮彈丸發(fā)射的控制需求。OpenMV模塊的一個輸出引腳經過限流電阻接入三極管的基極,當該輸出引腳輸出低電平時,三極管基極的輸入電壓趨近于0V,三極管截止,繼電器線圈無電流流過,繼電器處于釋放狀態(tài)。反之,當控制引腳輸出高電平時,三極管導通,此時足夠大的電流流過繼電器線圈,繼電器銜鐵處于吸合狀態(tài),改變輸出端觸點的連接,從而使大電容放電,彈丸瞬間獲取足夠大的動能發(fā)射出去。
2.5 電容充放電模塊
電容充放電模塊上有兩個按鍵,分別是S1和S2,使用單獨的電池給大電容提供電能,配合直流升壓電路完成大電容的充電過程。充電時,需按下開關按鍵S1導通電路,大電容開始充電。當大電容充滿電后,可使用手動控制或者自動控制啟動大電容的放電過程。手動控制即按下按鍵S2,大電容迅速放電為線圈充能,使炮管中的彈丸獲得足夠的動能而發(fā)射出去。自動控制是結合OpenMV和繼電器模塊來完成,發(fā)射彈丸時OpenMV改變相應輸出引腳的電平信號,改變繼電器觸點的接通狀態(tài),實現與手動按下按鍵S2相同的效果。
3 系統(tǒng)軟件設計
3.1 系統(tǒng)軟件總設計
系統(tǒng)軟件總體設計流程圖如圖2所示,系統(tǒng)上電后,首先進行各模塊的初始化,包括舵機控制引腳的配置、感光模塊sensor的配置、關閉自動白平衡等操作。模塊初始化完成后系統(tǒng)進入目標識別的階段,OpenMV攝像頭采集圖像數據并發(fā)送給主控芯片處理,若目標識別不成功,則重新進行目標識別,否則進入姿態(tài)調整階段。在姿態(tài)調整階段,OpenMV將會根據目標識別階段計算的偏移量換算成偏移的角度值,再轉換成相應的PWM信號輸出,驅動舵機轉動,使得攝像頭對準目標參考點。
3.2 目標識別
采用圓形色塊模擬目標點,參考點為圓形色塊的圓心,將色塊置于攝像頭能拍攝的范圍內,OpenMV實時獲取攝像頭所拍攝的圖像,目標識別階段的軟件流程圖如圖3所示。首先,設定色塊的閾值,使用的顏色模型是Lab,L表示顏色的亮度,a和b是色彩通道,a值越大,越接近紅色,負數a值越小,顏色偏綠,b值越大,越接近黃色,負數b值越小,顏色偏藍,分別設定L、a、b的最小值和最大值,圖像中的色塊顏色只有在所設定的最大值和最小值區(qū)間,才會被當作有效色塊進行處理。隨后迭代尋找圖像中的最大色塊,計算出最大色塊的圓心坐標和修正參數,完成目標的識別。
3.3 姿態(tài)調整
OpenMV識別到有效色塊后,便會運行姿態(tài)調整的程序,根據目標識別階段得出的修正參數,判斷是否需要發(fā)送轉動舵機的指令以及轉動的度數,程序流程圖如圖4所示。首先設定PID算法的參數,PID是比例、積分、微分的縮寫,將偏差的比例P、積分I和微分D通過線性組合構成控制量,用這一控制量對被控對象進行控制。合理地設置PID算法中各個環(huán)節(jié)的參數,可以避免控制過沖或不足的現象,并且達到較理想的響應速度。結合PID算法,將修正參數轉換成相應的PWM波驅動舵機轉動。
4 系統(tǒng)測試
系統(tǒng)軟硬件開發(fā)完畢后,將各部件組裝調試,實物圖如圖5所示。
為測試系統(tǒng)自動識別目標的有效性和發(fā)射彈丸擊中參考點的準確性,設計了如下實驗。在距離攝像頭50厘米處豎直放置了打印有圓形色塊的紙張,攝像頭與炮口的方向一致,當攝像頭在水平方向上正對色塊中心時,認為系統(tǒng)與目標點水平偏移的角度為0度。設計對照實驗,紙張上的色塊均為顏色相同且直徑為13厘米的圓,設置攝像頭與色塊中心的水平方向上的偏移角度分別為15°、30°、45°,在每一種偏移角度下,運行系統(tǒng)使得OpenMV自動識別并轉動舵機與色塊中心點對齊,對齊后驅動繼電器將充滿電的電容放電,發(fā)射彈丸,每種偏移角度測量三次,記錄落在色塊紙張上彈丸的落點與圓心的距離,實驗結果如表1所示。
從表1的結果中可知,不同偏移角度經過OpenMV的自動識別追蹤之后,所發(fā)射的彈丸均落在圓形色塊內,落點偏離圓心的距離均在4.7厘米以內,小于色塊的半徑6.5厘米。在攝像頭與目標色塊偏移不同角度的情況下,系統(tǒng)均能自動完成目標的自動追蹤和精準射擊,系統(tǒng)功能達到預期要求。
5 結束語
本文設計并實現了自動追蹤目標的模擬電磁炮系統(tǒng),借助OpenMV以及Python的圖像處理庫識別圖像中的目標,根據預存的Lab顏色模型閾值判斷是否為目標色塊,識別到目標色塊后提取出目標的橫縱坐標的位置信息,并最終換算成舵機轉動的修正參數。實驗數據表明,本系統(tǒng)能有效地識別圓形色塊、控制舵機轉動、發(fā)射模擬電磁炮彈丸,對新型動力拋射系統(tǒng)的發(fā)展具有一定的參考價值。
參考文獻:
[1] 蘇瑞,于浩,周沛澤,等.基于openmv的電磁炮智能控制系統(tǒng)[J].科技視界,2019(30):47,50.
[2] 徐靖琛,匡迎春,王豪杰.模擬電磁曲射炮射擊智能控制系統(tǒng)[J].現代計算機,2019(34):28-31,40.
[3] 黃佳琪,王善偉,毛凌青,等.智能模擬電磁炮控制系統(tǒng)設計[J].電腦知識與技術,2020,16(5):225-226.
[4] 林政宇,王福杰,秦毅,等.基于OpenMV視覺伺服的高精度電磁炮實驗裝置系統(tǒng)[J].中小企業(yè)管理與科技(中旬刊),2021(4):182-183.
[5] 劉賽南,李東升,何月陽,等.智能掃描定位電磁炮設計[J].科學技術創(chuàng)新,2020(31):79-81.
【通聯編輯:唐一東】
收稿日期:2021-10-15
基金項目:一種新型動力的救援物資拋射器研究與實現(校級科研課題)
作者簡介:李嘉明(1993—),男,廣東梅州人,碩士,研究方向為物聯網技術;溫梓南(1998—),男,廣東番禺人,大專,研究方向為物聯網技術;馮建(1983—),男,廣東高州人,實驗師,碩士,研究方向為嵌入式與自動控制;徐操喜(1983—),男,安徽潛山人,講師,碩士,研究方向為物聯網技術、職業(yè)教育。
3600500338278