胡勇兵,黃 達(dá),李金剛
(中國水產(chǎn)科學(xué)研究院漁業(yè)機械儀器研究所,上海 200092)
中國是世界第一水產(chǎn)養(yǎng)殖大國,陸基工廠化養(yǎng)殖作為工業(yè)化程度最高的一種先進(jìn)養(yǎng)殖模式,雖在國內(nèi)起步較晚,但無論是技術(shù)還是在產(chǎn)業(yè)應(yīng)用上均取得了長足進(jìn)步[1]。工廠化養(yǎng)殖魚池規(guī)格大小一般有邊長3.75 m 的方切角池或直徑6 m的圓形池,采用易清洗的玻璃鋼材料。魚池清洗工作主要在三個時間節(jié)點:養(yǎng)魚前、分池倒池階段和養(yǎng)魚結(jié)束?,F(xiàn)階段傳統(tǒng)的清洗方式是養(yǎng)殖員工手持板刷清刷或者高壓水槍沖洗,勞動強度大,效率低。因此,開發(fā)一種滿足于水產(chǎn)養(yǎng)殖過程中進(jìn)行自動清洗池底的智能化裝備[2-4],對于提高工廠化養(yǎng)殖效率,提升系統(tǒng)自動化和智能化水平具有現(xiàn)實意義。
目前,國內(nèi)外針對魚池的清洗設(shè)備還沒有相關(guān)研究,但是地面清刷裝備取得不錯的研究進(jìn)展,已有相關(guān)產(chǎn)品投入實際使用。歐美日韓等發(fā)達(dá)國家的電器制造商抓住了傳統(tǒng)機械和控制感應(yīng)單元結(jié)合的潮流,推出了一系列智能清潔機器人[5-6]。美國的iRobot 公司推出了Roomba 系列機器人,配備多種傳感器探測環(huán)境,瑞典伊萊克斯公司的三葉蟲是最早使用超聲波導(dǎo)航技術(shù)的智能吸塵器,這兩款都采用隨機碰撞的方式來進(jìn)行路徑規(guī)劃[7]。英國Dyson公司研發(fā)了DC06 清潔機器人[8],以內(nèi)螺旋方式清掃,能夠自主避開障礙物。浙江大學(xué)等高校[9-10]最早研制智能清潔機器人,通過超聲波傳感器對環(huán)境進(jìn)行學(xué)習(xí),采用隨機清掃和局部覆蓋的清掃方式。國內(nèi)市場主要品牌有KV8 和科沃斯系列[11],主要以紅外線障礙感應(yīng)系統(tǒng)為基礎(chǔ)的隨機碰撞尋路系統(tǒng),清掃模式有區(qū)域螺旋清掃模式和直線S型行走模式。
筆者根據(jù)以上背景和國內(nèi)外水下清洗裝備發(fā)展現(xiàn)狀的分析,結(jié)合工廠化養(yǎng)殖模式設(shè)計了基于STM32 的魚池清刷機器人,該機器人通過STM32控制器、傳感器、電機和電源等模塊來實現(xiàn)自主清掃任務(wù)。目前樣機進(jìn)行了魚池工況作業(yè),能夠?qū)崿F(xiàn)速度調(diào)節(jié)和避障轉(zhuǎn)彎,在路徑規(guī)劃方面采用內(nèi)螺旋路徑算法完成了全覆蓋清掃實驗。
魚池清刷機器人總體設(shè)計分為機械結(jié)構(gòu)設(shè)計、控制系統(tǒng)硬件設(shè)計和軟件設(shè)計。結(jié)構(gòu)設(shè)計包括機器人本體、行走機構(gòu)、清掃機構(gòu)、密封艙等結(jié)構(gòu)??刂葡到y(tǒng)硬件設(shè)計采用模塊化思想,以STM32 單片機為主控模塊,電源模塊為整個系統(tǒng)提供能源,電機驅(qū)動模塊執(zhí)行動作,傳感器模塊采集數(shù)據(jù)信息,通信模塊實現(xiàn)信息交互??刂葡到y(tǒng)軟件設(shè)計主要是驅(qū)動程序設(shè)計、路徑規(guī)劃算法及上位機軟件的操作。魚池清刷機器人控制部分設(shè)計流程如圖1所示。
圖1 機器人控制部分設(shè)計流程圖Fig.1 design flow chart of robot control part
根據(jù)室內(nèi)工廠化養(yǎng)殖車間的技術(shù)規(guī)程,結(jié)合養(yǎng)殖魚池的工作環(huán)境,確定設(shè)計應(yīng)滿足的主要技術(shù)指標(biāo)如表1所示。
表1 主要技術(shù)指標(biāo)Tab.1 Main technical indicators
魚池清刷機器人主要包括機器人車體、履帶行走機構(gòu)、清洗刷以及電子艙等??紤]到水下工作環(huán)境以及配合其它零件的安裝專門設(shè)計了鋁合金制車體,履帶和清洗刷都由直流電機控制,電子艙安裝在車體上方,用來放置電源、控制器等電子元器件。魚池清刷機器人車體平穩(wěn)安裝,各零件水密封等級達(dá)到設(shè)計要求。
控制器模塊是整個系統(tǒng)的決策中心,接收各類傳感器采集的數(shù)據(jù)信息,經(jīng)過計算處理后向各模塊發(fā)送信息指令,從而控制機器人完成清掃任務(wù)。考慮到路徑規(guī)劃算法的復(fù)雜性及運算速度問題,本系統(tǒng)采用STM32F103 微控制器,與相關(guān)外圍電路組成主控模塊。該控制器是基于ARM架構(gòu)的32位Cortex-M3內(nèi)核,主頻為72 MHz,外設(shè)接口豐富,穩(wěn)定性高,可以精確與其他模塊進(jìn)行通信,配合PWM 技術(shù)、路徑規(guī)劃算法保證機器人在運動過程中的智能可控性和良好的清掃效果。
電源模塊為整個系統(tǒng)提供能源,保障電機、傳感器、控制器等模塊正常工作。本次設(shè)計選用額定電壓為12 V,容量為12 000 mAh 的鋰電池組,由于清掃機構(gòu)的電機耗能較大,直接由電源供電,驅(qū)動電路和傳感器采用5 V 直流供電,主控制器采用3.3 V 供電。在直流電機上加入LM2577 自動升降壓模塊及LM2596 穩(wěn)壓模塊,保證所有模塊供電正常。
超聲波測距原理[12]是傳感器發(fā)射超聲波時開始計時,碰到障礙物立即返回,接收器收到信號停止計時,測距流程如圖2所示。超聲波在空氣中的傳播速度為V,計時器收發(fā)信號時間差為T,通過公式S=V*T 計算出發(fā)射點到障礙物的距離。機器人在清掃過程中避障轉(zhuǎn)彎、路徑選擇都需要傳感器采集的數(shù)據(jù)來判斷調(diào)整。本次設(shè)計采用HC-SR04超聲波模塊,包括超聲波發(fā)射器、接收器與控制電路,可提供2 cm~400 cm 的非接觸式距離感測功能,測距精度可達(dá)到3 mm,符合設(shè)計要求。
圖2 超聲波測距流程圖Fig.2 Ultrasonic ranging flow chart
魚池清刷機器人軟件系統(tǒng)設(shè)計分為控制程序設(shè)計和上位機軟件兩部分。
本方案中機器人控制程序包括驅(qū)動避障程序和路徑規(guī)劃算法程序。電機驅(qū)動程序控制機器人的動作,傳感器采集數(shù)據(jù)協(xié)助機器人避障轉(zhuǎn)彎,算法程序負(fù)責(zé)機器人路徑優(yōu)化。清掃任務(wù)的主程序流程圖如圖3所示。
圖3 內(nèi)螺旋清掃流程圖Fig.3 Internal spiral cleaning flow chart
3.1.1 驅(qū)動避障程序
機器人上電后,STM32 控制器初始化各模塊,控制電機按照超聲波識別的數(shù)據(jù)經(jīng)過計算處理后,開始巡線運動,當(dāng)傳感器發(fā)出提醒信號時,機器人執(zhí)行避障轉(zhuǎn)彎,恢復(fù)巡線運動。在此運動過程中,魚池機器人需要具備轉(zhuǎn)向和調(diào)速的功能,同時能夠提前感知池壁的位置,實現(xiàn)避障轉(zhuǎn)彎。直流電機的轉(zhuǎn)速與PWM 的周期和占空比有關(guān),因此,本文使用STM32 控制器的定時器產(chǎn)生脈沖信號調(diào)節(jié)電機速度,利用左右輪速度差實現(xiàn)轉(zhuǎn)向,PWM 信號配置如圖4 所示。同時機器人采用超聲波測距避障,傳感器采集環(huán)境信息,通過收發(fā)信號確定時間差來測距,實現(xiàn)避障功能。
圖4 PWM 信號配置Fig.4 PWM signal configurationt
3.1.2 路徑規(guī)劃算法
路徑規(guī)劃是基于感知的工作環(huán)境信息,按照一定的優(yōu)化指標(biāo),從起始點到目標(biāo)點的無碰撞路徑規(guī)劃[13]。本方案中的環(huán)境信息已知,去實現(xiàn)機器人行走路徑的最大覆蓋率和最小重復(fù)率。在理想狀態(tài)下,已知的環(huán)境信息只有池壁需要避障轉(zhuǎn)彎,因此,機器人可以采用內(nèi)螺旋“回”字型路徑執(zhí)行清刷任務(wù)。清刷機器人從魚池邊界處開始工作,采用沿邊學(xué)習(xí)的路徑算法,沿池壁運動一圈后向內(nèi)圈行走,循環(huán)向內(nèi)圈行進(jìn)并標(biāo)記所走過的路徑,直至全部清掃完畢自動返回起始點。
上位機軟件是用MATLAB 的GUI 界面編寫,主要用來控制機器人的動作和清掃作業(yè)的控制,與STM32 主控芯片實現(xiàn)數(shù)據(jù)共享,數(shù)據(jù)的傳輸由串口通信來實現(xiàn),能夠?qū)崟r顯示機器人運動狀態(tài)和進(jìn)行路徑規(guī)劃的仿真測試。上位機的用戶操作界面具有良好的人機交互性,操作簡單便捷,極大提高效率,降低硬件測試平臺開發(fā)的難度[14]。
為了驗證系統(tǒng)的功能和可靠性,在中國水產(chǎn)科學(xué)研究院漁業(yè)機械儀器研究所如東試驗基地的養(yǎng)殖車間里進(jìn)行樣機試驗,選擇長為3.75 m ×寬3.75 m的平底方形養(yǎng)殖魚池,池底清洗面積約為12.9m2。試驗樣機車體尺寸為長0.4 m× 寬 0.3 m × 高0.15 m,如圖5所示進(jìn)行池底清刷試驗。樣機測試在自動運行模式下,通過設(shè)置不同的起點,進(jìn)行6組清刷試驗,主要測試樣機是否達(dá)到技術(shù)指標(biāo)要求及其控制性能。
圖5 樣機實驗Fig.5 Prototype experiment
本次試驗主要是觀察機器人在池底的清刷效率,通過以下兩個因素進(jìn)行評價:覆蓋率和重復(fù)率。在樣機實際清掃過程中,由于速度調(diào)節(jié)、轉(zhuǎn)彎精度、清掃模式以及機械系統(tǒng)等存在誤差,會出現(xiàn)一些遺漏和重復(fù)的問題。在養(yǎng)殖車間的魚池環(huán)境中,通過6 組池底清刷試驗的數(shù)據(jù),如表2所示,測得機器人主要運動技術(shù)指標(biāo)如下:行走速度均值為11.15 m/min,工作時間約為15 min,清掃速度能達(dá)到1 m2/min。清刷機器人在魚池環(huán)境中覆蓋率能達(dá)到85%以上,重復(fù)率最高為8.89%,機器人的行走速度會影響清刷效率,但基本能夠達(dá)到所要求的清掃效果。魚池清刷機器人在清掃任務(wù)完成后可以自動返回初始位置,驗證了內(nèi)螺旋式路徑規(guī)劃方法是可行的。
表2 清刷試驗設(shè)計及結(jié)果Tab.2 brush test design and the result
本設(shè)計中的魚池清刷機器人選用STM32 單片機為主控制器,結(jié)合PWM信號調(diào)制和超聲波傳感器實現(xiàn)機器人驅(qū)動和避障,選用內(nèi)螺旋路徑規(guī)劃算法實現(xiàn)最大覆蓋率和最小重復(fù)率,達(dá)到最佳清刷效果,替代了人工操作,實現(xiàn)了自動化清掃。經(jīng)實驗證明,系統(tǒng)運行正常且滿足預(yù)期效果,在水產(chǎn)養(yǎng)殖中能夠?qū)崿F(xiàn)高效智能的清掃任務(wù),為工廠化養(yǎng)殖中的智能化清洗裝備提供有效參考,具有應(yīng)用前景?,F(xiàn)階段設(shè)計的魚池清刷機器人在已知環(huán)境信息中工作,未來打算向未知動態(tài)環(huán)境去展開研究。