黃學(xué)飛,桂 艷,鄺衛(wèi)華,黎汝權(quán),周 華
(廣州番禺職業(yè)技術(shù)學(xué)院 機電工程學(xué)院,廣州 511483)
近年來,隨著人口老齡化趨勢的加快,我國服務(wù)行業(yè)用工成本逐年攀升,人口紅利逐步喪失,服務(wù)行業(yè)中缺少勞動力成為行業(yè)普遍面臨的瓶頸問題。少子化社會也會造成更多工作無人做的結(jié)果。另一方面,隨著城市化現(xiàn)象的加劇,城市面積日益加大,相應(yīng)的城市環(huán)衛(wèi)工作量也隨著城市的發(fā)展而增大。如此導(dǎo)致社會對服務(wù)機器人的市場需求越來越大,在需求增長、消費水平提升等多方因素共同推動下,服務(wù)機器人將成為機器人行業(yè)的熱點,我國服務(wù)機器人行業(yè)將迎來巨大的機遇和發(fā)展空間。
隨著人工智能的發(fā)展,借助科技力量開發(fā)相關(guān)具有感知、思維和行動功能的智能機器人是一個可行的解決方法。近年來機器人技術(shù)不斷成熟,性價比不斷提高,這也使智能機器人的廣泛應(yīng)用成為可能。在此,根據(jù)社會需求開發(fā)了基于視覺識別技術(shù)的智能垃圾機器人,并對機器人樣品進行了測試。
文中以特定的區(qū)域——跑道為例,開發(fā)了一款基于視覺識別技術(shù)的智能型垃圾自動拾撿機器人,通過機器人自動按識別的跑道路線行走,自動識別垃圾,自動運行至垃圾所在的位置并自動撿拾,從而完成該區(qū)域內(nèi)垃圾的自動清潔工作。
該機器人采用太陽能光伏板自動充電,從而達到節(jié)約能源的目的。該機器人的設(shè)計分為兩大部分,機械部分和控制部分。
智能垃圾機器人的工作原理如下:首先,將機器人放置在跑道上,啟動機器人電源開關(guān),給系統(tǒng)上電。機器人通過圖像模塊自動拍攝其前方圖片,控制系統(tǒng)將采集到圖像進行二值化[1];圖像二值化后,將采集的圖像變?yōu)楹诎讏D像,并最終實現(xiàn)運動場跑道線為白色,其余的背景顏色為黑色。然后,垃圾機器人沿著白色跑道線行走,同時并根據(jù)圖片的數(shù)值,不停地計算出白線區(qū)域的中心坐標(biāo)??刂葡到y(tǒng)把圖片中心坐標(biāo)與白色區(qū)域中心坐標(biāo)做對比,如果兩者的坐標(biāo)值不一致,則垃圾機器人與跑道線就存在偏差,當(dāng)偏差超出一定的范圍,系統(tǒng)則發(fā)出偏差信號,并根據(jù)偏差值對4個電機的轉(zhuǎn)速進行控制,以便調(diào)整垃圾機器人位置。
機器人在行走的過程中,如果發(fā)現(xiàn)類似垃圾圖像,控制系統(tǒng)則會根據(jù)處理后的圖像取得特征數(shù)據(jù),與系統(tǒng)庫所存儲的垃圾特征數(shù)值進行比對,若比對的相似度超80%以上,系統(tǒng)則判別其為垃圾。系統(tǒng)再根據(jù)拍攝圖像的位置和超聲波測距,判斷出塑料瓶等垃圾所在方位和距離。機器人驅(qū)動車輪沿著通過計算垃圾與機器人之間的位置而行進。直至到達到一定位置時機器人自動停下,同時控制機械手撿拾垃圾,并將垃圾放入自帶的垃圾桶。然后繼續(xù)下一個目標(biāo)。機器人在工作的時候,太陽能光伏板可對其進行充電,減少人為充電,從而實現(xiàn)節(jié)能減排[2]。
機械部分的主要功能是保證機器人完成行走和拾撿動作。該部分主要由車輪、車架、機器手、垃圾箱、太陽能系統(tǒng)等五大部分組成。機器人整體結(jié)構(gòu)如圖1所示。
機器人車輪主要起行走的作用,共有4個輪子,選用直徑75 mm的模型玩具車輪;為高品質(zhì)大摩擦力車輪,其外部為橡膠胎皮,中間含海綿內(nèi)膽,帶有塑料輪轂。因在此只需要制作出相應(yīng)的模型來進行測試,故所選車輪可以滿足系統(tǒng)的使用要求。
圖1 垃圾自動拾撿機器人的整體結(jié)構(gòu)Fig.1 Overall outline drawing of robot
車架主要起支承作用。整個車架由1塊厚2 mm的鋁合金底板和上層厚2 mm的3塊鋁合金板制作而成。其中,底板主要支承整個系統(tǒng)的零部件,能滿足力學(xué)性能要求;3塊鋁合金板主要用于支承和安裝控制系統(tǒng)及太陽能板。
機器手用于撿拾垃圾??紤]到系統(tǒng)的制作成本,在其開發(fā)過程中,采購了LD-3015MG數(shù)碼/數(shù)字舵機、30 cm舵機延長線、LDX-335MG數(shù)字舵機、金屬舵盤、機械抓手、3D打印的機械臂等,組裝成機械手。
垃圾箱是用于放置垃圾的箱體,該箱體采用3D打印制成,材料為PLA。根據(jù)設(shè)計要求該垃圾箱能夠存放垃圾約0.03 m2。
太陽能系統(tǒng)所采用的太陽能系統(tǒng)能夠?qū)崿F(xiàn)自動充電,為垃圾機器人提供電源。通過太陽能系統(tǒng),可以保證機器人在運行過程中不停接收太陽能,并通過光電轉(zhuǎn)換將太陽能量轉(zhuǎn)化為電能,再將電能儲存到電源組中,從而為整個垃圾機器人提供運行的電源。太陽能電池板選用山東尚品公司的光伏板,伏數(shù)為12 V,規(guī)格為135 mm×125 mm×2.5 mm。
該機器人控制系統(tǒng)主要用于控制機器人的行走、垃圾物的判別及拾撿、太陽能自動充電等??刂葡到y(tǒng)部分以STM32單片機為控制核心[3],由主控模塊、圖像模塊、識別模塊、超聲波測距模塊、WiFi模塊等組成。
該機器人所采用的控制板是正點STM32開發(fā)板 Cortex-M4小型系統(tǒng)板,其功能強大,可以滿足系統(tǒng)運行的需要。系統(tǒng)電源采用太陽能光伏板和18650鋰電池組12 V,以便為各部分功能模塊提供可靠的電力。系統(tǒng)的總體控制系統(tǒng)過程如圖2所示。
圖2 機器人控制系統(tǒng)過程Fig.2 Flow chart of robot control system
機器人的行走控制部分采用了4個由直流減速電機JGA25-370控制的車輪。該電機主要用于驅(qū)動智能機器人行走,選用電壓12 V,由L9110智能車4路驅(qū)動板模塊驅(qū)動。該驅(qū)動模塊本身自帶四路L9110S芯片,模塊同樣選用12 V電壓,最大工作電流0.8 A,可以同時驅(qū)動4個直流電機。驅(qū)動模塊中的L9110S是為控制和驅(qū)動電機而設(shè)計的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本降低,整機可靠性提高。該驅(qū)動模塊可以滿足JGA25-370直流減速電機的需要和系統(tǒng)運行的需要。
垃圾機器人沿白色跑道線行走,由圖像模塊采集垃圾機器人運行中拍攝的圖片,然后通過系統(tǒng)對所拍攝的圖片進行處理。在處理過程中,系統(tǒng)將圖像的數(shù)據(jù)進行數(shù)值化,系統(tǒng)內(nèi)部設(shè)置閾值作為圖像二值化的基準(zhǔn),以閾值為界限,超過閾值圖像數(shù)值將定義為255,低于閾值圖像數(shù)值將定義為0,從而實現(xiàn)圖像數(shù)值二值化,并使圖像變?yōu)楹诎讏D像,最終實現(xiàn)在運動場跑道線為白色,其余的背景為黑色;根據(jù)圖片的數(shù)值,不停地計算出白線區(qū)域的中心坐標(biāo)。系統(tǒng)將圖片中心坐標(biāo)與白色區(qū)域中心坐標(biāo)做對比,如果兩者的坐標(biāo)值不一致,則垃圾機器人與跑道線就存在偏差,當(dāng)偏差超出一定的范圍,系統(tǒng)則發(fā)出偏差信號,同時根據(jù)偏差值對4個電機的轉(zhuǎn)速進行控制,以便調(diào)整垃圾機器人位置。
具體實現(xiàn)跑道巡線中心點的找點過程如下(如圖3所示):
①攝像頭圖片的采集,如圖3(a)所示;
②基于跑道只有紅、黑2種顏色,從而將采集到的圖像進行黑白轉(zhuǎn)換,轉(zhuǎn)換后的圖片如圖3(b)所示;
③將黑白圖像進行高斯濾波,為下一步進行邊緣檢測做準(zhǔn)備,如圖3(c)所示;
④對濾波后的圖像進行邊緣檢測,檢測結(jié)果如圖 3(d)所示;
⑤對邊緣檢測后的圖像進行直線提取1,通過創(chuàng)新的算法對直線進行篩選,得出跑道線左右兩邊的豎線,并在原圖上顯示,結(jié)果如圖3(e)所示;
⑥通過創(chuàng)新算法,得出跑道的中心坐標(biāo),并在跑道上顯示出來,如圖3(f)所示;
⑦將算法得出的中點和圖片的中點坐標(biāo)相減并乘以一個比例系數(shù),得出攝像頭和跑道的實際距離,并通過驅(qū)動電機實現(xiàn)跑道的巡線行走。
圖3 跑道巡線中心點的找點過程Fig.3 Process of finding the center of a runway patrol
跑道中心坐標(biāo)找點的主程序如下:
對于垃圾的判別,該機器人系統(tǒng)采用了先進的視覺圖像識別和超聲波技術(shù)。對垃圾判別的具體工作過程如下:
機器人在行走過程中發(fā)出超聲波,根據(jù)超聲波返回的信號,如果發(fā)現(xiàn)垃圾則系統(tǒng)通過圖像處理將跑道的背景變?yōu)榘咨?,對垃圾圖像進行輪廓化處理;系統(tǒng)根據(jù)處理后的圖像取得特征數(shù)據(jù),與系統(tǒng)庫存儲的垃圾特征數(shù)值進行比對,當(dāng)比對的相似度超80%以上,系統(tǒng)則判別為垃圾。
為保證數(shù)據(jù)采集準(zhǔn)確性,攝像頭設(shè)置在垃圾機器人的右側(cè),機械臂底盤的中點是后續(xù)運算的參考點,并采用一線程單獨執(zhí)行。
圖像模塊采用OV2640攝像頭模塊進行圖像采集。該模塊采用了0.635 cm的OV2640百萬高清CMOS傳感器,具有高靈敏度,高靈活性,支持JPEG輸出等特點,并且可以支持曝光、白平衡、色度、飽和度、對比度等眾多參數(shù)設(shè)置,支持JPEG/RGB565格式輸出,支持自動曝光控制、自動增益控制、自動白平衡、自動消除燈光條紋、自動黑電平校準(zhǔn)等自動控制功能,同時支持色飽和度、色相、伽馬、銳度等設(shè)置,可以滿足不同場合需求。垃圾判別的具體執(zhí)行過程如圖4所示。
圖4 垃圾的判別控制流程Fig.4 Flow chart of control for discriminant garbage
機器人拾撿垃圾系統(tǒng)控制部分,主要用于控制機械手將垃圾從跑道上正確地撿拾到固定的自帶垃圾箱內(nèi)。該部分通過控制機械手的舵機實現(xiàn)機器手的各種動作[4]。
該機器人的垃圾拾撿系統(tǒng)控制采用3個LDX-335MG數(shù)字舵機和3個LDX-315MG數(shù)字舵機控制機械手。這些舵機具有扭力大、虛位小、速度快、耐燒、耐高溫等特點,舵機采用PWM脈寬型調(diào)節(jié)角度,周期 20 ms,占空比(0.5~2.5)ms的脈寬電平對應(yīng)舵機0~180°角度范圍且呈線性關(guān)系,適合控制機械手的各種動作。
機械手由分節(jié)手臂及其前端的卡爪組成[5]。分節(jié)手臂用于帶動卡爪運動,卡爪用于拾撿垃圾。系統(tǒng)判別出垃圾后,垃圾機器人首先通過超聲波確定機器人與垃圾之間的距離和方位,然后控制機器人運行到相應(yīng)的正確位置,并通過控制數(shù)字舵機控制機器手的各種動作[6]:①將機械手伸到垃圾所在的位置;②機械手發(fā)出夾垃圾的信號,機械手通過卡爪將垃圾夾緊;③通過控制舵機將垃圾送至垃圾箱;④機械手復(fù)位至最初的位置,完成一次垃圾拾撿工作。該機器人舵機與單片機的連接如圖5所示。
圖5 舵機與單片機的連接Fig.5 Connection between steering gear and single chip microcomputer
對于舵機控制板與STM32通信,在此通信協(xié)議采用電平—TTL電平;波特率—9600;停止位—1;校驗位—0。通信的數(shù)據(jù)格式如圖6所示。
圖6 數(shù)據(jù)格式Fig.6 Data format
每個數(shù)據(jù)包含5個字節(jié),按照16進制方式發(fā)送數(shù)據(jù)。由圖可見,數(shù)據(jù)包中,第1個字節(jié)為起始碼0xFF;第2個字節(jié)為執(zhí)行動作指令;第3個字節(jié)為通道號,即需要控制哪個通道的數(shù)據(jù);第4和第5位分別為數(shù)據(jù)的低字節(jié)和高字節(jié)。
執(zhí)行動作指令包括:0x01為設(shè)置舵機速度;0x02為設(shè)置舵機位置;0x09為啟動動作組;0x0b為急停/恢復(fù)。 例如,舵機 1,轉(zhuǎn)速 10(90°/s):發(fā)送指令0xFF 0x01 0x01 0x0a 0x00。
根據(jù)設(shè)計要求,已制作完成的智能拾撿垃圾機器人樣品如圖7所示。經(jīng)測試,該機器人的運行速度可達20 m/min,能夠準(zhǔn)確地沿跑道運行,并能夠判別運動中發(fā)現(xiàn)的垃圾,同時能快速拾撿所發(fā)現(xiàn)的垃圾,滿足了所要實現(xiàn)的控制方案各項要求。該款機器人非常適用于類似運動場跑道等特定環(huán)境的垃圾拾撿。
在智能垃圾機器人開發(fā)過程中,采用了PID算法控制機器人的運行控制、四驅(qū)動電機控制、視覺識別技術(shù)和太陽能技術(shù),這些技術(shù)的運用保證了機器人系統(tǒng)正常運行。該機器人在運行過程中能夠很好地實現(xiàn)功能需求。目前城市中運動場等很多,在這些特定的場所如果能夠使用基于視覺識別技術(shù)的智能垃圾機器人清理垃圾,不僅可以減小清潔人員的工作量,而且具有節(jié)能效果。
圖7 智能垃圾機器人樣品照片F(xiàn)ig.7 Sample photo of intelligent garbage robot