,,,
(吉林大學(xué) 珠海學(xué)院,珠海 519041)
隨著人們對(duì)于觀賞性植物的需求日益增長(zhǎng),園林植物培育逐漸呈現(xiàn)蓬勃發(fā)展的姿態(tài),并逐步向著專(zhuān)業(yè)化、自動(dòng)化、智能化的方向發(fā)展[1]。傳統(tǒng)的培育方式依賴于人工作業(yè),極易由于培育人員的經(jīng)驗(yàn)不足或人為疏忽造成植物培育不當(dāng),且由于人工費(fèi)用的限制難以擴(kuò)大生產(chǎn)[1-2]。目前,機(jī)器人行業(yè)飛速發(fā)展,將機(jī)器人技術(shù)應(yīng)用至園林培育領(lǐng)域,可以避免上述弊端,達(dá)到園林培育的高標(biāo)準(zhǔn)化并提高產(chǎn)量,以促進(jìn)現(xiàn)代園林培育行業(yè)的進(jìn)一步發(fā)展。本文設(shè)計(jì)了一種基于STM32的智能輔助植物培育履帶式移動(dòng)機(jī)器人,以常見(jiàn)的花卉植物培育研究為例,自動(dòng)檢測(cè)植物培育關(guān)鍵參數(shù)并實(shí)時(shí)顯示,自動(dòng)噴灑澆灌用水和營(yíng)養(yǎng)液進(jìn)行科學(xué)培育。該機(jī)器人系統(tǒng)實(shí)現(xiàn)了智能輔助植物培育功能,為機(jī)器人技術(shù)應(yīng)用于園林培育行業(yè)提供了可行性技術(shù)方案。
本系統(tǒng)由STM32控制器、多軸機(jī)械臂、履帶式移動(dòng)底盤(pán)、多傳感器組及無(wú)線傳輸模塊等部分組成。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)選擇以Cortex-M3為內(nèi)核的STM32F1控制器作為主控制芯片,其具有外設(shè)資源多、浮點(diǎn)運(yùn)算快、運(yùn)算速度快、超快數(shù)據(jù)傳送、多定時(shí)器和通信接口等優(yōu)點(diǎn)[3-4]??刂破鞲鶕?jù)既定模式及無(wú)線傳輸模塊所發(fā)出的指令,輸出PWM波以控制電機(jī),實(shí)現(xiàn)移動(dòng)底盤(pán)在任意方向上的自由移動(dòng)。多傳感器組精確測(cè)量出目標(biāo)植物的各項(xiàng)植物培育關(guān)鍵參數(shù)并顯示,再將檢測(cè)數(shù)據(jù)傳送至STM32控制器,控制器根據(jù)數(shù)據(jù)發(fā)送指令驅(qū)動(dòng)機(jī)械臂作業(yè),進(jìn)行噴灑澆灌用水和營(yíng)養(yǎng)液。
機(jī)械臂是系統(tǒng)的主要執(zhí)行機(jī)構(gòu),通過(guò)對(duì)其舵機(jī)的控制實(shí)現(xiàn)機(jī)械臂的姿態(tài)及運(yùn)動(dòng)控制。本系統(tǒng)采用數(shù)字舵機(jī)MG995,相比傳統(tǒng)的模擬舵機(jī),數(shù)字舵機(jī)內(nèi)嵌MCU微控制器,反應(yīng)速度更快、無(wú)反應(yīng)區(qū)范圍小、定位精度高、抗干擾能力強(qiáng)[5]。機(jī)械臂末端載有土壤電導(dǎo)率傳感器和土壤濕度傳感器,通過(guò)驅(qū)動(dòng)機(jī)械臂插入至土壤,以達(dá)到測(cè)量植物土壤相關(guān)數(shù)據(jù)的功能。此外,在機(jī)械臂上固定軟水管,用于噴灑澆灌用水和營(yíng)養(yǎng)液。機(jī)器人進(jìn)行培育作業(yè)時(shí),首先移動(dòng)機(jī)械臂至目標(biāo)植物,檢測(cè)土壤數(shù)據(jù),以土壤濕度為例,當(dāng)檢測(cè)到植物土壤濕度低于設(shè)計(jì)最低閾值時(shí),控制器控制繼電器和水泵,噴出澆灌用水提高土壤濕度。
為輔助植物的科學(xué)生長(zhǎng),并隨時(shí)獲取植物的生長(zhǎng)狀態(tài),系統(tǒng)設(shè)計(jì)載有多傳感器組,包括土壤電導(dǎo)率傳感器、土壤濕度傳感器、光照傳感器、CO2傳感器、光電傳感器、空氣溫濕度傳感器、超聲波傳感器和紅外傳感器等。
以土壤電導(dǎo)率指標(biāo)為例分析,其目的是獲取植物的含鹽量參數(shù),是植物培育中的一項(xiàng)非常重要指標(biāo)。土壤浸出液中各種鹽類(lèi)一般以離子的形式存在,總鹽量也可以表示為土壤浸出液中各種陽(yáng)離子的量和各種陰離子的量之和,故可以通過(guò)測(cè)量土壤的電導(dǎo)率反映出植物混合鹽的含量。在實(shí)際檢測(cè)中,電導(dǎo)率與鹽分大致呈線性關(guān)系,以溫度25 ℃為基準(zhǔn),其比例關(guān)系為:
Ec=K·Sa(1)
其中,Ec為電導(dǎo)率(μs/cm),Sa為鹽度(mg/l),K為比例系數(shù)(s·m2/kg),取值范圍為0.055~0.075。
在其它溫度下,則需加以校正,即溫度每變化1 ℃,其含鹽量大約變化1.5~2%。在溫度高于25 ℃時(shí)用負(fù)值,溫度低于25 ℃時(shí)用正值,求鹽度公式如下:
(2)
其中ξ為校正系數(shù),ξ=k(25-T),k=1.5~2%。
據(jù)此可根據(jù)電導(dǎo)率估算鹽分。利用土壤電導(dǎo)率傳感器測(cè)量土壤電導(dǎo)率、溫度的換算關(guān)系如表1所列(電壓輸出范圍為0~2 V)。
表1 土壤電導(dǎo)率、溫度的換算關(guān)系表
本系統(tǒng)的無(wú)線通信鏈路如圖2所示,用于移動(dòng)機(jī)器人手動(dòng)模式作業(yè)下的遙控操作。采用PS2無(wú)線操作方式,其具有傳輸速度快、操作簡(jiǎn)單的優(yōu)點(diǎn)。通過(guò)操控PS2的控制鍵,發(fā)射指令到信號(hào)接收模塊,該接收模塊再與控制器相通信,以實(shí)現(xiàn)機(jī)器人的移動(dòng)、澆灌和檢測(cè)等功能。
圖2 無(wú)線通信鏈路
噴灌裝置位于機(jī)器人底板上,在機(jī)械臂上固定軟水管,用于噴灑澆灌用水和營(yíng)養(yǎng)液。通過(guò)控制舵機(jī)、繼電器和水泵實(shí)現(xiàn)噴灑功能。系統(tǒng)側(cè)位搭載了光電傳感器,在機(jī)器人移動(dòng)過(guò)程中,可以檢測(cè)到花盆位置并自動(dòng)停住進(jìn)行作業(yè)。此外,機(jī)器人上載有攝像頭和WiFi模塊,可以通過(guò)Android手機(jī)端APP實(shí)時(shí)觀測(cè)植物[6]。
本系統(tǒng)實(shí)現(xiàn)自動(dòng)和手動(dòng)兩種作業(yè)方式,系統(tǒng)工作流程如圖3所示。在自動(dòng)模式下,機(jī)器人按照預(yù)定的工作循跡自動(dòng)行駛,根據(jù)光電傳感器檢測(cè)的植物位置信息自動(dòng)前進(jìn)或停止,在工作點(diǎn)位置進(jìn)行植物生長(zhǎng)信息的自動(dòng)檢測(cè),并根據(jù)測(cè)量結(jié)果驅(qū)動(dòng)電機(jī)和機(jī)械臂上的舵機(jī),完成作業(yè)任務(wù)。當(dāng)機(jī)器人在起始點(diǎn)位置時(shí)候,啟動(dòng)自動(dòng)模式,向著工作點(diǎn)1位置行駛。到達(dá)工作點(diǎn)1位置時(shí),通過(guò)傳感器感應(yīng)到花盆的位置,機(jī)器人自動(dòng)停下,插入傳感器檢測(cè)并判斷是否需要噴灑水和營(yíng)養(yǎng)液,完成任務(wù)后往工作點(diǎn)2位置行駛,進(jìn)入下一個(gè)任務(wù)目標(biāo)繼續(xù)工作,依次循環(huán)。在手動(dòng)模式下,工作人員可以通過(guò)無(wú)線傳輸,將控制信號(hào)發(fā)送至機(jī)器人驅(qū)動(dòng)電機(jī)和舵機(jī),完成移動(dòng)機(jī)器人的運(yùn)動(dòng)狀態(tài)、檢測(cè)顯示及噴灌培育等作業(yè)操作。
圖3 工作流程示意圖
本系統(tǒng)采用履帶式移動(dòng)底盤(pán)方式實(shí)現(xiàn)機(jī)器人的移動(dòng),通過(guò)STM32輸出PWM波控制電機(jī)和舵機(jī)[7-8],調(diào)節(jié)左右兩個(gè)電機(jī)的正反轉(zhuǎn)帶動(dòng)履帶的轉(zhuǎn)動(dòng),以帶動(dòng)底盤(pán)移動(dòng)。在機(jī)械臂控制方面,通過(guò)對(duì)舵機(jī)的控制實(shí)現(xiàn)機(jī)械臂的姿態(tài)及運(yùn)動(dòng)控制。通常控制器直接輸出的電流較小,無(wú)法直接驅(qū)動(dòng)電機(jī)和舵機(jī),故采用電機(jī)驅(qū)動(dòng)模塊L298N以放大電流,加強(qiáng)單片機(jī)驅(qū)動(dòng)負(fù)載的能力,其優(yōu)點(diǎn)在于有過(guò)電流保護(hù)功能,當(dāng)出現(xiàn)電機(jī)卡死時(shí),可以保護(hù)電路和電機(jī)。
為提高數(shù)據(jù)獲取的準(zhǔn)確性,本系統(tǒng)采用兩種數(shù)字濾波算法:溫濕度數(shù)據(jù)采用限幅濾波法(程序判斷濾波法)、土壤電導(dǎo)率A/D轉(zhuǎn)換采用中位值濾波法[9]。其中,溫濕度數(shù)據(jù)采用限幅濾波法的基本思路是:確定兩次采樣允許的最大偏差值(設(shè)error_AD),每次檢測(cè)到新值時(shí)進(jìn)行判斷,如果本次值與上次值之差 value_new-value≤error_AD,則本次值有效,如果本次值與上次值之差value_new-value > error_AD,則本次值無(wú)效,放棄本次值,取上次值代替本次值。該算法的優(yōu)點(diǎn)是能有效克服因偶然因素引起的脈沖干擾。
土壤電導(dǎo)率檢測(cè)的中位值濾波法的基本思路是:連續(xù)采樣N_AD次(N_AD取奇數(shù)),將N_AD次采樣值按大小排列,取中間值為本次有效值。該算法的優(yōu)點(diǎn)是能有效克服因偶然因素引起的波動(dòng)干擾,對(duì)溫度、液位等變化緩慢的被測(cè)參數(shù)有良好的濾波效果。相應(yīng)程序設(shè)計(jì)如下:
#define N_AD 11
char filter(){
char value_buf[N_AD];
char count,i,j,temp;
for{count=0;count< N_AD;count++}
{value_buf[count]=get_ad();
delay();}
for(j=0;j for(i=0;i if(value_buf[i]>value_buf[i+1]){ temp=value_buf[i]; value_buf[i]=value_buf[i+1]; value_buf[i+1]=temp;}}} return value[(N_AD-1)/2]} 本系統(tǒng)的無(wú)線通信功能設(shè)計(jì)主要考慮通信控制端和STM32之間的通信鏈路[10],具體通信流程如圖4所示,STM32控制器和PS2控制端首先創(chuàng)建連接模式,然后控制器處于等待接收的狀態(tài),即等待控制端發(fā)出連接請(qǐng)求,在其接收到控制端的連接請(qǐng)求后,STM32響應(yīng)并與之連接,進(jìn)入數(shù)據(jù)接收模式并判斷接收請(qǐng)求的狀態(tài),之后進(jìn)行控制端發(fā)送數(shù)據(jù)和STM32接收數(shù)據(jù)之間的交互,根據(jù)控制數(shù)據(jù),由STM32執(zhí)行相應(yīng)的控制程序。 圖4 通信流程圖 根據(jù)上述設(shè)計(jì),實(shí)現(xiàn)智能輔助植物培育履帶式移動(dòng)機(jī)器人系統(tǒng)的實(shí)物如圖5所示,主要包括機(jī)械臂、控制器、履帶式底盤(pán)、無(wú)線模塊、攝像頭和多傳感器組等部分。 圖5 系統(tǒng)實(shí)物圖 實(shí)際作業(yè)情況如圖6所示。機(jī)器人移動(dòng)過(guò)程中,如檢測(cè)到花盆會(huì)自動(dòng)停下,圖6為機(jī)器人自動(dòng)檢測(cè)到目標(biāo)點(diǎn)1的花盆并停下檢測(cè),機(jī)械臂帶動(dòng)土壤濕度傳感器和土壤電導(dǎo)率傳感器插入土壤中以檢測(cè)相關(guān)數(shù)據(jù),當(dāng)實(shí)測(cè)值低于設(shè)定值時(shí),通過(guò)水泵和導(dǎo)管進(jìn)行噴灑用水或營(yíng)養(yǎng)液。該目標(biāo)點(diǎn)1的任務(wù)執(zhí)行完畢后,機(jī)器人收回機(jī)械臂,繼續(xù)行駛至下一目標(biāo)點(diǎn)2繼續(xù)作業(yè),并以此方式逐一完成全部目標(biāo)點(diǎn)作業(yè)。系統(tǒng)搭載攝像頭,通過(guò)Android手機(jī)端APP可以實(shí)時(shí)監(jiān)測(cè)機(jī)械臂工作過(guò)程,通過(guò)PS2控制端可以遠(yuǎn)距離人工控制機(jī)器人實(shí)施作業(yè)。通過(guò)系統(tǒng)實(shí)際測(cè)試及調(diào)整后,能夠完成上述園林培育作業(yè)任務(wù)要求。 圖6 實(shí)際作業(yè)情況圖3.2 無(wú)線通信設(shè)計(jì)
4 植物培育機(jī)器人系統(tǒng)實(shí)現(xiàn)
結(jié) 語(yǔ)