孫永芳
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院,陜西 西安 710300)
我國傳統(tǒng)水果采摘方式主要采用人力進(jìn)行采摘,采摘過程中由于水果的分布結(jié)構(gòu)存在不規(guī)律性,需要消耗大量人力物力,使工作人員勞動強(qiáng)度大的同時,其采摘效率較為低下。近年來,隨著我國科技的不斷發(fā)展,自動化采摘已成為農(nóng)業(yè)生產(chǎn)領(lǐng)域的發(fā)展趨勢之一,通過自動化采摘,可將識別、采摘功能一體化發(fā)展,有利于降低人力成本,提高工作效率。為此本研究提出一種基于STM32的水果采摘機(jī)器人控制系統(tǒng)設(shè)計(jì)方案,對于農(nóng)業(yè)領(lǐng)域的未來發(fā)展具有重要意義。
水果采摘機(jī)器人的動作設(shè)計(jì)準(zhǔn)則是根據(jù)果樹生長分布特征而定。采摘機(jī)器人由機(jī)械臂、攝像頭、末端執(zhí)行裝置、移動平臺、上升機(jī)構(gòu)、存儲機(jī)構(gòu)和運(yùn)輸機(jī)構(gòu)等部分組成。工作流程:通過攝像頭對水果進(jìn)行掃描,當(dāng)識別到成熟的水果時,會將成熟水果坐標(biāo)值通過串口通信傳送到STM32單片機(jī),單片機(jī)會控制機(jī)械臂準(zhǔn)確到達(dá)坐標(biāo)位置,啟動環(huán)形剪刀剪斷果柄,成熟的水果會順著管道進(jìn)入箱體,整體機(jī)構(gòu)如圖1所示。
為實(shí)現(xiàn)對水果的快速采摘,應(yīng)加強(qiáng)對機(jī)械臂結(jié)構(gòu)和控制方式的設(shè)計(jì)。機(jī)械臂是水果采摘機(jī)器人控制系統(tǒng)的核心部分,其結(jié)構(gòu)和控制方式可直接決定該機(jī)器人的采摘效果。傳統(tǒng)水果采摘機(jī)器人的機(jī)械臂存在結(jié)構(gòu)簡單、電機(jī)數(shù)量較多及控制復(fù)雜等問題,為提升水果采摘機(jī)器人控制精度,采取對稱分布方式在水果采摘機(jī)器人的大臂、小臂、連接臂等結(jié)構(gòu)的另一側(cè)設(shè)計(jì)機(jī)械臂桿件,并將其機(jī)械原理簡化為兩個對稱的鉸鏈四桿機(jī)構(gòu)[1-2]。
1.機(jī)械臂 2.攝像頭 3.末端執(zhí)行裝置 4.移動平臺5.上升機(jī)構(gòu) 6.存儲機(jī)構(gòu) 7.運(yùn)輸機(jī)構(gòu)圖1 水果采摘機(jī)器人整體機(jī)構(gòu)Fig.1 Overall mechanism of fruit picking robot
利用攝像頭對水果的顏色進(jìn)行識別,根據(jù)成熟水果的坐標(biāo)值判斷水果所處位置,最終通過機(jī)械臂實(shí)現(xiàn)水果的采摘。末端執(zhí)行裝置主要由兩部分組成,分別是攝像頭和環(huán)形剪刀。為保證末端執(zhí)行裝置功能的穩(wěn)定性,在攝像頭中設(shè)置Open MV圖像采集功能。Open MV圖像采集功能主要建立于Python軟件的基礎(chǔ)上,通過該軟件有利于對Open MV圖像采集功能進(jìn)行二次開發(fā),并且Open MV視覺模塊具有色彩識別及檢測等功能,能夠有效對成熟水果顏色進(jìn)行判斷,對于機(jī)器人的識別范圍具有擴(kuò)大作用。
對環(huán)形剪刀進(jìn)行設(shè)計(jì)時,結(jié)合水果果柄的硬度,將具有較大力矩的舵機(jī)作為該部分的動力源。其工作流程:利用水果采摘機(jī)器人控制系統(tǒng)攝像頭的精準(zhǔn)定位功能,對采摘區(qū)域水果的位置進(jìn)行確定,通過啟動機(jī)器人的舵機(jī),使其帶動第二弧形連桿進(jìn)行操作,即可將果柄割斷,以此實(shí)現(xiàn)對水果的采摘。
傳統(tǒng)水果采摘機(jī)器人為實(shí)現(xiàn)對不同方位的水果進(jìn)行采摘,需要移動整臺機(jī)器,該方式對于采摘的效率存在一定局限。為解決水果采摘機(jī)器人的局限性,對移動平臺的移動方向進(jìn)行全方位設(shè)計(jì),其中左右移動方向主要采用絲桿螺母作為傳動機(jī)構(gòu),該絲桿螺母的使用可使水果采摘機(jī)器人的運(yùn)動更加平穩(wěn),最大移動范圍350 mm。該平臺前后移動方向的傳動機(jī)構(gòu)主要采用同步帶,使其在結(jié)構(gòu)上更加緊湊,并且具有抗拉強(qiáng)度高、效率強(qiáng)等特點(diǎn),最大移動范圍是500 mm。為實(shí)現(xiàn)機(jī)器人可采摘不同角度的水果,在機(jī)械臂滑塊部位安裝旋轉(zhuǎn)電機(jī),以此實(shí)現(xiàn)對機(jī)器人的控制。
根據(jù)末端執(zhí)行器對成熟水果的定位,由上升機(jī)構(gòu)對機(jī)械臂高度進(jìn)行調(diào)整,確保更加精準(zhǔn)地對成熟水果進(jìn)行采摘。存儲機(jī)構(gòu)將采摘的水果臨時存儲于存儲箱內(nèi),由工作人員進(jìn)行水果收集。運(yùn)輸機(jī)構(gòu)可以實(shí)現(xiàn)采摘機(jī)器人的移動或轉(zhuǎn)移。
對水果采摘機(jī)器人的控制系統(tǒng)進(jìn)行設(shè)計(jì)時,主要采用STM32單片機(jī)作為控制系統(tǒng)的主控芯片,該芯片對于系統(tǒng)的穩(wěn)定性具有重要提升作用。水果采摘機(jī)器人各模塊的設(shè)計(jì)任務(wù):視覺識別模塊可利用控制算法對機(jī)器人的移動速度進(jìn)行提升,使其以最快的速度移動至目標(biāo)物體之前;末端執(zhí)行機(jī)構(gòu)可控制機(jī)器人剪斷果柄;機(jī)械臂部分與末端執(zhí)行器緊密相連,屬于整個系統(tǒng)的核心模塊;移動平臺部分及升降機(jī)構(gòu)部分的設(shè)計(jì),有利于提高機(jī)器人機(jī)械臂的活動范圍,使其全方位對水果進(jìn)行采摘[3-4]。
視覺識別系統(tǒng)的功能組成:圖像采集、圖像處理和分析、圖像信息傳遞。水果采摘機(jī)器人視覺識別控制的核心結(jié)構(gòu)為STM32F4單片,該單片機(jī)集成了攝像頭芯片,其分辨率高達(dá)30萬像素,為實(shí)現(xiàn)水果采摘機(jī)器人的高效算法,利用C語言對控制系統(tǒng)進(jìn)行編程。視覺識別的設(shè)計(jì)過程:首先在控制系統(tǒng)內(nèi)對所需識別的水果顏色進(jìn)行設(shè)定,顏色設(shè)定完畢后,即可利用采摘機(jī)器人攝像頭的圖像采集功能及精準(zhǔn)定位功能,對水果所在位置進(jìn)行確定,并將水果的位置信息通過串口傳遞至STM32單片機(jī),控制系統(tǒng)接收到指令后,可自動對末端執(zhí)行器進(jìn)行控制,使機(jī)械臂到達(dá)指定位置,實(shí)現(xiàn)對水果的采摘。
末端執(zhí)行器的核心控制結(jié)構(gòu)為舵機(jī),為保證機(jī)器人的精準(zhǔn)采摘,采用型號為MG995的舵機(jī)對刀柄的速度及剪切力進(jìn)行提升。為實(shí)現(xiàn)對電機(jī)的轉(zhuǎn)速進(jìn)行控制的同時,可增大末端執(zhí)行器電機(jī)的轉(zhuǎn)矩,利用單片機(jī)發(fā)送的信號對電機(jī)的轉(zhuǎn)動進(jìn)行控制,該方式可有效降低齒輪的轉(zhuǎn)動速度,有利于保證水果采摘機(jī)器人的運(yùn)行效率。而監(jiān)測電機(jī)的旋轉(zhuǎn)角度可利用電位器,該電位器可根據(jù)單片機(jī)生成的PWM波信號,對舵機(jī)的旋轉(zhuǎn)角度進(jìn)行控制[5]。
為實(shí)現(xiàn)末端執(zhí)行器對舵機(jī)的控制,應(yīng)建立20 ms的時基脈沖周期,高電平角度可對0.5~2.5 ms范圍內(nèi)的脈沖進(jìn)行控制。以旋轉(zhuǎn)角為180°的舵機(jī)為例,其旋轉(zhuǎn)0°,45°,90°,135°,180°所對應(yīng)的脈沖時間為0.5、1.0、1.5、2.0和2.5 ms。其工作流程如下。
首先,利用KeiluVision5建立目標(biāo)工程文件,通過C語言對水果采摘機(jī)器人的控制程序進(jìn)行編寫,程序編寫完畢后,應(yīng)及時確認(rèn)編寫是否正確,無誤后即可生成執(zhí)行文件。
其次,將生成的執(zhí)行文件下載至STM32芯片中,利用STM32芯片設(shè)置執(zhí)行文件的相關(guān)參數(shù)。
最后,將水果采摘機(jī)器人的控制程序輸入至單片機(jī)中,利用單片機(jī)的功能對程序進(jìn)行運(yùn)行和調(diào)試,調(diào)試完畢后生成的結(jié)果可作為判斷舵機(jī)運(yùn)行狀態(tài)的主要依據(jù)。
對舵機(jī)的控制電路進(jìn)行設(shè)計(jì)時,為控制舵機(jī)的運(yùn)行,可將單片機(jī)輸出周期為20 ms的PWM波與信號線相連,而控制接口可直接與單片機(jī)的引腳相連,舵機(jī)控制接口的另一端直接與電源相連[6]。
對控制系統(tǒng)硬件部分進(jìn)行設(shè)計(jì)時,采用大量先進(jìn)集成電路,向硬件部分的保護(hù)電路及信號濾波電路中加入反向電壓,該方式有利于提升硬件系統(tǒng)的安全性,使其具有較強(qiáng)的抗干擾能力?;赟TM32的水果采摘機(jī)器人控制系統(tǒng)硬件電路如圖2所示[7]。
圖2 基于STM32的水果采摘機(jī)器人控制系統(tǒng)硬件電路Fig.2 Hardware circuit of control system of fruit picking robot based on STM32
主控制器模塊是整個硬件系統(tǒng)的核心組成部分,其主控芯片主要選用性價比較高的STM32F103ZET6。該芯片在運(yùn)轉(zhuǎn)過程中,最高工作頻率達(dá)72 MHz,工作電壓3.3 V,部分引腳可兼容5 V電壓。芯片上集成了512 KB的Flash存儲器和64KB的SRAM存儲器。除此之外,該芯片可支持兩種調(diào)試模式:串行調(diào)試(SWD)和JTAG接口,通過對芯片的調(diào)試,有利于將水果采摘機(jī)器人的功耗降至最低[8]。
為提升水果采摘機(jī)器人的識別能力,采用液晶顯示器(LCD)作為該系統(tǒng)的界面顯示部分,該顯示器具有功耗低、體積小、質(zhì)量輕等優(yōu)勢,在單片機(jī)的控制下被廣泛應(yīng)用于多種電子產(chǎn)品的顯示功能中。而鍵盤模塊為給用戶提供良好的使用體驗(yàn),主要采用以ST7920為控制器的LCD12864,并將其與按鍵共同處于一塊電路板上,可為用戶提供更加便捷的功能選擇。
為保證水果采摘機(jī)器人控制系統(tǒng)的精準(zhǔn)性,應(yīng)對運(yùn)行功率進(jìn)行控制。通常情況下,STM單片機(jī)的引腳輸出電流為20 mA,由于該單片機(jī)的輸出電流過小,在驅(qū)動電流較大的元件時,可造成單片機(jī)出現(xiàn)不同程度的損壞,甚至無法完成驅(qū)動。為此本研究設(shè)計(jì)了功率運(yùn)放與H橋PWM輸出模塊,該模塊的驅(qū)動器部分采用DRV8412,選擇了高速、低噪聲、大電流輸出、雙運(yùn)放LM7322,在二者的支持下,有利于實(shí)現(xiàn)對電機(jī)、舵機(jī)等元件的驅(qū)動和PWM調(diào)速。
該模塊為實(shí)現(xiàn)對成熟水果顏色的精準(zhǔn)識別,采用0V7670(帶FIF0)作為攝像頭識別通信模塊的核心。水果采摘機(jī)器人攝像頭的識別通信流程:首先通過機(jī)器人的攝像頭對水果的實(shí)際位置信息進(jìn)行采集,信息采集完畢后,系統(tǒng)可自動將該信息傳送至2# STM32單片機(jī),該單片機(jī)可利用串口與上位機(jī)建立聯(lián)系,即可實(shí)現(xiàn)數(shù)據(jù)的輸出,上位單片機(jī)接收到指令后即可對數(shù)據(jù)進(jìn)行處理。
為滿足用戶對水果進(jìn)行采摘的不同需求,將水果采摘機(jī)器人控制系統(tǒng)的工作程序分為兩種模式:自動采摘和手動采摘。若用戶選擇自動采摘工作模式,該系統(tǒng)可啟動系統(tǒng)控制程序,完成水果的采摘,并將采摘水果的數(shù)量進(jìn)行記錄。若用戶選擇手動采摘工作模式,該系統(tǒng)可為用戶提供操控?fù)u桿控制器,用戶對該控制器進(jìn)行操控即可實(shí)現(xiàn)對水果的采摘。在控制系統(tǒng)處于通電狀態(tài)時,該程序可自動對按鍵的狀態(tài)進(jìn)行判斷,按鍵處于啟動狀態(tài)時,系統(tǒng)將自動運(yùn)行視覺識別功能。自動采摘與手動采摘程序如圖3所示[9]。
圖3 自動采摘與手動采摘程序Fig.3 Procedures of automatic picking and manual picking
該程序可根據(jù)用戶的需求,對采摘水果的區(qū)域進(jìn)行設(shè)定,采摘區(qū)域設(shè)定完畢后,機(jī)器人可啟動視覺識別系統(tǒng)對成熟水果進(jìn)行顏色識別,判斷該水果為成熟狀態(tài)時,利用機(jī)械臂的環(huán)形剪刀,將水果與果柄分離,以此實(shí)現(xiàn)對成熟水果的采摘,并對采摘完成的水果進(jìn)行計(jì)數(shù)。采摘區(qū)域設(shè)定程序:用戶通過區(qū)域設(shè)定界面對采摘區(qū)域進(jìn)行確定,機(jī)器人可根據(jù)設(shè)定區(qū)域?qū)Σ烧獏^(qū)域的坐標(biāo)進(jìn)行記錄,對該區(qū)域內(nèi)全部符合條件的水果進(jìn)行采摘。
為驗(yàn)證水果采摘機(jī)器人控制系統(tǒng)的精準(zhǔn)性,對該系統(tǒng)進(jìn)行制作樣機(jī),其機(jī)械臂處于未展開狀態(tài)下的整體尺寸為500 mm×400 mm×1 200 mm。整體樣機(jī)如圖4所示。
圖4 智能水果采摘機(jī)器人樣機(jī)Fig.4 Prototype of intelligent fruit picking robot
試驗(yàn)流程:利用機(jī)器人的攝像頭對水果進(jìn)行掃描,通過該攝像頭的Open MV圖像處理功能對成熟水果進(jìn)行識別,即可獲取水果的實(shí)際坐標(biāo)位置,為實(shí)現(xiàn)對水果的精準(zhǔn)采摘,可將位置信息傳遞至STM32單片機(jī),通過單片機(jī)向機(jī)器人的中央控制器發(fā)送指令,使機(jī)器人到達(dá)指定位置,并驅(qū)動控制系統(tǒng)的末端執(zhí)行器,完成對水果的采摘。水果與果柄分離后,可順著采摘管道進(jìn)入箱體。通過對試驗(yàn)結(jié)果進(jìn)行分析可知,該系統(tǒng)可將識別、采摘功能一體化發(fā)展,實(shí)現(xiàn)全自動化采摘,該機(jī)器人識別1次的平均時間為2.7 s,采摘1次平均時間為5.4 s,平均每次采摘的數(shù)量為1~2個,采摘的最大高度為1.85 m,具有一定可行性[10]。水果采摘機(jī)器人控制系統(tǒng)試驗(yàn)結(jié)果統(tǒng)計(jì)如表1所示。
表1 水果采摘機(jī)器人控制系統(tǒng)試驗(yàn)結(jié)果統(tǒng)計(jì)Tab.1 Statistics of test results of fruit picking robot control system
為實(shí)現(xiàn)水果采摘機(jī)器人控制系統(tǒng)功能一體化,充分結(jié)合水果采摘機(jī)器人的結(jié)構(gòu)特點(diǎn),采用模塊化的方式對控制系統(tǒng)進(jìn)行設(shè)計(jì),以此保證該系統(tǒng)可對處于不同角度及高度的水果進(jìn)行采摘。利用試驗(yàn)驗(yàn)證的方式對水果采摘機(jī)器人的可行性進(jìn)行判斷,其結(jié)果表明,該機(jī)器人具有開發(fā)成本較低、工作性能穩(wěn)定等特點(diǎn),并且該系統(tǒng)可將識別、采摘功能一體化發(fā)展,實(shí)現(xiàn)全自動化采摘,但是對質(zhì)地較軟的水果存在機(jī)械損傷的風(fēng)險。在未來發(fā)展中,應(yīng)加強(qiáng)對機(jī)器人手部的設(shè)計(jì),使其具有更高的使用價值。