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