王輝,袁斌,王偉博,吳瑞明
(浙江科技學(xué)院機(jī)械與能源工程學(xué)院,浙江杭州 310023)
隨著中國(guó)制造2025計(jì)劃的深度推進(jìn),對(duì)智能設(shè)備的需求也不斷提高。自動(dòng)引導(dǎo)小車(Automated Guided Vehicle,AGV)作為智能制造中的重要組成部分,在智能車間、物流倉(cāng)儲(chǔ)、醫(yī)療等領(lǐng)域發(fā)揮越來(lái)越重要的作用。但是,目前AGV在實(shí)際應(yīng)用過(guò)程中往往存在導(dǎo)航精度和軌跡柔性難兼顧的現(xiàn)象,這也是AGV在很多領(lǐng)域推廣應(yīng)用的難點(diǎn)。
根據(jù)導(dǎo)航方式對(duì)AGV進(jìn)行分類,可以分為磁導(dǎo)航、色帶導(dǎo)航、激光導(dǎo)航、慣性導(dǎo)航、即時(shí)定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)導(dǎo)航、復(fù)合導(dǎo)航等。不同的導(dǎo)航方式對(duì)應(yīng)不同的需求,其中磁導(dǎo)航和色帶導(dǎo)航應(yīng)用最廣泛,具有精度高、運(yùn)行穩(wěn)定、成本低等優(yōu)點(diǎn),但軌跡柔性較差;激光導(dǎo)航可以滿足生產(chǎn)需求,但需要安裝發(fā)射板,成本相對(duì)較高;慣性導(dǎo)航在導(dǎo)航過(guò)程中存在累計(jì)誤差,因此需要定期進(jìn)行矯正,且精度高的慣性元件價(jià)格較高;SLAM導(dǎo)航分為激光雷達(dá)和雙目視覺兩種,對(duì)于實(shí)現(xiàn)高精度的導(dǎo)航在技術(shù)上還存在難點(diǎn),數(shù)據(jù)計(jì)算量大且算法復(fù)雜;復(fù)合導(dǎo)航是結(jié)合兩種以上方法,優(yōu)勢(shì)互補(bǔ)完成定位導(dǎo)航。肖獻(xiàn)強(qiáng)等提出一種利用二維碼與慣性導(dǎo)航組合的方式進(jìn)行定位導(dǎo)航,取得了較好成果,但存在視覺識(shí)別二維碼效率低的問(wèn)題,不利于AGV高效運(yùn)行。
針對(duì)上述情況,提出一種基于視覺和RFID復(fù)合導(dǎo)航的方式。采用地標(biāo)圖像中嵌入射頻卡的策略建立網(wǎng)格型地圖,當(dāng)AGV處于兩個(gè)站點(diǎn)之間時(shí),通過(guò)識(shí)別AGV前方站點(diǎn)的位置來(lái)評(píng)估當(dāng)前是否偏離預(yù)期軌跡;當(dāng)AGV接近拐點(diǎn)時(shí),RFID傳感器讀取到站點(diǎn)信息后AGV進(jìn)入低速模式,為轉(zhuǎn)彎糾偏做準(zhǔn)備;當(dāng)AGV到達(dá)站點(diǎn)時(shí),由AGV正下方的視覺傳感器評(píng)估AGV相對(duì)于站點(diǎn)的橫向、縱向、角度誤差,并進(jìn)行補(bǔ)償。為提高轉(zhuǎn)角的準(zhǔn)確性,先根據(jù)運(yùn)動(dòng)模型得到的轉(zhuǎn)角進(jìn)行初步轉(zhuǎn)彎,再利用安裝在AGV前方的視覺傳感器獲得的偏角進(jìn)行角度調(diào)整。在傳感器捕捉位置信息時(shí)引入卡爾曼濾波來(lái)降低抖動(dòng)產(chǎn)生的干擾。
基于視覺和RFID復(fù)合導(dǎo)航的AGV主要結(jié)構(gòu)如圖1所示。
圖1 AGV主要結(jié)構(gòu)示意
AGV采用兩輪差速方式驅(qū)動(dòng)行駛,并在前后分別安裝兩個(gè)萬(wàn)向輪做支撐。AGV上安裝兩個(gè)視覺傳感器,分別用于捕捉AGV正下方圖像信息和正前方地面的圖像信息。RFID傳感器安裝在底盤前方位置,用于檢測(cè)是否即將到達(dá)站點(diǎn)和讀取坐標(biāo)信息。
在運(yùn)動(dòng)過(guò)程中,由控制器發(fā)送指令給伺服驅(qū)動(dòng)器,從而控制電機(jī)轉(zhuǎn)速并調(diào)整AGV姿勢(shì)。根據(jù)兩輪差速原理建立運(yùn)動(dòng)學(xué)模型如圖2所示。AGV在某時(shí)刻的位姿可以表示為=[,,],其中:、為AGV所在的二維平面坐標(biāo)點(diǎn);為AGV的偏轉(zhuǎn)角。
圖2 AGV運(yùn)動(dòng)學(xué)模型
假設(shè)時(shí)刻左輪速度為,右輪速度為,AGV質(zhì)心的移動(dòng)速度和角速度可以表示為
(1)
式中:為兩驅(qū)動(dòng)輪之間的距離。
根據(jù)式(1),軌跡曲率圓半徑和瞬時(shí)轉(zhuǎn)角Δ可以表示為
(2)
根據(jù)上述公式將速度和角速度離散化可以得到AGV任何時(shí)刻的姿勢(shì),如式(3)所示:
(3)
式中:為采樣周期;、、為控制量。
根據(jù)式(2)可建立直線行駛時(shí)角度誤差和軌跡誤差模型:
(4)
根據(jù)AGV的運(yùn)動(dòng)模型建立Simulink仿真模型,結(jié)果表明:AGV在直行時(shí)軌跡誤差較小,但經(jīng)過(guò)轉(zhuǎn)彎后,轉(zhuǎn)角存在誤差使得軌跡出現(xiàn)較大誤差。因此,提高AGV轉(zhuǎn)角的精度對(duì)AGV定位導(dǎo)航具有重要意義。
圖3所示為AGV的框架,AGV總控制器為PC,主要負(fù)責(zé)處理攝像頭數(shù)據(jù)、與云端Socket通信、與STM32控制器串口通信;STM32控制器主要用于接收RFID傳感器的數(shù)據(jù),并解碼和控制電機(jī)驅(qū)動(dòng)器。
圖3 AGV總體框架示意
采用地標(biāo)圖像中嵌入射頻卡的形式構(gòu)建地圖,射頻卡中的信息為00000000~99999999,前四位為橫坐標(biāo),后四位為縱坐標(biāo),AGV路徑地圖如圖4所示。
圖4 AGV路徑地圖示意
已知AGV起始姿勢(shì)為[0001,0001,90],終點(diǎn)姿勢(shì)為[0003,0003,0],可以通過(guò)遺傳算法等路徑規(guī)劃算法得出最優(yōu)路徑,然后將最優(yōu)路徑寫入控制器。如圖3所示的路徑轉(zhuǎn)化為自定義控制指令,可以表示為(10000)、(12090,10000)、(11045,10000)、(12045),其中:10000為直行指令;12090為右轉(zhuǎn)90°;11045為左轉(zhuǎn)45°;12045為右轉(zhuǎn)45°。
攝像頭在使用前需要進(jìn)行畸變矯正處理,因此利用MATLAB視覺工具箱進(jìn)行標(biāo)定。
中間攝像頭安裝在距離地面18 cm高的位置,主要用于檢測(cè)AGV經(jīng)過(guò)站點(diǎn)時(shí)的軌跡誤差。為方便計(jì)算軌跡誤差,將圖像坐標(biāo)進(jìn)行平移旋轉(zhuǎn)變化,圖像中心為坐標(biāo)原點(diǎn)。圖像變換公式如下:
(5)
式中:、為原圖像坐標(biāo);、為變化后的坐標(biāo)。
站點(diǎn)上的圓形圖案采用霍夫變換進(jìn)行檢測(cè)。根據(jù)霍夫原理,將笛卡爾坐標(biāo)轉(zhuǎn)化為霍夫坐標(biāo),圓上的點(diǎn)在霍夫空間為三維曲線,并且同一個(gè)圓上的點(diǎn)在三維空間中交于一點(diǎn),如下所示:
(-)+(-)=
(6)
將式(6)所示的笛卡爾坐標(biāo)轉(zhuǎn)為霍夫坐標(biāo):
(7)
根據(jù)原理設(shè)定半徑和重合點(diǎn)數(shù)量的閾值,檢測(cè)結(jié)果如圖5所示。
圖5 霍夫變換圓檢測(cè)結(jié)果
檢測(cè)AGV前方站點(diǎn)時(shí),首先,將攝像頭采集的 RGB圖像轉(zhuǎn)換為HSV圖像并設(shè)置紅色閾值;然后進(jìn)行二值化和輪廓檢測(cè),為增加檢測(cè)的抗干擾能力,在輪廓檢測(cè)時(shí)引入輪廓面積、輪廓周長(zhǎng)來(lái)篩選圖案輪廓;最后,作最小外接矩形并計(jì)算中心像素坐標(biāo)。檢測(cè)結(jié)果如圖6所示。
圖6 地標(biāo)檢測(cè)結(jié)果
AGV在運(yùn)動(dòng)過(guò)程中存在不可避免的抖動(dòng)和攝像頭采集數(shù)據(jù)不穩(wěn)定的問(wèn)題,所產(chǎn)生的隨機(jī)誤差可以看作白噪聲,因此在圖像采集過(guò)程中引入卡爾曼濾波。通過(guò)攝像頭獲取地標(biāo)相對(duì)于AGV的位置,對(duì)位置坐標(biāo)(,)進(jìn)行濾波處理,減少隨機(jī)誤差的干擾。參數(shù)狀態(tài)方程和觀測(cè)方程分別如式(8)、式(9)所示:
(8)
()=()+()
(9)
式中:(+1)為+1時(shí)刻的狀態(tài);+1、+1為+1時(shí)刻地標(biāo)相對(duì)于AGV的坐標(biāo);為像素坐標(biāo)與世界坐標(biāo)的比例關(guān)系;Δ、Δ為時(shí)刻的坐標(biāo)增量;()為過(guò)程噪聲;()為時(shí)刻的觀測(cè)值;()為觀測(cè)噪聲。
為降低打滑、抖動(dòng)等因素對(duì)軌跡產(chǎn)生的影響,對(duì)不同運(yùn)動(dòng)階段采用不同的控制速度,在轉(zhuǎn)彎和檢測(cè)地標(biāo)時(shí)采用較低速度,直線行走時(shí)采用較快速度。
圖7為AGV從啟動(dòng)到轉(zhuǎn)彎的各階段控制示意??芍篈GV在0~時(shí),加速度為;在~時(shí),AGV處于兩個(gè)站點(diǎn)之間,速度保持在行駛;在~時(shí),RFID傳感器檢測(cè)到下一站點(diǎn)坐標(biāo),并判斷是否需要轉(zhuǎn)彎,需要轉(zhuǎn)彎時(shí)AGV開始減速;在~時(shí),保持低速行駛,并等待AGV正中間的攝像頭檢測(cè)到地標(biāo)圖案;在~時(shí),速度降低至0,計(jì)算并補(bǔ)償軌跡誤差;在~時(shí),開始轉(zhuǎn)向并補(bǔ)償轉(zhuǎn)角誤差;在~時(shí),AGV開始加速往下一站點(diǎn)行駛。
圖7 各階段控制示意
在經(jīng)過(guò)轉(zhuǎn)彎或終點(diǎn)站時(shí),AGV會(huì)進(jìn)行位置和角度的補(bǔ)償。如圖8所示,矯正由狀態(tài)(1)~狀態(tài)(5)組成,首先由正中間的攝像頭檢測(cè)到地標(biāo)圖像位置,然后進(jìn)行像素坐標(biāo)與世界坐標(biāo)之間的轉(zhuǎn)化,得到角度和位置誤差。
圖8 糾偏控制方法示意
當(dāng)前AGV姿勢(shì)下,誤差可由式(10)表示:
(10)
式中:為位置誤差;、為站點(diǎn)相對(duì)于AGV的位置坐標(biāo);為角度誤差。
根據(jù)差動(dòng)輪驅(qū)動(dòng)原理,將偏角轉(zhuǎn)化為輪子移動(dòng)距離:
=(×)2
(11)
調(diào)整角度后,向前行駛距離到達(dá)狀態(tài)(3)的位置,然后向反方向旋轉(zhuǎn),最后根據(jù)AGV前方攝像頭計(jì)算出AGV轉(zhuǎn)彎后偏離的并矯正誤差。
在運(yùn)行過(guò)程中,將攝像頭觀測(cè)到的軌跡誤差和角度誤差輸入PID控制器中進(jìn)行調(diào)整,加快系統(tǒng)響應(yīng)。增量式PID表示如下:
Δ()=[()-(-1)]+()+[()-(-1)+(-2)]
(12)
式中:、、為PID中的3個(gè)參數(shù);為期望與觀測(cè)之間的差值。
采用自主設(shè)計(jì)的AGV小車作為實(shí)驗(yàn)設(shè)備,如圖9所示。AGV主要參數(shù):車身大小700 mm×450 mm×350 mm;兩輪間距435 mm;最大移動(dòng)速度1 m/s;地標(biāo)間距1 m。對(duì)AGV進(jìn)行原地旋轉(zhuǎn)測(cè)試、正方形路徑測(cè)試、8字形路徑測(cè)試。
圖9 AGV實(shí)物
原地轉(zhuǎn)彎測(cè)試主要是檢測(cè)AGV轉(zhuǎn)彎時(shí),轉(zhuǎn)角大小對(duì)位置精度的影響。AGV在轉(zhuǎn)彎時(shí)處于低速狀態(tài),因此測(cè)試時(shí)輪子速度為0.2 m/s。旋轉(zhuǎn)過(guò)程分為兩部分:左轉(zhuǎn)彎360°、右轉(zhuǎn)彎360°,誤差如圖10所示??芍涸剞D(zhuǎn)彎時(shí),前360°轉(zhuǎn)彎的、向誤差基本在3 mm內(nèi),后360°轉(zhuǎn)彎誤差在5.5 mm內(nèi)。
圖10 原地轉(zhuǎn)彎 位置誤差
正方形路徑測(cè)試和8字形路徑測(cè)試分別是為了檢測(cè)AGV連續(xù)拐彎情況和拐彎帶直線行駛情況的路徑和角度精度,兩者的路徑如圖11所示。圖12、圖13所示分別為測(cè)試路徑的軌跡誤差和角度誤差。可知:正方形路徑的軌跡誤差最大值為24.5 mm,平均誤差為4.6 mm,角度誤差最大值為1.4°,平均誤差為0.7°;8字形路徑的軌跡誤差最大值為25.0 mm,平均誤差為7.1 mm,角度誤差最大值為1.2°,平均誤差為0.6°。在測(cè)試過(guò)程中,AGV可以自動(dòng)完成糾偏,并將誤差保持在一定值內(nèi),與文獻(xiàn)[16]中的導(dǎo)航方式得到的平均軌跡誤差12 mm、角度誤差1°相比,有所提升。
圖11 測(cè)試路徑示意
圖12 測(cè)試路徑的軌 圖13 測(cè)試路徑的角
本文作者提出一種基于視覺和RFID技術(shù)相結(jié)合的AGV復(fù)合導(dǎo)航方法。利用RFID技術(shù)快速識(shí)別地標(biāo)中的射頻卡信息,并得出AGV坐標(biāo);利用視覺識(shí)別地標(biāo)與AGV的相對(duì)位置關(guān)系,并矯正軌跡、方向偏差,既能保證路徑柔性,又可兼顧導(dǎo)航精度。采取兩種路徑進(jìn)行測(cè)試,結(jié)果表明:平均軌跡偏差為5.85 mm,平均角度偏差為0.65°,該AGV基本滿足實(shí)際生產(chǎn)需求。研究結(jié)果為解決AGV定位導(dǎo)航問(wèn)題提供了參考。