葉杰民,張麗珍,吳 迪,劉單寒,魯興益,王 萍
(1上海海洋大學(xué)工程學(xué)院,上海 201306;2上海海洋可再生能源工程技術(shù)研究中心,上海 201306)
中國(guó)自20世紀(jì)80年代開(kāi)始池塘養(yǎng)殖南美白對(duì)蝦,人們已對(duì)其生活習(xí)性進(jìn)行了持續(xù)深入探索和研究。南美白對(duì)蝦生活與覓食主要分布在池塘靠近堤岸附近區(qū)域[1-5]。根據(jù)這一特性,傳統(tǒng)的人工投喂方式是把飼料投喂在蝦塘四周的“食道”區(qū)域上,以獲得較好的養(yǎng)殖效果[6-8],但人工投飼難以將飼料均勻拋撒到蝦塘“食道”上。
為了提高蝦類養(yǎng)殖的自動(dòng)化水平,實(shí)現(xiàn)飼料沿著“食道”的均勻投放,學(xué)者們結(jié)合蝦塘的實(shí)際情況,開(kāi)展了投飼船的研究。唐榮等[9]設(shè)計(jì)了一種采用蓄電池的電動(dòng)投飼船及測(cè)控系統(tǒng),能夠控制投飼船在蝦塘投飼;馬迪紅[10]設(shè)計(jì)了使用雙體船為移動(dòng)載體的投飼系統(tǒng),可以調(diào)控蝦塘投飼量大??;程文平[11]也采用雙體船為載體,設(shè)計(jì)了一套基于北斗自主導(dǎo)航的投飼裝置;王琢等[12]設(shè)計(jì)了載人式投飼船的推進(jìn)系統(tǒng),其投喂方式還是以人工投喂為主;Ruan等[13]研制了一款多功能可用于蝦塘的自動(dòng)投飼船,設(shè)計(jì)了一種新的導(dǎo)航方法;洪揚(yáng)等[14]設(shè)計(jì)制作了一種用于大中型蟹、蝦塘養(yǎng)殖池塘的移動(dòng)投飼裝置,可以較為精準(zhǔn)地調(diào)節(jié)投飼速度;胡慶松等[15]設(shè)計(jì)了基于明輪驅(qū)動(dòng)的蝦塘投飼船,速度限定在3個(gè)檔位;胡慶松等[16]還設(shè)計(jì)了一種投飼船載專用振動(dòng)式平衡下料系統(tǒng)。但是目前這些投飼船的投飼速率都沒(méi)有與船速相關(guān)聯(lián),在船速受到風(fēng)等環(huán)境因素的影響時(shí),會(huì)造成飼料在“食道”上投喂不均勻。
為此,設(shè)計(jì)了一種能實(shí)現(xiàn)蝦塘投飼船均勻投飼的系統(tǒng),該系統(tǒng)能根據(jù)當(dāng)前的實(shí)際船速,實(shí)時(shí)調(diào)整投飼船上投飼機(jī)的投飼速率,使飼料能均勻分布在蝦塘的整個(gè)“食道”上,達(dá)到均勻投飼的目的。
投飼船載自適應(yīng)速度投飼系統(tǒng)是上海海洋大學(xué)自主研發(fā)的精準(zhǔn)投飼船的組成部分。如圖1所示,精準(zhǔn)投飼船由2個(gè)船體、料箱和投飼機(jī)構(gòu)組成。該系統(tǒng)主要針對(duì)的是長(zhǎng)三角地區(qū)面積為0.47 hm2左右,邊長(zhǎng)在30~100 m的養(yǎng)殖蝦塘[17-18],“食道”寬2~3 m,距離蝦塘岸邊3~4 m,如圖2所示。投飼時(shí),投飼船沿著“食道”行駛一周,投飼機(jī)構(gòu)將一次投飼量的飼料均勻投放在“食道”上,投飼船的行駛時(shí)間與投飼機(jī)構(gòu)投飼時(shí)間相等。由于“食道”周長(zhǎng)固定,行駛時(shí)間取決于投飼船的行駛速度。理論上某一區(qū)域的投飼量與投飼速率、行駛速度相關(guān),控制投飼速率與行駛速度實(shí)時(shí)匹配,使得每個(gè)區(qū)域投飼量相同。因此,以一定時(shí)間間隔檢測(cè)船速,根據(jù)此船速調(diào)整投飼速率是系統(tǒng)設(shè)計(jì)的關(guān)鍵。
圖1 精準(zhǔn)投飼船F(xiàn)ig.1 Precise feeding boat
圖2 蝦塘“食道”及UWB定位系統(tǒng)布局Fig.2 Layout of the feeding path and UWB positioningsystem in shrimp pond
投飼船載自適應(yīng)速度投飼系統(tǒng)由投飼機(jī)構(gòu)、船速的獲取和自適應(yīng)速度投飼控制系統(tǒng)3部分組成。投飼機(jī)構(gòu)根據(jù)與船速對(duì)應(yīng)的投飼速率,通過(guò)由舵機(jī)驅(qū)動(dòng)的搖桿滑塊機(jī)構(gòu)來(lái)控制投料口的開(kāi)度,實(shí)現(xiàn)對(duì)投飼速率的控制。船速的獲取部分先通過(guò)UWB定位系統(tǒng),根據(jù)設(shè)定的時(shí)間間隔,將檢測(cè)到的船體位置信息輸入到STM32單片機(jī)控制系統(tǒng)中,再根據(jù)速度解算程序解算出實(shí)時(shí)的船速。自適應(yīng)速度投飼控制系統(tǒng)分為兩部分,一是用于計(jì)算參數(shù)和控制舵機(jī)的單片機(jī),二是輸入和顯示有關(guān)參數(shù)的上位機(jī)。
在上位機(jī)中輸入一次投飼量Q、食道周長(zhǎng)L和間隔時(shí)間T,由單片機(jī)計(jì)算出舵機(jī)需要轉(zhuǎn)動(dòng)的角度,控制系統(tǒng)控制舵機(jī)轉(zhuǎn)動(dòng)該角度,帶動(dòng)投料口打開(kāi)到對(duì)應(yīng)的開(kāi)度。同時(shí)單片機(jī)將投飼船的位置坐標(biāo)、實(shí)時(shí)速度與投料口開(kāi)度傳輸?shù)缴衔粰C(jī)中顯示出來(lái)。
投飼機(jī)構(gòu)安裝在料箱的出料口處(圖1),其結(jié)構(gòu)見(jiàn)圖3,圖3中S代表投料口的開(kāi)度。投飼機(jī)采用振動(dòng)下料,通過(guò)振動(dòng)電機(jī)的振動(dòng)保證飼料從投料口均勻出料。搖桿與舵機(jī)盤相連,滑塊與出料門固定連接。投飼機(jī)構(gòu)通過(guò)搖桿滑塊機(jī)構(gòu)將舵機(jī)的旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)化為滑塊的直線運(yùn)動(dòng),從而控制出料門的左右移動(dòng),控制投料口開(kāi)度大小。
圖3 投飼機(jī)構(gòu)結(jié)構(gòu)圖Fig.3 Structure drawing of the feeding mechanism
選用的是型號(hào)為MG996R的金屬銅齒輪舵機(jī)[19],工作電壓3.0~7.2 V,工作扭矩13 kg·cm,轉(zhuǎn)速在無(wú)負(fù)載且電壓為4.8 V時(shí)速度為0.98 rad/s,舵機(jī)的控制需要一個(gè)20 ms左右的時(shí)基脈沖,其角度控制的脈沖寬度范圍為0.5~2.5 ms,總間隔為2 ms,量程為180°。對(duì)應(yīng)的控制關(guān)系為:0.5~2.5 ms脈沖對(duì)應(yīng)舵機(jī)轉(zhuǎn)角0°~180°,由此可以得到脈沖寬度和轉(zhuǎn)動(dòng)角度之間的關(guān)系為:
(1)
式中:y為脈沖寬度,ms ;β為轉(zhuǎn)動(dòng)角度,(°)。根據(jù)式(1)可以通過(guò)控制輸出的脈沖寬度來(lái)控制舵機(jī)的轉(zhuǎn)角。
由于投料口的開(kāi)度是舵機(jī)控制的,所以需要確定舵機(jī)轉(zhuǎn)角與投料口開(kāi)度之間的關(guān)系。投飼機(jī)構(gòu)的機(jī)構(gòu)簡(jiǎn)圖如圖4所示。
圖4 投飼機(jī)構(gòu)結(jié)構(gòu)簡(jiǎn)圖Fig.4 Structure sketch of the feeding mechanism
(2)
再根據(jù)二角和差公式sin(β+γ)=sinβcosγ+cosβsinγ,可以得到:
(3)
式中:γ=60°,a=S,b的長(zhǎng)度為C點(diǎn)到A點(diǎn)的距離,等于0.03 m,代入式(3),經(jīng)整理得到轉(zhuǎn)動(dòng)角度β和開(kāi)度S的關(guān)系為:
(4)
式中:S為投料口開(kāi)度,m;β為搖桿的轉(zhuǎn)動(dòng)角度,(°)。
采用UWB定位技術(shù)[20-22]來(lái)獲取投飼船的位置信息。選用型號(hào)為D-DWM-PG2.5評(píng)估板,采用TOA/TDOA (Time/Time Difference of Arrival,到達(dá)時(shí)間)估計(jì)方法[23-25]中的DS-TWR(Double-sided Two-way Ranging,雙邊雙向測(cè)距)法[26-28]來(lái)檢測(cè)船體的位置。使用UWB定位功能對(duì)投飼船進(jìn)行二維定位,需要3個(gè)安裝在蝦塘岸邊的基站(1個(gè)主基站A,2個(gè)副基站B、C)和1個(gè)放置在投飼船上的定位標(biāo)簽,如圖2所示。將A基站作為坐標(biāo)原點(diǎn)(0,0),B、C基站分別為X,Y軸上的一點(diǎn),根據(jù)定位標(biāo)簽與3個(gè)基站之間距離解算出當(dāng)前標(biāo)簽(即船)的x、y坐標(biāo)。
定位標(biāo)簽的輸入輸出端與STM32單片機(jī)相連,在UWB定位系統(tǒng)工作時(shí),定位標(biāo)簽將位置信息以ASCII碼的格式,通過(guò)TTL自由協(xié)議端口傳輸?shù)絊TM32單片機(jī)。單片機(jī)根據(jù)ASCII碼表[29]中的對(duì)應(yīng)關(guān)系,對(duì)位置信息進(jìn)行提取,具體過(guò)程是通過(guò)識(shí)別一段輸出信息的前后特殊符號(hào)來(lái)獲取位置信息的ASCII碼,“0x58”對(duì)應(yīng)的是“:” “0x0d”對(duì)應(yīng)的是CR,也就是回車鍵,將這兩段ASCII碼作為讀取本段時(shí)間的位置信息的起始和終止標(biāo)志。獲取到位置信息的ASCII碼后,將其轉(zhuǎn)換成十進(jìn)制信息:先從符號(hào)開(kāi)始,首先判斷位置信號(hào)中是否帶有負(fù)號(hào),其次再?gòu)淖罡呶灰来伍_(kāi)始處理,逐個(gè)十進(jìn)制位進(jìn)行累加得到真實(shí)的位置數(shù)據(jù)。
假定船一直沿著食道行走,在轉(zhuǎn)彎處船體會(huì)停在轉(zhuǎn)彎點(diǎn)調(diào)整方向,直到船體轉(zhuǎn)到下一段食道方向再繼續(xù)前進(jìn)。根據(jù)獲取到的某一時(shí)間間隔首末時(shí)間點(diǎn)投飼船的位置信息,計(jì)算該段時(shí)間內(nèi)的平均船速,即實(shí)時(shí)船速V1:
(5)
式中:T為設(shè)定的間隔時(shí)間,s;(x1,y1)為起始點(diǎn)的船體坐標(biāo),m;(x2,y2) 為結(jié)束時(shí)的船體坐標(biāo),m。
在船體到達(dá)轉(zhuǎn)彎處時(shí),船體處于靜止?fàn)顟B(tài),系統(tǒng)停止對(duì)速度獲取。等到船體轉(zhuǎn)彎結(jié)束開(kāi)始直線運(yùn)動(dòng)時(shí),系統(tǒng)重新開(kāi)始對(duì)船速獲取。
要獲得實(shí)時(shí)船速與舵機(jī)轉(zhuǎn)角之間的關(guān)系,需要先通過(guò)投飼速率和投料口開(kāi)度之間的關(guān)系,得到投料口開(kāi)度和船速之間的關(guān)系。
投飼速率與投料口開(kāi)度之間的關(guān)系是通過(guò)試驗(yàn)獲取的,試驗(yàn)記錄固定質(zhì)量的飼料通過(guò)不同投料口開(kāi)度所需時(shí)間,根據(jù)試驗(yàn)數(shù)據(jù),通過(guò)雙移速方差分析得投料口開(kāi)度與投飼速率之間的關(guān)系:
V2=ηs
(6)
式中:s為投料口開(kāi)度,m;V2為投飼速率,kg/s;η為試驗(yàn)得到的關(guān)系系數(shù),kg/(s·m)。通過(guò)試驗(yàn)統(tǒng)計(jì),得到η=10 kg/(s·m)。
(7)
式中:L為食道周長(zhǎng),m;Q為一次投飼量,kg。Q為投飼前的已知值,將式(6)代入式(7),得到投料口開(kāi)度與船速的關(guān)系:
(8)
由于投料口的開(kāi)度是通過(guò)舵機(jī)旋轉(zhuǎn)實(shí)現(xiàn)的,所以需要建立船速與舵機(jī)轉(zhuǎn)角之間的關(guān)系,將式(4)代入式(8),可以得到船速V1與舵機(jī)轉(zhuǎn)角β之間的關(guān)系:
(9)
此式可以根據(jù)實(shí)時(shí)船速V1計(jì)算出舵機(jī)轉(zhuǎn)角β,控制系統(tǒng)通過(guò)式(1)關(guān)系控制搖桿旋轉(zhuǎn)角度,及時(shí)調(diào)整投料口開(kāi)度,改變投飼速率。
自適應(yīng)速度投飼控制系統(tǒng)的硬件主要包括STM32單片機(jī)、PC上位機(jī)和2個(gè)通訊模塊。
通訊方式選擇的是LoRa通訊協(xié)議模塊[30],選用的型號(hào)為上海卓嵐ZLAN9743,工作電壓為DC9~24 V。將LoRa模塊通過(guò)專屬的軟件,將其參數(shù)設(shè)置完成后,通過(guò)RS232串口,一個(gè)LoRa模塊與投飼船上的STM32單片機(jī)連接,另一個(gè)與上位機(jī)建立通訊。單片機(jī)選用型號(hào)為STM32F103ZET6,具有較強(qiáng)的運(yùn)算能力以及足夠快的運(yùn)算速度,能滿足控制系統(tǒng)響應(yīng)速度快的要求。
自適應(yīng)速度投飼控制系統(tǒng)的軟件主要由單片機(jī)軟件和上位機(jī)軟件組成。
其中單片機(jī)軟件在Keil uvision5 集成開(kāi)發(fā)環(huán)境中,用 C 語(yǔ)言編寫,主要有船速計(jì)算程序和舵機(jī)控制程序。船速計(jì)算程序接收UWB定位系統(tǒng)傳輸過(guò)來(lái)的位置信息,通過(guò)LoRa模塊獲取的間隔時(shí)間T,根據(jù)式(5)計(jì)算出間隔時(shí)間內(nèi)的平均船速V1。舵機(jī)控制程序獲取上位機(jī)輸入的Q和L后,根據(jù)式(9)和式(1)計(jì)算得出對(duì)應(yīng)船速V1的舵機(jī)轉(zhuǎn)動(dòng)角度β和需要的脈沖寬度。將脈沖寬度傳給舵機(jī),實(shí)現(xiàn)舵機(jī)的控制。
上位機(jī)的功能是方便參數(shù)輸入和修改,以及顯示輸出參數(shù)。系統(tǒng)的輸入量為一次投料量Q、食道周長(zhǎng)(投飼船路程)L和間隔時(shí)間T。輸出量為投飼船的位置坐標(biāo)和、速度和投料口開(kāi)度大小。
為了檢驗(yàn)自適應(yīng)速度投飼系統(tǒng)的正確性,需要進(jìn)行船速獲取精度試驗(yàn)和投飼機(jī)構(gòu)投料口開(kāi)度試驗(yàn)。
由于水面試驗(yàn)會(huì)受到風(fēng)浪流的影響,船速無(wú)法精準(zhǔn)控制,也無(wú)法保持直線行駛。為了便于控制速度、觀察投餌情況和記錄數(shù)據(jù),用小車代替投飼船體,將控制板卡和投飼機(jī)構(gòu)放在小車上在陸地進(jìn)行模擬試驗(yàn)。因?yàn)橹恍枰涗洸煌傧峦读峡诘拈_(kāi)度,所以試驗(yàn)時(shí)投飼機(jī)部分只保留投飼機(jī)構(gòu),在投料口的側(cè)面標(biāo)記標(biāo)尺,在標(biāo)尺上端固定攝像機(jī)(手機(jī)),記錄試驗(yàn)中投料口開(kāi)度情況。搭載精準(zhǔn)投喂控制系統(tǒng)的可變速小車如圖5所示。
圖5 搭載精準(zhǔn)投喂控制系統(tǒng)的可變速小車Fig.5 Variable speed car equipped with precise feeding control system
試驗(yàn)在50 m × 50 m的空曠場(chǎng)地進(jìn)行,在場(chǎng)地的3個(gè)角落分別放置UWB定位系統(tǒng)的3個(gè)基站,如圖6所示。
圖6 試驗(yàn)場(chǎng)景圖Fig.6 Experimentscene diagram
行程L設(shè)定為200 m,投飼量Q設(shè)置為20 kg,船速計(jì)算的時(shí)間間隔設(shè)定為10 s??刂菩≤囈?.5 m/s、1 m/s、1.5 m/s和2 m/s 4種速度分別勻速行駛100 s,小車試驗(yàn)示意圖如圖7所示。
圖7 試驗(yàn)示意圖Fig.7 Test diagram
在行駛過(guò)程中,控制系統(tǒng)把計(jì)算獲得的小車行駛速度值保存到文件,并傳輸?shù)缴衔粰C(jī)上顯示,手機(jī)拍攝帶有刻度標(biāo)尺的投料口的變化情況,以視頻文件保存。文件中記錄的小車行駛速度結(jié)果如表1。
表1 不同給定小車速度下獲取的小車速度值Tab.1 Speed values of the small vehicle obtained atdifferent given speeds
由表1可知,通過(guò)UWB定位系統(tǒng)獲取的速度與實(shí)際速度的誤差在2%以內(nèi)。
在上位機(jī)中顯示的投料口開(kāi)度是根據(jù)式(8)解算的計(jì)算值,可能與實(shí)際值有誤差,因此通過(guò)手機(jī)拍攝的視頻來(lái)觀測(cè)在不同給定小車速度時(shí)投料門在標(biāo)尺上的位置。標(biāo)尺的最小單位為mm,若觀測(cè)結(jié)果在標(biāo)尺刻度上,記為整數(shù)值;在刻度之間,記0.5 mm。通過(guò)拍攝的視頻得到的投料口開(kāi)度如表2所示。
表2 不同給定小車速度下得到的投料口開(kāi)度Tab.2 The feeding port opening obtained at different givenboat speeds
表2中的第1行值是根據(jù)式(9)計(jì)算出的對(duì)應(yīng)不同給定速度的投料口理論開(kāi)度。
由表2可知,投料口開(kāi)度的誤差在2.5%以內(nèi),即投飼速度的最大誤差為2.5%。在測(cè)試中,記錄到投料口變化響應(yīng)時(shí)間在0.7 s以內(nèi)。
以上表明該自適應(yīng)速度投飼系統(tǒng)能滿足均勻投飼的實(shí)際需求。
設(shè)計(jì)了一種蝦塘投飼船載自適應(yīng)速度投飼系統(tǒng),該投飼系統(tǒng)通過(guò)UWB定位技術(shù)計(jì)算出精確的實(shí)時(shí)行駛速度,通過(guò)設(shè)計(jì)的搖桿滑塊機(jī)構(gòu)實(shí)現(xiàn)對(duì)投飼速率的控制,通過(guò)控制系統(tǒng)實(shí)現(xiàn)投飼速率自動(dòng)與船速相適應(yīng),使飼料均勻投放在蝦塘“食道”上。試驗(yàn)表明,在船速0.5~2 m/s的工作情況下,該自適應(yīng)速度投飼系統(tǒng)投飼速率誤差在2.5%以內(nèi),可以滿足使用要求。與人工投喂和現(xiàn)有的移動(dòng)投飼船相比,該投飼系統(tǒng)能根據(jù)實(shí)時(shí)船速調(diào)整相應(yīng)的投飼速率,實(shí)現(xiàn)均勻投喂,從而減少飼料的浪費(fèi)。為了方便觀測(cè)和獲取試驗(yàn)數(shù)據(jù),本研究只進(jìn)行了陸地試驗(yàn)。在實(shí)際水上行駛過(guò)程中,船體的振動(dòng)、水面風(fēng)浪等因素會(huì)對(duì)開(kāi)度實(shí)際大小產(chǎn)生影響,影響投飼的均勻性。為了更加適應(yīng)實(shí)際情況,使飼料的投喂精準(zhǔn)均勻,后期應(yīng)設(shè)計(jì)投料口開(kāi)度的反饋系統(tǒng),根據(jù)反饋信息自動(dòng)修正開(kāi)度大小,這是下一步應(yīng)研究的內(nèi)容。
□