李文浩, 譚宇飛, 周登科, 秦運(yùn)柏*, 楊佳興
(1. 廣西師范大學(xué) 電子與信息工程學(xué)院,廣西 桂林 541004;2. 廣西師范大學(xué) 智能機(jī)器人實(shí)驗(yàn)室,廣西 桂林 541004)
搬運(yùn)機(jī)器人可以自主執(zhí)行搬運(yùn)任務(wù),利用先進(jìn)技術(shù)完成裝載、卸載、搬運(yùn)和碼垛等操作,在現(xiàn)代工業(yè)和物流領(lǐng)域發(fā)揮著重要作用。隨著物流技術(shù)的發(fā)展,貨物搬運(yùn)和物流管理越來越智能,搬運(yùn)機(jī)器人在倉儲作業(yè)中得到了廣泛的應(yīng)用[1]。目前,KIVA 等新型自動化搬運(yùn)機(jī)器人已經(jīng)進(jìn)入倉儲行業(yè)[2]。相較于人工搬運(yùn),機(jī)器人具有高效、精準(zhǔn)、安全及可持續(xù)等優(yōu)勢。自主循跡是搬運(yùn)機(jī)器人實(shí)現(xiàn)所有功能的前提[3],只有當(dāng)機(jī)器人穩(wěn)定地循跡至指定位置后才能完成抓取、搬運(yùn)和放置等動作指令。因此,自主循跡的穩(wěn)定性成為研究熱點(diǎn)。
常用的機(jī)器人自主循跡導(dǎo)航方式可分為磁帶循跡導(dǎo)航、視覺循跡導(dǎo)航和激光循跡導(dǎo)航等。磁帶循跡導(dǎo)航是通過機(jī)器人上的磁傳感器感應(yīng)鋪設(shè)在地面的磁性導(dǎo)軌而實(shí)現(xiàn)循跡。張長勇等[4]采用磁傳感器和電子羅盤組成循跡誤差檢測系統(tǒng),實(shí)時分析各種路徑的誤差補(bǔ)償。尹姝等[5]設(shè)計(jì)了一種線性自抗擾控制器,減小循跡過程中外部隨機(jī)干擾的影響,實(shí)現(xiàn)磁帶自動導(dǎo)引小車穩(wěn)定的循跡和高性能的控制。然而,磁帶循跡導(dǎo)航需要預(yù)先在地面鋪設(shè)磁性引導(dǎo)條或?qū)⒋裴斅裼诘叵拢枰馁M(fèi)大量人力,且磁釘?shù)某杀疽彩职嘿F。
Theodoridou 等[6]使用RGBD 相機(jī)和激光傳感器,實(shí)時掃描檢測周圍環(huán)境,使機(jī)器人可以在所得到的地圖內(nèi)自主導(dǎo)航。Zhen 等[7]提出了基于視覺的目標(biāo)跟蹤,在自動駕駛汽車導(dǎo)航中取得了很大的成就,數(shù)據(jù)融合能更好地利用冗余傳感器信息,提高自動駕駛汽車的穩(wěn)定性和安全性。Fang 等[8]重點(diǎn)討論了視覺導(dǎo)航深度強(qiáng)化學(xué)習(xí)中樣本效率和導(dǎo)航性能間的問題,并提出了深度模仿強(qiáng)化方法。這類視覺循跡導(dǎo)航的機(jī)器人需要強(qiáng)大的算力平臺和昂貴的視覺相機(jī),運(yùn)輸速率卻較低。
光學(xué)傳感器循跡是一種成本較低且精度較高的機(jī)器人導(dǎo)航方式,因此得到了廣泛的研究。高婉婷等[9]使用紅外傳感器實(shí)現(xiàn)了智能避障小車的循跡功能。宋海龍等[10]提出的智能物流搬運(yùn)機(jī)器人使用2 個圓弧形爪片結(jié)構(gòu)組成的機(jī)械爪實(shí)現(xiàn)物塊的抓取功能。洪一民等[11]提出的智能小車使用紅外傳感器和超聲波傳感器探索周圍障礙物。程苡凡等[12]提出的尋寶旅游機(jī)器人在循跡程序中使用PID 閉環(huán)控制。楊利等[13]提出在小車的前后分別安裝循跡模塊,并通過位置和速度的雙閉環(huán)PID 算法控制小車從而實(shí)現(xiàn)自動循跡。上述方案使用對光線敏感的紅外傳感器,只能在正常的室內(nèi)環(huán)境運(yùn)行,適應(yīng)性差和穩(wěn)定性差[14]。此外,搬運(yùn)機(jī)器人抓取物塊時無法將物塊牢牢固定,放置時會產(chǎn)生偏差。搬運(yùn)機(jī)器人循跡使用傳統(tǒng)的PID 控制算法,可能引起超調(diào)和過沖等問題,導(dǎo)致機(jī)器人失控。
針對以上問題,本文提出了融合多光學(xué)傳感及變積分PID 算法的智能光電搬運(yùn)機(jī)器人方案,實(shí)現(xiàn)了二維碼識別、顏色識別、智能循跡、機(jī)械臂搬運(yùn)和物塊抓取等功能。該搬運(yùn)機(jī)器人具有以下特點(diǎn):融合使用8 路灰度傳感器和激光傳感器,通過加權(quán)累加融合數(shù)據(jù)使機(jī)器人可以實(shí)時感知周圍場景并應(yīng)對復(fù)雜環(huán)境,減小外界光源對傳感器的影響,在放置物塊時使用波長更短的635 nm垂直腔面發(fā)射激光(Vertical Cavity Surface Emitting Laser,VCSEL)傳感器,能夠提高放置物塊的精度;循跡模塊中加入變積分增量式PID 控制算法,在積分項(xiàng)前添加一個[0,1]之間線性變化的參數(shù),可以避免過飽和積分導(dǎo)致機(jī)器人控制出現(xiàn)超調(diào)等問題,減小機(jī)器人的位置偏差,提高機(jī)器人循跡的穩(wěn)定性;使用4 自由度機(jī)械臂與抽氣泵共同完成對物塊靈巧地抓取與搬運(yùn),使用吸嘴接觸物塊,增大了機(jī)器人抓取時的容錯率;通過OpenMV 攝像頭拍取照片,并通過圖像二值化和透視校正算法預(yù)處理,再進(jìn)行二維碼識別,提高了二維碼識別的正確率與高效性。該智能光電搬運(yùn)機(jī)器人在不同環(huán)境下均可以在短時間內(nèi)完成任務(wù),具有極高的可行性,運(yùn)輸效率獲得大幅提升。
智能光電搬運(yùn)機(jī)器人的系統(tǒng)結(jié)構(gòu)框圖如圖1所示。該智能光電搬運(yùn)機(jī)器人由機(jī)械結(jié)構(gòu)、硬件電路和軟件程序3 部分組成。其中,機(jī)械結(jié)構(gòu)包括底板、頂板、物塊抓取結(jié)構(gòu)等車身主體部分,同時裝配有VCSEL 激光器、OpenMV、4 個電機(jī)和4 自由度機(jī)械臂。
圖1 智能光電搬運(yùn)機(jī)器人的結(jié)構(gòu)框圖Fig.1 Framework of intelligent photoelectric handling robot
硬件電路包括以STM32F407ZET6 為控制芯片的主控電路和以BNT8982TA 為驅(qū)動芯片的電機(jī)驅(qū)動電路,兩者通過插針組合成一個完整的電路系統(tǒng)。主控電路包括降壓模塊和多VCSEL 激光器循跡模塊,并預(yù)留41 個外設(shè)接口;而電機(jī)驅(qū)動電路則是基于全橋原理設(shè)計(jì)的。軟件程序采用變積分增量式PID 算法提升機(jī)器人循跡穩(wěn)定性,此外運(yùn)用圖像處理技術(shù)提高二維碼識別的準(zhǔn)確性。智能光電搬運(yùn)機(jī)器人實(shí)物和結(jié)構(gòu)如圖2 所示。
圖2 智能光電搬運(yùn)機(jī)器人實(shí)物圖Fig.2 Photos of intelligent photoelectric handling robot
機(jī)器人的底板結(jié)構(gòu)設(shè)計(jì)如圖3 所示。智能光電搬運(yùn)機(jī)器人使用4 個電機(jī)驅(qū)動,可以有效防止機(jī)器人急?;蚣鞭D(zhuǎn)導(dǎo)致重心偏移而產(chǎn)生的側(cè)翻,以適應(yīng)各種場景和不同運(yùn)動狀態(tài)。
圖3 底板結(jié)構(gòu)Fig.3 Structure of bottom plate
底板尺寸為18.5 cm×28 cm,安裝有8 路灰度傳感器、灰度傳感器和激光傳感器。由于機(jī)器人重心靠前會導(dǎo)致急停時機(jī)器人后輪著地力過小、有向前傾倒的趨勢,將4 個電機(jī)放置在底板靠后部位。為了避免輪子剮蹭底板且易于調(diào)整底板上電機(jī)的位置和高度,為每個輪子預(yù)留8.5 cm的空間。同時,在底板前部設(shè)置一個深度為6 cm的“V”型凹槽,使物塊固定在凹槽處,利于對物塊的收集和抓取。在凹槽兩側(cè)的舵機(jī)上設(shè)計(jì)了抓取裝置,以穩(wěn)定抓取物塊。除此之外,在凹槽后側(cè)裝配顏色識別模塊,便于在抓取物塊時識別物塊顏色。
頂板結(jié)構(gòu)共有兩層,如圖4 所示。上層為固定抽氣泵的固定支架,包括減振墊片和減振海綿,可以減少氣泵工作時抖動對機(jī)器人運(yùn)行的影響。下層使用4 個緊固螺絲連接機(jī)械臂,可以防止機(jī)械臂運(yùn)動時與機(jī)器人頂板發(fā)生位移。側(cè)邊設(shè)計(jì)一個可調(diào)節(jié)高度和俯仰角度的支架,用于固定OpenMV 攝像頭模塊。
圖4 頂板結(jié)構(gòu)Fig.4 Structure of top plate
物塊抓取結(jié)構(gòu)共分為上層機(jī)械臂搬運(yùn)結(jié)構(gòu)和下層舵機(jī)夾爪結(jié)構(gòu)兩個部分。上層機(jī)械臂抓取結(jié)構(gòu)由4 自由度機(jī)械臂、5 個高負(fù)壓抽氣泵和1個安裝了抽氣泵吸嘴的載物臺組成,機(jī)械臂的臂展最長可達(dá)40 cm。其中,4 自由度機(jī)械臂是由4個Dynamixel 舵機(jī)構(gòu)成的[15]。5 個高負(fù)壓抽氣泵使用脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號精確控制抽氣泵吸力。在機(jī)械臂最前端裝配一個厚度為4 mm 的載物臺,如圖5 所示。載物臺有5 個直徑為15 mm 的開孔,每個開孔之間的夾角為72°,用于安裝氣泵吸嘴,在吸嘴和載物臺之間使用密封性極高的樹脂膠固定,防止漏氣。氣泵向載物臺提供負(fù)壓吸力,最大負(fù)載為3.5 kg。為了使載物臺更好地與物塊接觸,在預(yù)留的開孔周圍增加3 mm 的凸臺,以增加機(jī)器人抓取物塊時的容錯率。下層舵機(jī)夾爪結(jié)構(gòu)由兩個扭矩為1.96 N·m 的舵機(jī)組成,每個舵機(jī)上安裝一個帶有一定弧度的夾取裝置,最大抓取貨物的直徑為18 cm。
圖5 載物臺結(jié)構(gòu)Fig.5 Structure of loading platform
智能光電搬運(yùn)機(jī)器人的循跡電路模塊由2 個8 路灰度傳感器、10 個單獨(dú)的灰度傳感器和8 個激光傳感器組成?;叶葌鞲衅魇且环N基于光敏二極管的光電效應(yīng)原理研發(fā)的光學(xué)模擬傳感元件,可以感知光線的亮度,并且光敏接收管在有效的檢測距離內(nèi)可以準(zhǔn)確地采集反射光線的強(qiáng)度[12]。然后,傳感器通過分壓電路和比較電路,將檢測到的光線強(qiáng)度轉(zhuǎn)換成模擬/數(shù)字信號。圖6 為灰度傳感器原理。
圖6 灰度傳感器原理Fig.6 Schematic diagram of grayscale sensor
灰度傳感器遇到黑線時光線反射較弱,灰度采集的數(shù)值相對較低,遇到白線時光線反射較強(qiáng),灰度采集的數(shù)值相對較大[16]。此外,通過機(jī)器人系統(tǒng)電路模塊上的模數(shù)轉(zhuǎn)換器端口輸入到微控制器進(jìn)行處理,使機(jī)器人對當(dāng)前狀態(tài)做出一定的調(diào)整[17]。安裝在機(jī)器人底部的10 個灰度傳感器起到定位標(biāo)志的作用,當(dāng)灰度傳感器檢測出黑線時,可以對一些路口進(jìn)行判斷,也可以用在機(jī)器人自身旋轉(zhuǎn)時判斷減速的關(guān)鍵定位標(biāo)志。
使用內(nèi)置滯回和濾波算法的8 路灰度傳感器,可以同時檢測不同位置的光線強(qiáng)度,獲取更精確的光線分布信息,以判斷機(jī)器人在黑線上的相對位置。同時,在8 路灰度傳感器外部還有外置濾光裝置,可有效抵抗陽光等其他光線的干擾。
激光傳感器使用波長為635 nm 的VCSEL,可以照射遠(yuǎn)距離的地面,識別遠(yuǎn)處黑線的分布情況,使機(jī)器人能夠提前進(jìn)行路口檢測并判斷相對于預(yù)設(shè)路徑的位置和姿態(tài)。通過激光傳感器和8路灰度傳感器的數(shù)據(jù)融合,智能光電搬運(yùn)機(jī)器人可以更全面地感知自身位置和周圍環(huán)境,并基于此做出對應(yīng)的控制和循跡決策,從而實(shí)現(xiàn)更準(zhǔn)確、更高效的移動。
智能光電搬運(yùn)機(jī)器人的驅(qū)動電路使用4 塊驅(qū)動芯片BNT8982TA 構(gòu)成兩個全橋驅(qū)動電路,分別驅(qū)動控制兩側(cè)的電機(jī)。BTN8982TA 的原理如圖7 所示。
圖7 BTN8982TA 原理Fig.7 Schematic diagram of BTN8982TA
通過PWM 技術(shù)得到脈寬可以調(diào)節(jié)的輸出信號,改變直流電機(jī)正負(fù)端上存在的電壓差,即可驅(qū)動直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止[18]。電機(jī)驅(qū)動模塊使用12 V 電壓供電,經(jīng)過SCT2630ASTER降壓轉(zhuǎn)換器后輸出5 V 電壓給驅(qū)動芯片BNT8982TA 供電,也可以給主控電路模塊上預(yù)留的外接設(shè)備供電。
考慮到搬運(yùn)機(jī)器人的功能需求以及工作環(huán)境,主控制系統(tǒng)選用STM32F407ZET6 單片機(jī),采用雙面板設(shè)計(jì),并且支持60 路模數(shù)轉(zhuǎn)換器輸入(Analog-to-Digital Converter Input,ADC)端口和通用輸入輸出(General-Purpose Input/Output,GPIO)端口、16 路 PWM 輸出端口、5 路通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART)等。將ADC 端口和GPIO 端口放置在單片機(jī)邊緣,將主控制芯片和串行線調(diào)試下載(Serial Wire Debug,SWD)端口放置在主控板的正面,其余放置在背面。驅(qū)動板也采用雙面板設(shè)計(jì),使用全橋原理驅(qū)動兩側(cè)的輪子,將按鍵和所有預(yù)留外部接口放置在驅(qū)動板背面,方便外接設(shè)備的接入。
智能光電搬運(yùn)機(jī)器人的系統(tǒng)控制流程如圖8所示。智能光電搬運(yùn)機(jī)器人運(yùn)行時首先使用OpenMV 進(jìn)行二維碼識別,再通過變積分增量式PID 控制算法、循跡模塊和電機(jī)驅(qū)動使機(jī)器人移動到任務(wù)區(qū)域,接著使用舵機(jī)夾爪固定物塊并識別顏色,然后將物塊搬運(yùn)至指定位置。在完成任務(wù)1 后循跡至任務(wù)2 物塊存放處,同時使用上層機(jī)械臂抓取結(jié)構(gòu)將5 個物塊抓取并搬運(yùn)至指定位置。最后任務(wù)2 全部完成并循跡回到出發(fā)點(diǎn)。
圖8 智能光電搬運(yùn)機(jī)器人的系統(tǒng)控制流程Fig.8 Flowchart of intelligent optoelectric handling robot
智能光電搬運(yùn)機(jī)器人使用多光學(xué)傳感器,主控芯片通過ADC 端口采集傳感器數(shù)據(jù),采集速度為800 次/秒。然而,環(huán)境自然光對傳感器的干擾和傳感器自身局限性導(dǎo)致它在采集數(shù)據(jù)時可能存在誤差。為了提高傳感器采集數(shù)據(jù)的穩(wěn)定性和可靠性,加入滑動平均濾波(Moving Average Filter,MAF)算法。其公式如下:
其中:Yt是第t次得到的濾波輸出,qt-1是第t-1次采集得到的數(shù)值,n為滑動窗口內(nèi)采樣點(diǎn)個數(shù)的中值,qt為傳感器的采集結(jié)果。qt為:
其中:δt為真實(shí)數(shù)據(jù),rt為噪聲。將式(2)代入式(1)可以得到:
本文設(shè)計(jì)的采樣點(diǎn)個數(shù)2n為10,每采集一次新數(shù)據(jù),就對前10 次采集的數(shù)據(jù)累加后求平均值,得到當(dāng)前時刻的濾波結(jié)果。MAF 算法可以濾除采集數(shù)據(jù)時的抖動和噪聲,避免機(jī)器人對周圍環(huán)境的誤判。
由于鋰電池存在長時間放電輸出電壓會逐漸降低的特性,機(jī)器人進(jìn)行大角度轉(zhuǎn)彎時與期望位置可能存在較大偏差,因此運(yùn)用PID 控制算法實(shí)時調(diào)整兩側(cè)電機(jī)轉(zhuǎn)速,提高了機(jī)器人循跡的穩(wěn)定性。為了減少主控芯片的計(jì)算量,并增強(qiáng)對外部擾動的抑制能力,本文選用增量式PID 控制算法。通過在機(jī)器人循跡功能模塊內(nèi)添加增量式PID 控制算法,可以使用閉環(huán)控制系統(tǒng)準(zhǔn)確控制機(jī)器人的循跡速度[16]。增量式PID 控制算法的原理如圖9 所示。
圖9 增量式PID 控制算法原理Fig.9 Schematic diagram of incremental PID control algorithm
增量式PID 控制器不僅繼承了傳統(tǒng)PID 控制器原理簡單、易于實(shí)現(xiàn)、適用面廣、控制參數(shù)相互獨(dú)立和參數(shù)選定簡單的優(yōu)點(diǎn),還克服了傳統(tǒng)PID 控制器抗干擾能力差、計(jì)算繁瑣和容易誤差疊加等缺點(diǎn)[19]。
由圖9 可知,需要準(zhǔn)確計(jì)算出電機(jī)速度的偏差和循跡時機(jī)器人中心與地圖黑線的偏差。電機(jī)轉(zhuǎn)速的偏差可通過編碼電機(jī)在固定時間內(nèi)采集到的脈沖數(shù)量確定,但位置偏差需要通過多光學(xué)傳感器得到的數(shù)據(jù)進(jìn)行加權(quán)融合后獲得。融合多光學(xué)傳感數(shù)據(jù)的公式如下:
計(jì)算得到的位置偏差為en,各光學(xué)傳感器采集的數(shù)據(jù)進(jìn)行MAF 處理后得到的數(shù)據(jù)分別為Yt_k,平衡狀態(tài)時采集得到的數(shù)值為E0,各傳感器獲得數(shù)據(jù)后的加權(quán)系數(shù)為βk,加權(quán)系數(shù)如表1 所示。表中,β1~β8對應(yīng)8 路灰度傳感器,β9,β10,β19,β20對應(yīng)激光傳感器,β11~β18對應(yīng)單個灰度傳感器。通過各光學(xué)傳感器采集的數(shù)據(jù)融合,根據(jù)黑線位置可以得到偏移量。機(jī)器人中心與黑線之間的距離越大,偏移量就越大。
表1 各傳感器獲得數(shù)據(jù)后的加權(quán)系數(shù)Tab.1 Weighting coefficients for each sensor after obtaining data
增量式PID 算法只是輸出了PWM 占空比的變化量,并不是直接控制PWM 輸出的絕對值,系統(tǒng)響應(yīng)更迅速。將偏差輸入增量式PID 控制算法,并計(jì)算出由比例項(xiàng)、積分項(xiàng)和微分項(xiàng)組成的控制量,調(diào)整PWM 的輸出改變機(jī)器人兩側(cè)輪子的速度差,進(jìn)而快速穩(wěn)定地到達(dá)目標(biāo)位置。增量式PID 控制算法的公式為:
由式(5)可知,PID 控制算法的積分系數(shù)Ki是固定系數(shù),所以積分增量在控制過程中也是不變的,積分系數(shù)過大則會產(chǎn)生超調(diào)甚至積分飽和,過小則無法短時間消除靜態(tài)誤差。然而系統(tǒng)偏差越大,積分作用應(yīng)該減弱甚至全無;偏差越小,積分作用則應(yīng)該加強(qiáng)[20]。針對這些問題,這里利用變積分算法的PID 控制思想。圖10 是變積分增量式PID 算法和傳統(tǒng)增量式PID 算法的性能對比。
圖10 變積分PID 算法和普通PID 算法的對比Fig.10 Comparison between variable integral PID algorithm and ordinary PID algorithm
由圖10 可知,為增量式PID 控制算法添加變積分系數(shù),可以使增量型PID 控制器的超調(diào)量減少、調(diào)節(jié)時間縮短,增加機(jī)器人循跡的穩(wěn)定性。
變積分的PID 積分項(xiàng)和變積分增量式PID算法的表達(dá)式分別為:
其中F(en)是一個線性變化的系數(shù),它的具體表達(dá)式如下:
F(en)的取值在[0,1]之間。en的絕對值越大,F(xiàn)(en)越小,反之則越大。
針對二維碼放置在距離出發(fā)點(diǎn)超過20 cm,大部分圖像傳感器無法識別的問題,圖像識別采用的方案為OpenMV+500 萬像素長焦鏡頭,手動對焦后可以更清楚地拍攝二維碼的圖像。OpenMV 首先拍照并將圖片進(jìn)行二值化和透視校正處理后,在圖像中尋找二維碼并繪制二維碼外框,其次識別二維碼并通過串口傳送給機(jī)器人的主控芯片。主控芯片接收到二維碼數(shù)值后進(jìn)行任務(wù)2 的搬運(yùn)。
PID 控制算法在運(yùn)行中需要調(diào)節(jié)Kp,Ki,Kd三個系數(shù)。實(shí)驗(yàn)中經(jīng)歷多次PID 參數(shù)調(diào)整后,得到多組控制PWM 輸出值與時間的關(guān)系,如圖11所示。
圖11 不同PID 參數(shù)的循跡對比Fig.11 Comparison of trajectory with different PID parameters
當(dāng)比例項(xiàng)較小時,無法處于期望位置,存在較大的靜態(tài)誤差;當(dāng)比例項(xiàng)較大時,系統(tǒng)響應(yīng)速度較快,但是會出現(xiàn)明顯的超調(diào)和振蕩現(xiàn)象,導(dǎo)致機(jī)器人最后失控。加入積分項(xiàng)后,機(jī)器人明顯距離期望位置更近,但是積分項(xiàng)過大時振蕩次數(shù)較多,長時間才能達(dá)到穩(wěn)定。微分項(xiàng)用于抑制機(jī)器人循跡時發(fā)生的過沖和振蕩,但是設(shè)置不宜過大,否則系統(tǒng)噪聲的放大作用會增強(qiáng),機(jī)器人會出現(xiàn)抖動問題[21]。經(jīng)過機(jī)器人循跡多次驗(yàn)證后,Kp,Ki,Kd分別設(shè)置為1.5,0.3,0.5。
為了盡量還原工廠、廠房的環(huán)境,本文設(shè)計(jì)了兩種實(shí)驗(yàn)環(huán)境。室內(nèi)環(huán)境是模擬工廠廠房的環(huán)境,室外陽光直射環(huán)境是為了測試機(jī)器人抗干擾的性能。工廠照明多為從上而下照射的大燈,與實(shí)驗(yàn)室使用的室內(nèi)頂燈相似。但工廠中存在不確定光源,例如焊接時的火光,窗口照射進(jìn)工廠的陽光等,故實(shí)驗(yàn)在室外多干擾環(huán)境下進(jìn)行。
光電傳感器測試分別使用紅外傳感器、灰度傳感器和激光傳感器進(jìn)行循跡測試,循跡路線是邊長為5 m 的正方形,線寬為20 mm。當(dāng)機(jī)器人轉(zhuǎn)彎后循跡可能發(fā)生較大的超調(diào)量,甚至脫軌。3 種傳感器安裝在機(jī)器人底盤的相同位置,在室內(nèi)正常環(huán)境和室外陽光照射環(huán)境各進(jìn)行20 次循跡,表2 為各傳感器循跡時最大超調(diào)量和脫軌次數(shù)對比。
表2 各傳感器循跡時的最大收斂距離和脫軌次數(shù)Tab.2 Maximum convergence distance and number of derailments for three sensors
由表2 可知,紅外傳感器對光線最敏感,環(huán)境影響大,在實(shí)驗(yàn)中室內(nèi)環(huán)境下脫軌8 次,室外環(huán)境下脫軌15 次,機(jī)器人在循跡時極易發(fā)生誤判。激光傳感器最準(zhǔn)確,機(jī)器人循跡時產(chǎn)生的超調(diào)量最小,無論室內(nèi)環(huán)境或是室外環(huán)境都沒有發(fā)生脫軌。
軟件程序使用Keil μVision5 和OpenMV IDE 軟件編寫。為了驗(yàn)證智能光電搬運(yùn)機(jī)器人循跡模塊中使用的融合激光傳感器和變積分增量式PID 算法的有效性,采用圖12 所示的搬運(yùn)測試地圖,通過自動化算法實(shí)現(xiàn)智能化搬運(yùn)物塊等任務(wù)。
智能光電搬運(yùn)機(jī)器人任務(wù)1 的流程如圖13所示。任務(wù)1 的流程從各功能初始化開始,然后向前循跡至指定位置停下,掃描二維碼獲取任務(wù)物塊擺放的順序。接著,機(jī)器人繼續(xù)向前循跡移動至各個物塊的存放區(qū)進(jìn)行物塊顏色識別,最后,舵機(jī)夾爪固定住物塊并搬運(yùn)至對應(yīng)顏色的目標(biāo)區(qū)域。
圖13 任務(wù)1 的流程Fig.13 Flowchart of task 1
任務(wù)1 中所有物塊搬運(yùn)結(jié)束后機(jī)器人回到起點(diǎn),停頓后循跡至任務(wù)2 物塊存放區(qū),使用上層機(jī)械臂抓取結(jié)構(gòu)抓取5 個物塊,并按照順序前往A,B,C,D 目標(biāo)區(qū)域放置物塊。智能光電搬運(yùn)機(jī)器人任務(wù)2 的流程如圖14 所示。
圖14 任務(wù)2 的流程Fig.14 Flowchart of task 2
針對任務(wù)1 的任務(wù)要求,設(shè)計(jì)了兩種循跡方案。方案一是機(jī)器人先到達(dá)中心位置,再按順序前往任務(wù)點(diǎn)1~4,每次抓取一個物塊并迅速放至指定位置;方案二是先通過外側(cè)的圓形黑線循跡,依次將4 個物塊抓取并放置在載物臺上,最后再回到地圖的中心點(diǎn),多次往返將物塊搬運(yùn)至對應(yīng)顏色的目標(biāo)區(qū)域。為了選取最優(yōu)方案,使用相同的物塊擺放順序進(jìn)行20 次測試,兩種循跡的準(zhǔn)確率及耗時如表3 所示。對比后發(fā)現(xiàn)方案一用時更短,且循跡軌跡較為簡單,機(jī)器人工作更穩(wěn)定。方案二用時長并有兩次脫軌,是因?yàn)檠E的總長度長并且黑線循跡情況復(fù)雜。
表3 任務(wù)1 的兩種循跡的準(zhǔn)確率與時長Tab.3 Accuracy and duration of two tracking methods in task 1
確定任務(wù)1 的循跡方案,再進(jìn)行任務(wù)1 總時長的測試。先按順序選取物塊的顏色,從5個顏色中隨機(jī)選出4個,并按照順序擺放在任務(wù)點(diǎn)1~4內(nèi)。共進(jìn)行20 次測試,不同顏色順序任務(wù)1 的耗時詳見表4。其中,最快用時1 分12 秒,最慢用時1 分45 秒,平均用時為1 分28 秒。智能光電搬運(yùn)機(jī)器人的循跡穩(wěn)定率、顏色識別和二維碼識別的正確率、搬運(yùn)物塊的得分率均達(dá)到100%。
表4 不同顏色順序任務(wù)1 用時測試Tab.4 Time test for task 1 in different color sequences
針對任務(wù)2 的要求,使用上層機(jī)械臂抓取結(jié)構(gòu)對物塊進(jìn)行抓取。首先機(jī)器人獲取到物塊的擺放順序,然后循跡至任務(wù)2 的物塊存放區(qū)停下,最后使用機(jī)械臂和氣泵將物塊搬運(yùn)到任務(wù)2 的目標(biāo)圈內(nèi)。
為了使機(jī)器人在地圖上更快地運(yùn)行到目標(biāo)區(qū)域,設(shè)計(jì)了3 種循跡方案。方案一是循跡經(jīng)過黑直線先去放置B 物塊,再掉頭放置A 物塊,完成后循跡一放置D 物塊,最后掉頭放置C 物塊。方案二是按順序B,C,D,A 放置物塊,每次先循跡一段黑直線并放置物塊,然后倒車回到出發(fā)點(diǎn),再向前循跡一段圓弧和一段黑直線放置下一個物塊。方案三是先循跡至B 和C 區(qū)域間,然后循跡一段黑直線放置C 物塊,再掉頭放置B 物塊,完成后倒車至出發(fā)點(diǎn),再向前循跡一個半圓并放置物塊A 和D。為了選取最優(yōu)方案,使用同樣的物塊擺放順序進(jìn)行20 次測試,3 種循跡方案的準(zhǔn)確率與時長對比如表5 所示。
表5 任務(wù)2 的三種循跡的準(zhǔn)確率與時長Tab.5 Accuracy and duration of three tracking methods in task 2
對比后發(fā)現(xiàn)方案三用時最短,且循跡軌跡路程短,可以有效減少機(jī)器人的擺動,避免物塊被甩出等問題的發(fā)生。方案一用時最長且有5 次未獲得滿分,是因?yàn)榭偮肪€長并且掉頭后循跡距離短,導(dǎo)致物塊部分沒有進(jìn)入目標(biāo)區(qū)域。方案二用時比方案三長,同時有1 次物塊掉落和1 次未將物塊完全放進(jìn)目標(biāo)區(qū)域,是因?yàn)樵趫A弧處加速導(dǎo)致車身擺動幅度大,物塊掉落載物臺。
確定了任務(wù)1 和任務(wù)2 的方案后,進(jìn)行機(jī)器人測試,測試過程如圖15 所示,測試結(jié)果如表6所示。經(jīng)過10 次完整任務(wù)測試,智能光電機(jī)器人搬運(yùn)的所有物塊都能完全放入目標(biāo)位置內(nèi),在起點(diǎn)處識別二維碼的準(zhǔn)確率達(dá)到100%,每次對物塊顏色識別的準(zhǔn)確率也達(dá)到100%,機(jī)械臂在10次測試中抓取物塊的準(zhǔn)確率也達(dá)到100%。此外,且機(jī)器人全程循跡穩(wěn)定性良好,未出現(xiàn)脫軌、超調(diào)和振蕩的現(xiàn)象。
圖15 智能光電搬運(yùn)機(jī)器人測試Fig.15 Test of intelligent photoelectric handling robot
本文提出了融合多路光學(xué)傳感器和變積分PID 算法的智能光電搬運(yùn)機(jī)器人,解決了搬運(yùn)機(jī)器人在復(fù)雜光環(huán)境下無法穩(wěn)定運(yùn)行且搬運(yùn)物塊放置時誤差大等問題。通過融合使用漫反射激光傳感器和8 路灰度傳感器,增強(qiáng)了機(jī)器人對環(huán)境的感知。加權(quán)累加融合各傳感器采集的數(shù)據(jù)偏差后,輸入變積分增量式PID 控制算法,使智能光電搬運(yùn)機(jī)器人可以迅速地響應(yīng)誤差并在短時間內(nèi)回到穩(wěn)定循跡狀態(tài),將收斂距離縮短至10 cm 以內(nèi)。此外,使用4 自由度機(jī)械臂和抽氣泵可以輕松抓取物塊。經(jīng)過20 次實(shí)驗(yàn)測試,無論室內(nèi)還是室外,本文提出的智能光電搬運(yùn)機(jī)器人都可以在3 min 內(nèi)完成所有任務(wù),更穩(wěn)定、更精準(zhǔn)、更快速地將所有物塊完全搬運(yùn)至目標(biāo)區(qū)域內(nèi)。