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