萬偉豪,李子健,李國豪,張 碩,彭 程,李嘉岑
(南京工程學院自動化學院,南京 211167)
隨著經濟的發展,環保問題仍然是建設美好社會的一大重要難題。在城市中,類似易拉罐、塑料瓶、廢紙團等生活垃圾也時常出現在路面上或是水面上,此時最適宜于水陸兩棲智能清潔機器發揮作用,對路面和水面的垃圾進行清理。過去數十年中,機器人在各個領域都有了較大發展,用途廣泛,智能清潔機器人在其中的發展尤為突出。智能清潔機器人本身作為一個獨立的功能模塊可運用到其余中小型智能機器人上,因其環境適應性強,在水面工作可極大節省人力物力。同時,智能清潔機器人通過神經網絡的深度學習,可智能地對不同種垃圾進行分類和處理,解決環境問題的同時,對垃圾分類也提供了較為高效的處理手段。在此介紹一種水陸兩棲智能清潔機器人的設計方案。該型機器人具有智能避障、智能識別、自動清潔等功能,可以替代人工完成陸地和水面清潔任務。通過神經網絡的深度學習,通過微處理器,例如樹莓派構成下位機進行功能實現。
所設計的智能清潔機器人,基本框架主要包括智能車車體框架以及內部以樹莓派為基礎的Linux操作系統,主要基于ARM 架構搭建。使用的樹莓派型號為Raspberry 4B,其電路板實物及各部分功能如圖1 所述。樹莓派本質是一臺嵌入式計算機,設計基于這一特性,以其作為基本框架,通過編寫相關程序,來實現所設計智能車的視覺、目標拾取等動作。

圖1 Raspberry 4B 電路板
在樹莓派上完成搭建64 位Linux 操作系統后,為完成智能車的設計目的,采用OpenCV 函數庫來實現部分功能。
OpenCV 函數庫主要包括Cv(實現計算機視覺功能和完成計算機對圖像的處理)、HighGui(包含各種簡單函數的工具包)、Calib3b 和Photo(完成攝像機的成像和安裝有關攝影計算的函數庫),以及API(增加代碼的運算速度)等模塊。
所設計機器人的完成品是一架水陸兩棲垃圾拾取小車,在陸地及水面進行垃圾拾取工作。小車的硬件部分主要包括車體、機械臂、控制模塊、驅動模塊、測距及測速模塊、實時定位及導航模塊等。
車體由水路推進系統、防水外殼等組成。考慮到智能車需要在水中工作,車體需要加裝聚氨酯發泡材料來實現較好的耐水性和抗腐蝕性。同時安裝一對推進螺旋槳,實現智能車在水中的正常運動。在小車主體搭建完成后,需要加裝防水外殼,避免水中工作時發生芯片短路。
為了保證垃圾夾取的可靠性足夠高,選取3 自由度的機械臂來保證夾取空間范圍的廣度。機械臂的結構設計圖如圖2 所示。

圖2 機械臂結構圖
在機械臂前段增設一個可以旋轉的連接軸,為機械爪賦予旋轉能力,在夾取物品時即可靈活調整機械爪的角度,令接觸更貼合。機械爪夾取端帶有鋸齒,保證夾取穩定可靠。
控制模塊以樹莓派主板為主體部分,用以完成數據分析、視覺成像、物體識別等處理任務。由于樹莓派主板的集成度較高,導致某些情況下主板的散熱性能較差,為了確保產品能夠在某些極端條件下正常工作,選擇在主板CPU、內存芯片、USB 管理芯片上加裝三塊散熱片。本設計安裝了樹莓派4B 雙風扇外殼,確保產品能夠更合理地固定在車體上,保持穩定,同時還能確保良好的散熱效果[1]。
驅動模塊選用BTS7960B 型高壓雙路H 橋直流電機驅動芯片。該芯片能夠提供43A 電流輸出,電流輸出范圍相比較其他電機驅動模塊較大,在5.5V~27V 的范圍內能夠輕松驅動大功率直流電機且不易發生短路。驅動模塊集成了多項保護機制,如過流保護、過熱保護和電路短路保護等。
BTS7960B 驅動板如圖3 所示。它的芯片內置了兩路H 橋電路,可以實現正向、反向和制動等多種控制。輸入控制信號為PWM 和兩個電平信號(IN1和IN2)。該配置的響應速度較快,工作穩定性良好,能夠滿足大多數直流電機需要的驅動要求。另外,在過流或溫度過高時,芯片會自動停止輸出電流并發出報警信號。如果電機電路短路,芯片內置的FS 功能會自動切斷輸出并返回故障信號。為了使該設計在某些特殊工作地形也能較為平穩地運行并能快速改變行駛速度,設計了測速和測量行駛里程的功能。選取可裝載在電機上的Hohner Automaton Z25M 光電編碼器測速模塊,該編碼器的體積很小,其抗壓性、耐用性及防污性都滿足工作環境的要求[2]。

