蔡書鑒,張 敏,陳志聰,康澤威
(廣東理工學(xué)院 電氣與電子工程學(xué)院,肇慶 526100)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人類與自然環(huán)境之間的矛盾愈發(fā)激烈,同時(shí)人們也意識(shí)到以往以損壞環(huán)境為代價(jià)來發(fā)展經(jīng)濟(jì)的發(fā)展模式是不可取的。 現(xiàn)如今,治理環(huán)境污染達(dá)到人與生態(tài)和諧共處成為我國(guó)的重要政策。 習(xí)近平總書記提出了“生態(tài)興則文明興,生態(tài)衰則文明衰”的論斷,指出“……我們應(yīng)堅(jiān)持人與自然共生共存的理念,像對(duì)待生命一樣對(duì)待生態(tài)環(huán)境……”[1-2]。 我國(guó)嚴(yán)峻的自然環(huán)境現(xiàn)狀和經(jīng)濟(jì)發(fā)展面臨的資源環(huán)境約束明顯增多都要求我國(guó)高度重視生態(tài)治理,才能實(shí)現(xiàn)社會(huì)的跨越式發(fā)展[3]。而現(xiàn)階段,我國(guó)的水生態(tài)環(huán)境破壞尤為嚴(yán)重,水泊是水生態(tài)環(huán)境中的一個(gè)重要組成部分,水泊污染的治理成為當(dāng)前急需解決的一個(gè)問題。 如圖1 所示,各河道、 濕地以及海灘附近時(shí)常堆積著許多垃圾,既不美觀,也對(duì)當(dāng)?shù)氐纳鷳B(tài)環(huán)境產(chǎn)生了嚴(yán)重的污染。為了保護(hù)生態(tài)環(huán)境而通常采用的人工清潔亦會(huì)對(duì)環(huán)境產(chǎn)生二次破壞,同時(shí),人工清潔的成本巨大并且還在不斷的增加。 隨著人工智能時(shí)代的到來,智能機(jī)器人出現(xiàn)在各行各業(yè)中,文中基于STM32RCT6單片機(jī)設(shè)計(jì)了水泊清潔機(jī)器人,該機(jī)器人能大大降低人工成本,并且還可以減少對(duì)環(huán)境的二次破壞程度。
圖1 生活中的水泊污染Fig.1 Water pollution in daily life
由于水泊機(jī)器人主要是在海灘、濕地等相對(duì)復(fù)雜的環(huán)境中作業(yè), 因此不采用集成化設(shè)計(jì)方案,以免一個(gè)原件損壞導(dǎo)致整個(gè)機(jī)器人報(bào)廢。 同時(shí)由于部分零件相對(duì)廉價(jià),部分零件相對(duì)昂貴,于是在設(shè)計(jì)中采取了電子積木模塊化搭建方式設(shè)計(jì),簡(jiǎn)化電路結(jié)構(gòu),使用PCB 將該機(jī)器人上的每一個(gè)模塊分開進(jìn)行設(shè)計(jì), 然后通過杜邦線連接組裝成一個(gè)硬件系統(tǒng)。 這樣設(shè)計(jì)的好處為人工操作簡(jiǎn)單,在機(jī)器人損壞時(shí),可以更簡(jiǎn)單地通過更換損壞的零件,從而達(dá)到維修機(jī)器人的目的,不用將整個(gè)機(jī)器人報(bào)廢[4]。
經(jīng)分析,該機(jī)器人主要由機(jī)器人底盤、垃圾清潔機(jī)械臂、中控板三部分組成。 機(jī)器人底盤采用的是履帶式的結(jié)構(gòu),該結(jié)構(gòu)使機(jī)器人在相對(duì)復(fù)雜的環(huán)境中也能夠行動(dòng)自如[5]。 同時(shí),在底盤的前、后方加上了水位傳感器,機(jī)器人在即將涉水的時(shí)候能夠通過檢測(cè),使本體遠(yuǎn)離水面,防止內(nèi)部的電路損壞。 清理垃圾機(jī)械臂由舵機(jī)、 激光傳感器、OpenMV 構(gòu)成,機(jī)械臂主要作用是通過多舵機(jī)協(xié)同, 抓取識(shí)別物體, 激光傳感器主要檢測(cè)機(jī)器人與物體的距離,以便于機(jī)械臂抓取物體,OpenMV 主要作用是識(shí)別眼前的物體,其主要組成如圖2 所示。
圖2 機(jī)器人主要組成圖Fig.2 Main composition of robot
由前文分析可知,該機(jī)器人設(shè)計(jì)中采用了電子積木模塊化搭建方式,具體模塊設(shè)計(jì)如下文所述。
主電路系統(tǒng)設(shè)計(jì)中,該機(jī)器人的核心處理器是STM32RCT6 單片機(jī),在主控板的上面集成有穩(wěn)壓電源用于控制機(jī)器人的電壓輸出, 使電壓輸出穩(wěn)定,從而達(dá)到整個(gè)系統(tǒng)的電壓穩(wěn)定, 不易于損壞系統(tǒng)。并且在其外圍安裝有多個(gè)按鍵,用于設(shè)置機(jī)器人的自主、遙控等功能模式。 同時(shí),在機(jī)器人的控制中搭配了藍(lán)牙模塊,可以實(shí)現(xiàn)機(jī)器人和手機(jī)、電腦等現(xiàn)代通信設(shè)備進(jìn)行命令和通訊交互,為方便查看參數(shù)數(shù)據(jù),在機(jī)器人上面設(shè)計(jì)一塊0.96 寸的OLED 顯示屏,可以顯示部分運(yùn)行信息。
避水系統(tǒng)主要是在履帶小車底盤的前后兩端添加了Water Sensor 水位傳感器, 通過單片機(jī)的ADC 端口PA1,PA5 檢測(cè)水位的高低。 當(dāng)小車行駛到有水的地方時(shí), 水位傳感器會(huì)檢測(cè)水位的高低,將模擬信號(hào)傳輸?shù)絾纹瑱C(jī)內(nèi)部的ADC,轉(zhuǎn)化成數(shù)字信號(hào)并進(jìn)行比較。 其一,如小車前面?zhèn)鞲衅鳈z測(cè)到的數(shù)值比后面檢測(cè)到的數(shù)值高, 則發(fā)出中斷指令,然后令小車向后運(yùn)動(dòng)一段距離, 并向左旋轉(zhuǎn)90°且再次在單片機(jī)內(nèi)部進(jìn)行比較,如此往復(fù)執(zhí)行;其二,如前面的傳感器檢測(cè)到的數(shù)值比后面檢測(cè)到的數(shù)值低,則發(fā)出中斷指令,然后令小車向前運(yùn)動(dòng)一段距離, 并向左旋轉(zhuǎn)90°且再次在單片機(jī)內(nèi)部進(jìn)行比較,如此往復(fù)執(zhí)行。 在以上2 種情況執(zhí)行中,直到前面和后面的水位傳感器的數(shù)值相同, 跳出中斷指令。 在這樣的設(shè)計(jì)下,使小車能夠在這種伴水環(huán)境中擁有一定的避水能力, 同時(shí)也不影響小車的行駛。 其簡(jiǎn)化電路如圖3 所示。
圖3 自動(dòng)避水系統(tǒng)簡(jiǎn)化電路圖Fig.3 Simplified circuit diagram of automatic water avoidance system
垃圾檢測(cè)系統(tǒng)的核心是OpenMV, 這是一種高性能、高性價(jià)比的智能視覺識(shí)別模塊,可以通過使用Python 語言進(jìn)行編程,從而達(dá)到較準(zhǔn)確的視覺識(shí)別功能[6]。 具體做法是通過在現(xiàn)實(shí)生活中遇到的一些常見的垃圾,將他們共同的特點(diǎn)如材質(zhì)、形狀、顏色等進(jìn)行分類歸納并總結(jié),將其轉(zhuǎn)化為相應(yīng)的編程語言,植入到OpenMV 的處理芯片中,使其在掃描到相應(yīng)的物體時(shí)能夠主動(dòng)發(fā)出運(yùn)行指令,由單片機(jī)串口進(jìn)行接收和反饋到核心處理器中[7],之后使得所有相應(yīng)的模塊在核心處理器的協(xié)調(diào)下完成相應(yīng)的工作,其簡(jiǎn)化電路如圖4 所示。
圖4 OpenMV 檢測(cè)電路鏈接圖Fig.4 OpenMV detection circuit link diagram
抓取系統(tǒng)是通過多個(gè)舵機(jī)的協(xié)調(diào)運(yùn)行以達(dá)到對(duì)物體的抓取,由單片機(jī)的運(yùn)算和處理來控制各個(gè)舵機(jī)旋轉(zhuǎn)不同的角度,使得機(jī)械臂實(shí)現(xiàn)多方位的轉(zhuǎn)動(dòng)[8]。 同時(shí),搭配ToF 激光測(cè)距模塊檢測(cè)機(jī)械臂與拾取物體的距離,可以精準(zhǔn)實(shí)現(xiàn)物體的抓取工作。 其工作原理是OpenMV 檢測(cè)到了垃圾時(shí),將相應(yīng)信息傳遞到單片機(jī)中,單片機(jī)接收到了該信息通過控制電機(jī),配合激光測(cè)距模塊檢測(cè)物體的距離,從而驅(qū)動(dòng)清潔機(jī)器人運(yùn)動(dòng)到物體旁, 之后機(jī)械臂開始工作,將物體抓取,然后放到機(jī)器人后背搭配的收集筐中,其簡(jiǎn)化電路如圖5 所示。
圖5 抓取控制電路接口圖Fig.5 Grab control circuit interface diagram
通過在主控板上面設(shè)置一個(gè)啟動(dòng)按鍵,按下該按鍵之后可以啟動(dòng)和運(yùn)行整個(gè)系統(tǒng), 同時(shí)OpenMV隨即啟動(dòng)。 此時(shí),終端設(shè)備如手機(jī)、電腦等會(huì)通過藍(lán)牙連接上機(jī)器人,如果是失誤啟動(dòng),則可以通過終端設(shè)備對(duì)其發(fā)出終止信號(hào)。 啟動(dòng)后電機(jī)向前運(yùn)動(dòng),在行駛的過程中檢測(cè)攝像機(jī)視線范圍內(nèi)是否有需要拾取的物品[9]。 設(shè)計(jì)中已經(jīng)事先將需要拾取的物品的具體形態(tài)、顏色等資料傳入了OpenMV 中,一旦檢測(cè)到有相應(yīng)的物品,會(huì)通過激光傳感器檢測(cè)機(jī)器人與物體之間的距離,然后啟動(dòng)電機(jī),將機(jī)器人移動(dòng)到機(jī)械臂的工作范圍內(nèi),通過機(jī)械臂上多個(gè)舵機(jī)的協(xié)調(diào)工作,將物體撿起,投入到機(jī)器人背后的收集筐中。 之后會(huì)再次檢測(cè)視線范圍內(nèi)是否還有相應(yīng)的物品,若沒有發(fā)現(xiàn)相應(yīng)的需要撿拾的物品,則說明該區(qū)域的相應(yīng)物品垃圾已經(jīng)清理完畢,就會(huì)返回判斷是否收到終端設(shè)備發(fā)出終止信號(hào),若沒有收到就會(huì)向終端設(shè)備發(fā)出請(qǐng)求終止的信號(hào),如果收到終止信號(hào),那么就會(huì)停止一切活動(dòng),說明此時(shí)整個(gè)環(huán)境中的相應(yīng)物品已經(jīng)清理完成。
在整個(gè)系統(tǒng)的運(yùn)作過程中,單片機(jī)會(huì)不斷地進(jìn)行判斷機(jī)器人前后的水位傳感器的數(shù)值是否相同,數(shù)值相同則繼續(xù)運(yùn)行,整個(gè)機(jī)器人處于正常工作狀態(tài),可連續(xù)清掃環(huán)境中的相應(yīng)物品。 數(shù)值不相同則會(huì)中斷,并比較前后傳感器的數(shù)值大小,做出后退的判斷,從而控制機(jī)械本體進(jìn)行避水移動(dòng)。 具體工作流程如圖6 所示。
圖6 機(jī)器人工作總流程Fig.6 General flow chart of robot work
設(shè)計(jì)中通過多種傳感器的組合,實(shí)現(xiàn)機(jī)器人環(huán)境清理功能,其中OpenMV 視覺傳感器模塊,使得該機(jī)器人擁有識(shí)別垃圾的能力; 激光測(cè)距傳感器,讓機(jī)器人具有判斷與垃圾距離的能力,使得抓取垃圾變得簡(jiǎn)單;水位傳感器,能夠讓機(jī)器人在面對(duì)這種復(fù)雜環(huán)境中擁有判斷能力,更好地保護(hù)機(jī)器人自身, 也能自動(dòng)判斷機(jī)械本體是否已經(jīng)涉入水中,做好良好的電路保護(hù)。
該機(jī)器人下盤使用履帶式的結(jié)構(gòu),使其能在這種相對(duì)復(fù)雜的環(huán)境中獲得不俗的移動(dòng)能力, 同時(shí),在底盤下方加入了2 個(gè)水位傳感器,使其能夠自主判斷機(jī)器人是否涉入水中,這樣能使機(jī)器人離開水域,提高了機(jī)器人的使用壽命。 同時(shí),上面搭載有OpenMV 這種高性價(jià)比、高功能型的電子積木模塊,通過內(nèi)置相應(yīng)的算法,使其擁有較高的識(shí)別物體精度的能力,同時(shí)添加了激光傳感器,使其能夠敏銳地判斷機(jī)器人與垃圾之間的距離,從而擁有良好的抓取物體能力,清潔垃圾。
目前,在國(guó)內(nèi)的市場(chǎng)上還鮮有出現(xiàn)擁有在治理水泊地帶的水生態(tài)環(huán)境方面的機(jī)器人,其主要原因是因?yàn)樗鷳B(tài)環(huán)境如水泊、海灘等地的環(huán)境相對(duì)復(fù)雜,治理起來相對(duì)麻煩,其技術(shù)要求較高。 而該機(jī)器人成本低、靈活性好、操作便捷,適用于在惡劣的環(huán)境下工作。 同時(shí),機(jī)器人識(shí)別物體精度高、適應(yīng)性強(qiáng)、適用范圍廣,可替代傳統(tǒng)人工在海灘、濕地等相對(duì)復(fù)雜的環(huán)境中作業(yè),極大降低對(duì)環(huán)境清潔的人力資源成本,從而節(jié)約了治理環(huán)境的成本。 在未來的水生態(tài)環(huán)境治理中有著非常廣闊的應(yīng)用前景。