曲志強(qiáng) 馬 洋 倪乃坤 陳澤天 李麗麗
沈陽理工大學(xué) 遼寧 沈陽 110159
隨著當(dāng)今人工智能的浪潮,各種智能設(shè)備的市場(chǎng)越來越大,本機(jī)器人完全適應(yīng)中國(guó)現(xiàn)代自動(dòng)化機(jī)器人的發(fā)展趨勢(shì)。其設(shè)計(jì)主要涉及了數(shù)字圖像采集、處理和識(shí)別技術(shù)、自動(dòng)控制原理、傳感器測(cè)試技術(shù)、機(jī)電傳動(dòng)控制以及單片機(jī)原理及接口技術(shù)等學(xué)科內(nèi)容。經(jīng)虛擬工作場(chǎng)地搭建和模型實(shí)體化調(diào)試,測(cè)試結(jié)果表明,本機(jī)器人可在地形復(fù)雜狹小的工作環(huán)境內(nèi)高效分揀搬運(yùn)作業(yè),有很高的應(yīng)用價(jià)值和經(jīng)濟(jì)效益。設(shè)計(jì)的根本目的是減少人力并提高物流效率,利用科技提高人們的生活質(zhì)量。
機(jī)械臂為六軸,驅(qū)動(dòng)部分采用5個(gè)20Kg臺(tái)灣工藝防水金屬殼數(shù)字舵機(jī)和2個(gè)90s高品質(zhì)模擬舵機(jī),工作時(shí)可提供穩(wěn)定持久精確的動(dòng)力。機(jī)械手部分選用吸盤,雖然吸盤、真空氣泵和泄氣閥之間的接線和機(jī)電控制增加了機(jī)器人拆裝維修的難度,但機(jī)械爪的機(jī)械抓取很容易破壞貨物外包裝甚至損傷內(nèi)部,換用真空吸盤則可有效避免此類意外,采用吸附抓取更加安全穩(wěn)定可靠且降低了控制難度和設(shè)計(jì)成本。
機(jī)器人底盤選用履帶行走機(jī)構(gòu),其廣泛應(yīng)用于各種工程機(jī)械設(shè)備。本底盤越野性能好、驅(qū)動(dòng)力大爬坡能力強(qiáng)并具有較小的轉(zhuǎn)彎半徑可原地轉(zhuǎn)彎,機(jī)動(dòng)靈活性可適應(yīng)多種復(fù)雜地形。分揀工作場(chǎng)地內(nèi)難免會(huì)有臺(tái)階類的障礙,此地盤較強(qiáng)的越障能力大大提高了其推廣應(yīng)用價(jià)值。
自動(dòng)分揀搬運(yùn)機(jī)器人核心硬件系統(tǒng)(見圖1)主要包括四大部分:視覺采集和識(shí)別部分、動(dòng)力系統(tǒng)控制部分、黑線循跡部分和機(jī)械臂控制部分。
①視覺采集和識(shí)別部分:本部分選用星瞳Open MV3 Cam M7圖像處理識(shí)別模塊,具有體積小低功耗低成本的特點(diǎn)??赏ㄟ^Python語言進(jìn)行編程,利用其語言本身高級(jí)數(shù)據(jù)結(jié)構(gòu),可很容易的處理許多machine vision的復(fù)雜算法??扇菀资褂猛獠拷K端觸發(fā)拍攝或執(zhí)行相應(yīng)算法控制IO引腳,對(duì)于本機(jī)器人的二維碼識(shí)別發(fā)揮了極大的作用。
②動(dòng)力系統(tǒng)控制部分:本部分使用了四個(gè)編碼器電機(jī)驅(qū)動(dòng)。紅外線傳感器模塊組在工作過程中,會(huì)實(shí)時(shí)反饋給單片機(jī)相應(yīng)IO的狀態(tài)值,圖像識(shí)別模塊在識(shí)別時(shí)也會(huì)隨時(shí)觸發(fā)中斷子程序,此種電機(jī)對(duì)此類突發(fā)情況可迅速準(zhǔn)確的做出響應(yīng)。
圖1 自動(dòng)分揀物流機(jī)器人核心硬件系統(tǒng)圖
③黑線循跡部分:本部分采用了8路紅外探測(cè)循跡避障模塊組。基本尺寸為65*45mm,體積小便于安裝。為機(jī)器人等自動(dòng)化機(jī)械裝置提供了一種多途徑的紅外探測(cè)系統(tǒng)的解決方案,使用紅外線發(fā)射和接收管等分立元器件組成探頭并使用了LM339電壓比較器(加入了遲滯電路更加穩(wěn)定)作為核心器件的中控電路。該模塊獨(dú)立探頭數(shù)量和識(shí)別精度均滿足本機(jī)器人的使用要求。
④機(jī)械臂控制部分:本部分的核心在于控制,其主要分為兩大部分:1.舵機(jī)的控制;2.真空氣泵及吸盤的控制。首先對(duì)于六個(gè)舵機(jī)的控制。在對(duì)動(dòng)作進(jìn)行編程之前,需先進(jìn)行軟件模擬仿真做出六軸的運(yùn)動(dòng)解析方程式降低控制難度提高工作效率,最后為提高運(yùn)動(dòng)的穩(wěn)定和精確性可對(duì)舵機(jī)進(jìn)行PID調(diào)節(jié)。其次對(duì)于真空氣泵的控制需外配6V電壓,若用單片機(jī)直接供電則達(dá)不到工作電壓無法正常工作。
本自動(dòng)分揀搬運(yùn)機(jī)器人基于STM32單片機(jī)、Open MV3圖像識(shí)別傳感器、紅外線傳感器模塊組等功能模塊的控制系統(tǒng)流程圖,如下圖2所示。
圖2 自動(dòng)分揀搬運(yùn)機(jī)器人控制系統(tǒng)流程圖
本部分采用Open MV3模塊,對(duì)物流分揀行業(yè)應(yīng)用極其廣泛的二維碼進(jìn)行掃描識(shí)別,通過機(jī)器視覺算法對(duì)獲取的二維碼目標(biāo)做進(jìn)一步處理并讀取內(nèi)部的數(shù)據(jù),最終反饋給STM32單品機(jī),其處理識(shí)別完畢后,單片機(jī)系統(tǒng)可讀取的數(shù)據(jù)。下面將對(duì)選定識(shí)別目標(biāo)二維碼以及機(jī)器視覺識(shí)別算法原理做簡(jiǎn)要分析和概述。
1)識(shí)別目標(biāo)二維碼的簡(jiǎn)述及設(shè)計(jì)制作
二維碼(又稱二維條碼),是一種黑白相間的幾何圖形,按一定規(guī)律在二位平面內(nèi)分布,并可記錄特定的符號(hào)信息。在代碼編制上使用構(gòu)成計(jì)算機(jī)底層邏輯基礎(chǔ)的“0”、“1”比特流的概念,利用一些二進(jìn)制對(duì)應(yīng)的幾何形體來表示需要儲(chǔ)存的信息。二維碼(QR Code,其中QR全稱為Quick Respond)是當(dāng)今移動(dòng)設(shè)備上面應(yīng)用極其廣泛的編碼方式,相較于傳統(tǒng)的條形碼可以存儲(chǔ)更多信息以及表示更多數(shù)據(jù)類型。其結(jié)構(gòu)主要有功能圖形和編碼區(qū)域兩大部分。
本機(jī)器人測(cè)試工作中二位碼素材的來源,主要通過python編程手段設(shè)計(jì)生成,簡(jiǎn)單方便快捷,可在短時(shí)間內(nèi)提供大量識(shí)別素材?;趐ython設(shè)計(jì)生成二維碼核心代碼如下所示。
2)二維碼識(shí)別算法及原理概述
本部分選用Open MV3攝像頭模塊,處理識(shí)別圖像之前,需先對(duì)其重要模塊參數(shù)進(jìn)行初始化才可正常工作。首先,用上位機(jī)內(nèi)Sensor.reset()函數(shù)對(duì)感光元件進(jìn)行初始化。其次,選擇圖像處理像素模式,主要有灰度模式sensor,GRAYSCALE及全彩模式sensor.RGB565。此外,灰度模式處理速度相較于全彩模式更快。機(jī)器人主要識(shí)別單色二維碼,沒有涉及任何顏色識(shí)別,選用灰度處理模式即可。然后,調(diào)用sensor.set_framesize(framesize); sensor.skip_frames([n,time])函數(shù)分別對(duì)其分辨率及穩(wěn)定模式進(jìn)行設(shè)置。最后為防止圖像的不穩(wěn)定,可選擇關(guān)閉自動(dòng)白平衡,即對(duì)sensor.set_auto_gain及sensor.set_auto_whitebal設(shè)置成關(guān)閉狀態(tài)。
初始化完畢后,開始識(shí)別二維碼。首先,采用QRCode類對(duì)二維碼對(duì)象進(jìn)行掃描,可以調(diào)用函數(shù)sensor.snapshot(),對(duì)二維碼圖像拍照采集并完成掃描。其次攝像頭不可避免的受外界環(huán)境各種干擾及自身結(jié)構(gòu)特性的影響,會(huì)使獲取的圖像發(fā)生畸變。為削弱圖像畸變的影響,提高識(shí)別精度,可調(diào)用image.lens_corr()函數(shù)進(jìn)行輔助修正。
然后可在上位機(jī)上對(duì)圖像做進(jìn)一步的預(yù)處理,針對(duì)圖像減噪可調(diào)用內(nèi)部功能函數(shù)加必要的形態(tài)學(xué)操作處理修正。
圖像預(yù)處理完畢后,可通過img.find_qrcodes()獲取處理后圖像中的二維碼,并識(shí)別讀取內(nèi)部數(shù)據(jù)(二位碼的坐標(biāo)、邊框位置坐標(biāo)以及二維碼信息中的有效字符串),并通過Open MV3的TX,RX管腳連接設(shè)置波特率值,完成與STM32單片機(jī)的串口通信。本自動(dòng)分揀物流機(jī)器人,多線程二維碼圖像采集識(shí)別算法流程圖如右圖3所示。
圖3 自動(dòng)分揀物流機(jī)器人視覺算法流程圖
本部分將以一輛基于紅外傳感器導(dǎo)航的循跡小車簡(jiǎn)化模型及模擬工作環(huán)境(見圖4)為例,來簡(jiǎn)述循跡控制算法及其原理。為降低設(shè)計(jì)成本,使用了精度相對(duì)較低的紅外線傳感器,但通過多個(gè)紅外線傳感器構(gòu)成模塊組,經(jīng)特殊位置布置(見圖1黑線循跡系統(tǒng)部分)和識(shí)別抗干擾算法,可使機(jī)器人沿預(yù)定黑線路徑穩(wěn)定快速運(yùn)行。配置于底盤前端的a、b和c紅外線傳感器主要用于循跡,配置后端的d和e傳感器主要用于判斷路口的類型,以便做出轉(zhuǎn)向判斷。在本模擬工作場(chǎng)地內(nèi)可遇到的路口類型對(duì)應(yīng)有紅外線傳感器模塊組IO口值六種狀態(tài)。
圖4 紅外線傳感器模塊組狀態(tài)、模擬分揀工作區(qū)及黑線路徑布置圖
為了提高循跡的可靠性和穩(wěn)定性,還做了路口識(shí)別的抗干擾算法。在路口類型識(shí)別的時(shí)候,為了避免傳感器輸入到單片機(jī)上的電平高低轉(zhuǎn)換過程帶來干擾,本算法大體思路為,在傳感器d、e出現(xiàn)高電平的時(shí)候,單片機(jī)先不讀取識(shí)別而是處于一種延時(shí)等待的狀態(tài),如信號(hào)可維持一段時(shí)間穩(wěn)定不變,則表示確實(shí)遇到了路口位置而不是隨機(jī)干擾信號(hào)。本算法可配合紅外線模塊組有效提高循跡識(shí)別的精確度和循跡的抗干擾能力。
此機(jī)器人借鑒了固定蜘蛛手式機(jī)械臂分揀設(shè)備和高配合集體型分揀機(jī)器人,形成了獨(dú)特獨(dú)立的全自動(dòng)分揀機(jī)器人,其創(chuàng)新之處在于:①場(chǎng)地適應(yīng)性強(qiáng),工作空間利用率高。采用紅外線識(shí)別模塊進(jìn)行黑線循跡,可對(duì)復(fù)雜的工作場(chǎng)地基于黑線提前進(jìn)路徑布置避免了工作盲區(qū);底盤采用履帶行走機(jī)構(gòu),越障能力強(qiáng)、驅(qū)動(dòng)力大并且運(yùn)行穩(wěn)定;②推廣應(yīng)用價(jià)值高。本機(jī)器人設(shè)計(jì)成本低廉,使大多數(shù)用戶都有能力支付配備此設(shè)備;③無人化作業(yè)。整個(gè)自動(dòng)分揀物流機(jī)器人運(yùn)行基于一整套自動(dòng)控制系統(tǒng),可實(shí)現(xiàn)全自動(dòng)無人化高效分揀作業(yè);④運(yùn)行安全穩(wěn)定可靠。機(jī)械手部分采用真空吸盤代替?zhèn)鹘y(tǒng)的機(jī)械式抓取,可有效避免夾取過程中,機(jī)械爪夾力控制不當(dāng)對(duì)貨物本身造成的傷害,降低了控制難度提高了安全、穩(wěn)定和可靠性。
通過實(shí)物模型搭建、調(diào)試及模擬工作場(chǎng)地運(yùn)行測(cè)試,結(jié)果表明,該型自動(dòng)分揀物流機(jī)器人結(jié)構(gòu)堅(jiān)固緊湊,設(shè)計(jì)合理;可正常穩(wěn)定運(yùn)作執(zhí)行分揀搬運(yùn)任務(wù)。整套自動(dòng)控制系統(tǒng)達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。本機(jī)器人硬件電路部分簡(jiǎn)單清晰,便于后續(xù)對(duì)部分功能模塊維修和升級(jí);整套控制系統(tǒng)都是基于STM32單片機(jī)實(shí)現(xiàn),程序代碼可以隨時(shí)維護(hù)更改,便于繼續(xù)對(duì)機(jī)器人深入開發(fā)。該型機(jī)器人的不足事對(duì)工作環(huán)境光源的要求較高,一旦外部光源出現(xiàn)問題將無法正常工作。以后將針對(duì)光源問題,對(duì)機(jī)器人做進(jìn)一步研究改進(jìn),可讓機(jī)器人本身自帶光源,能極大程度的脫離外界環(huán)境約束。