圖3 BTS7960B 驅動板
為了使智能小車能夠較為準確地提前預判其預設行駛道路上的行人或者障礙物,設計使用激光測距方法加以輔助。此處選取VL52L0X 型激光測距感器。該型產品測量障礙物以及勘測前方物體距離的精度較高。它通過四根杜邦線連接至樹莓派的GPIO口(SDA、SCL、5V、GND)。其中的5V 和GND 接口是固定連接,另外兩個接口通過在系統終端配置接口連接,使用相對靈活。相比其他的測距傳感器,這樣的連接方式也較為簡便。
導航功能設計完成后,為了使智能小車能夠準確地在工作區域內尋找并抓取垃圾或其他物品,采用RPLidar A2 激光雷達來實現智能小車的實時定位功能,實物如圖4 所示。該型雷達與前一代相比,精度大幅提高,能夠減少智能小車工作時的失誤,同時還可完成較大范圍的定位和導航,為智能小車提供更大的掃描范圍。出于經濟性考慮,此處未選取功能相似但成本較為高昂的A3 版本。

圖4 RPLidar A2 激光雷達
針對智能小車的功能目標進行程序設計,首先選擇最簡單的實例,利用樹莓派和OpenCV 實現智能小車對黃球的追蹤。
4.1.1 圖像采集與預處理
使用現有OpenCV 庫所提供的cv.VideoCapture來進行攝像頭的采集。采集到圖像后,通過一系列的圖像預處理操作,例如顏色空間轉換、閾值化處理、圖像濾波等,獲取到需要的目標圖像信息[3]。具體的實現方式可按照以下代碼進行:
中華民族的偉大復興最終一定表現為文化復興。文化自信的提出標志著文化復興的道路已經鋪開,中國特色社會主義文化建設已經踏上新的歷史征程;同時,還昭示著中國人開始致力于占據人類社會道義的制高點,在解決好中國問題的同時,還要給世界提供中國智慧。 中國是個小世界,世界是個大中國; 前現代、現代、后現代時間上繼起,在中國卻空間上并存;這一具有“世情”特色的中國國情,要求中國人承擔“天降大任”的世界使命。有理由相信,曾經長期占據人類文化制高點的中國,一定會重登世界之巔,為人類的文化進步貢獻出中國人的智慧與力量。


4.1.2 目標檢測與跟蹤
利用OpenCV 庫提供的cv.findContours()函數進行目標輪廓的提取,并通過輪廓面積、長寬比等特征判斷是否為目標。同時,還需要使用cv.KalmanFilter來實現目標跟蹤功能。具體功能實現可按照以下代碼進行:

在對圖像閾值化處理的過程中,可通過更改設定數值,來實現智能小車對不同顏色目標的處理[4]。
為了使智能小車根據目標位置和方向信息生成控制信號,在小車系統中,可以使用PWM 調節電機速度,使用電機驅動模塊控制電機轉向[5-6]。控制信號生成的實現可參考以下代碼:


該部分程序實現的功能是令智能小車簡單地向目標前進,并且根據距離調節速度。對于更高級更復雜的設計目標,還需要對其進行部分程序修改并完善圖像庫來實現[7]。
在實際使用場景之下,按如下步驟對智能小車的目標完成情況進行調試:
第一步:數據采集與圖像處理
第二步:垃圾分類
使用OpenCV 中的圖像算法進行運算處理。該算法在圖像特征提取、圖像采集、圖像處理與推理等方面都有非常完善的功能,可以快速準確地實現對垃圾分類的操作。
第三步:控制與執行
將處理后的圖像特征輸入垃圾識別算法中,并計算出所屬類別。通過編程將驅動小車的控制信號輸出到輪胎驅動系統,使小車能夠按照要求對垃圾進行分類運輸。
第四步:安全性檢驗
為確保垃圾分類小車的安全性,在程序設計中結合激光測距傳感器,使智能車能夠提前探測到前方的行人或者障礙物[8],做到安全運轉,避免不必要的事故發生。
在實際調試中智能小車對垃圾物品的攝像識別效果如圖5 所示。

圖5 垃圾物體識別效果
樹莓派是一款非常容易上手且便于攜帶的微型電腦,其預裝Linux 操作系統中可供安裝的函數庫類型豐富,功能強大。以樹莓派為基礎的設計水陸兩棲機器人系統,設計上都是圍繞其自身特點,使其發揮最大優勢。所設計機器人的內外部結構及相應的編程控制方法,均基于理論與實踐相結合的原則系統化地設計完成,并在實用場合驗證了其正確性,可為未來相關研究提供一種思路。以垃圾清除智能小車為形式的產品研究,只是智能機器人行業探索的一小部分,而智能機器人行業本身,也必將在發展中進一步融入現代工業社會,制造更多的發展機遇。