何 勇,王曉麗,楊明來(lái),沈 正
(1.上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 201620;2.上海應(yīng)用技術(shù)大學(xué)軌道交通學(xué)院,上海 201418)
隨著傳統(tǒng)制造業(yè)逐漸向智能生產(chǎn)轉(zhuǎn)型,AGV(自動(dòng)導(dǎo)引車)的利用率越來(lái)越高。盡管AGV系列產(chǎn)品已趨于多樣化,但仍存在磁導(dǎo)航的磁條易損、激光導(dǎo)航成本過(guò)高等缺點(diǎn),而且對(duì)于大噸位物料,傳統(tǒng)的小型AGV已無(wú)法滿足運(yùn)輸要求。
針對(duì)上述問(wèn)題,本設(shè)計(jì)中運(yùn)用先進(jìn)的視覺(jué)技術(shù)同時(shí)實(shí)現(xiàn)循跡和定位的功能,結(jié)合PID算法,增強(qiáng)了導(dǎo)引柔性且進(jìn)一步地提高了循跡精度,設(shè)計(jì)出一種雙向循跡結(jié)構(gòu)、搬運(yùn)能力在30 t級(jí)別的重載AGV。
AGV總體結(jié)構(gòu)如圖1所示,前側(cè)為從動(dòng)輪,后側(cè)為驅(qū)動(dòng)輪,其動(dòng)力源于減速電機(jī)。車體前后各安裝1個(gè)測(cè)障傳感器,側(cè)面配置觸摸屏,具有調(diào)速和設(shè)置站點(diǎn)等功能。由于重載AGV體型龐大,不易調(diào)轉(zhuǎn)車頭,所以前后均采用轉(zhuǎn)向?qū)б到y(tǒng)(含視覺(jué)傳感器),便于雙向循跡。
控制系統(tǒng)的主控單元采用S7-200 Smart系列PLC,CPU型號(hào)為ST30直流輸入/直流輸出型[1]。系統(tǒng)由48 V蓄電池供電,經(jīng)開(kāi)關(guān)電源降壓后為PLC及其他低壓元器件供電。
為了避免重載AGV制動(dòng)困難且電機(jī)易損壞的問(wèn)題,本系統(tǒng)使用擺線針輪減速電機(jī),力矩大且壽命更長(zhǎng),能夠更好地控制啟停動(dòng)作,極大提升負(fù)載能力。根據(jù)AGV載重m1=30 t,自身質(zhì)量m2=8 t,車速v=20 m/min,加速時(shí)間t=5 s,可爬坡度α=2°,滾動(dòng)摩擦系數(shù)μ=0.02??捎?jì)算出所需電機(jī)的功率,AGV受力分析如圖2所示。
圖2 AGV受力分析圖
加速度a=v/t=0.067 m/s2;勻速牽引力F1=μN(yùn)+mgsinα=μmgcosα+mgsinα=20 440 N;加速牽引力F2=μN(yùn)+mgsinα+ma=22 973 N(m=m1+m2);牽引合力F=F1+F2=43 413 N;電機(jī)功率P=Fv=14 471 W。式中N為斜面對(duì)AGV的支持力;m為貨物(圖中采用整體分析法,未畫出)與AGV的質(zhì)量之和。
由于有2個(gè)驅(qū)動(dòng)輪,所以采用2個(gè)7.5 kW的減速電機(jī)來(lái)分別驅(qū)動(dòng)。
為保證AGV自動(dòng)循跡時(shí)的安全性,采用PBS-03JN紅外測(cè)障傳感器。該傳感器利用紅外檢測(cè)原理,由內(nèi)部LED發(fā)出紅外線進(jìn)行180°全向掃描,在檢測(cè)范圍內(nèi)有障礙物時(shí),傳感器的接收管會(huì)收到反射回來(lái)的紅外信號(hào),輸出高電平[2]。當(dāng)PLC的輸入端接收到該高電平時(shí),會(huì)執(zhí)行減速、停車程序。
為提高可操控性,采用Smart Line系列的700 IE V3觸摸屏,通過(guò)RJ-45以太網(wǎng)端口與PLC相連,其應(yīng)用程序使用WinCC flexible SMART V3軟件繪制、編寫。HMI界面設(shè)計(jì)如圖3所示,有前進(jìn)后退、復(fù)位按鍵,速度調(diào)整和站點(diǎn)設(shè)置區(qū)域。
圖3 HMI界面設(shè)計(jì)圖
該系統(tǒng)兼具轉(zhuǎn)向和導(dǎo)引的功能,通過(guò)連桿分別與兩邊車輪相連,車輪與車體通過(guò)回轉(zhuǎn)支承固定。AGV的轉(zhuǎn)向角度由兩側(cè)極限位置的行程開(kāi)關(guān)決定,保證系統(tǒng)在直線導(dǎo)軌的滑動(dòng)范圍內(nèi)工作。視覺(jué)傳感器裝在系統(tǒng)中間的支架上,循跡運(yùn)行時(shí),由該系統(tǒng)的直流電機(jī)控制去尋找色帶。
BLD50A是一款自帶霍爾傳感器的直流電機(jī)驅(qū)動(dòng)器,具有大扭矩、快速啟停等特性,與直流電機(jī)、PLC的接線方式如圖4所示。驅(qū)動(dòng)器的三相端口及霍爾傳感器的HU、HV、HW、VCC、GND端口與直流電機(jī)相連,為電機(jī)提供驅(qū)動(dòng)和傳感器信號(hào)。BRK、EN、F/R都由PLC輸出端經(jīng)過(guò)繼電器驅(qū)動(dòng)[3],控制電機(jī)的制動(dòng)、使能及正反轉(zhuǎn)。ALM是報(bào)警信號(hào)輸出端;SPD是速度信號(hào)輸出端,通過(guò)模擬量擴(kuò)展模塊EM AM06的輸出端0~10 V電壓調(diào)節(jié)轉(zhuǎn)速。
圖4 電機(jī)驅(qū)動(dòng)器接線圖
系統(tǒng)采用PGV100-F200A-R4-V19視覺(jué)傳感器作為導(dǎo)航元件,上面5個(gè)LED燈的亮滅情況可反映當(dāng)前工作狀態(tài),具體狀態(tài)如表1所示。
表1 LED工作狀態(tài)指示表
傳感器基于視覺(jué)成像原理工作,可將鏡頭捕獲到的圖像轉(zhuǎn)換為數(shù)字信號(hào)輸出,其內(nèi)部建立的坐標(biāo)系以AGV運(yùn)動(dòng)方向?yàn)閄軸,以垂直于運(yùn)動(dòng)方向?yàn)閅軸[4],偏差允許范圍為傳感器相對(duì)色帶中心線在Y軸方向左右偏移30 mm。在循跡運(yùn)行時(shí),PLC每個(gè)掃描周期發(fā)出1次請(qǐng)求報(bào)文,傳感器反饋1次響應(yīng)數(shù)據(jù),判斷與色帶中心線的相對(duì)位置,由系統(tǒng)糾正偏差。
本設(shè)計(jì)采用Data Matrix(以下簡(jiǎn)稱DM)碼帶實(shí)現(xiàn)非接觸式定位,對(duì)于在惡劣的工廠環(huán)境下,DM碼自動(dòng)糾錯(cuò)的能力可以保證數(shù)據(jù)讀取的完整性。由如圖5(a)、圖5(b)所示的2組(共12個(gè))相同的DM碼構(gòu)成條形碼帶,保證AGV在運(yùn)動(dòng)狀態(tài)下有足夠的讀碼時(shí)間。
(a)第1組DM碼
AGV的工作流程如圖6所示,系統(tǒng)上電后進(jìn)入初始化,并在觸摸屏上設(shè)置目標(biāo)站點(diǎn)。AGV后側(cè)車輪回正后,前側(cè)轉(zhuǎn)向?qū)б到y(tǒng)開(kāi)始工作,視覺(jué)傳感器尋找色帶并進(jìn)行圖像處理,完成后減速電機(jī)驅(qū)動(dòng)AGV自動(dòng)循跡運(yùn)行。若出現(xiàn)跑偏,由PID算法控制及時(shí)糾正偏差,轉(zhuǎn)向?qū)б到y(tǒng)立即調(diào)整轉(zhuǎn)向以糾正運(yùn)行軌跡。在運(yùn)行時(shí)遇到障礙物會(huì)先減速后停車,移除障礙物后AGV繼續(xù)運(yùn)行[5]。當(dāng)視覺(jué)傳感器識(shí)別到目標(biāo)站點(diǎn)的DM碼帶時(shí),解碼后停車。
圖6 AGV控制流程
3.2.1 DM碼帶處理
3.2.1.1 圖像預(yù)處理
傳感器內(nèi)部CMOS相機(jī)捕獲的原圖像見(jiàn)圖7(a),按式(1)以相應(yīng)權(quán)值對(duì)RGB三原色分量進(jìn)行加權(quán)平均[7],得到灰度圖像,見(jiàn)圖7(b)。其灰度均值用V1表示:
V1=0.30R(x,y)+0.59G(x,y)+0.11B(x,y)
(1)
式中:x,y分別表示圖像的行和列;R(x,y)為紅色分量;G(x,y)為綠色分量;B(x,y)為藍(lán)色分量。
使用二維高斯濾波器進(jìn)行去噪平滑處理,經(jīng)處理后的灰度值為V2(σ表示方差),如式(2)所示。該傳感器還采用了雙采樣保持電路設(shè)計(jì),提高了信噪比,進(jìn)一步地降低噪聲對(duì)解碼的影響。
(2)
處理好的灰度圖像是前景色(DM碼中深色單元)與背景色(圖像中其他不同灰度的部分)組成的,對(duì)圖像進(jìn)行二值化處理時(shí)采用大津算法[7],它自動(dòng)計(jì)算出的閾值可將前景色和背景色盡可能地分開(kāi)。此閾值稱作類間方差I(lǐng)CV(intra-class variance),定義為式(3)。
ICV=PA(VA-V2)2+PB(VB-V2)2
(3)
式中VA和VB為前景色和背景色灰度平均值;PA和PB為前景色和背景色像素?cái)?shù)占總像素?cái)?shù)的比例。
根據(jù)灰度均值V2計(jì)算出的灰度直方圖被閾值分割成的兩部分,圖7(c)為二值化處理后的圖像。
(a)原圖像
3.2.1.2 DM碼定位
利用傳感器內(nèi)部坐標(biāo)系,對(duì)傾斜的DM碼進(jìn)行矯正處理。如圖8所示,實(shí)線方框?yàn)槌C正前DM碼位置,經(jīng)逆時(shí)針旋轉(zhuǎn)角度β后到虛線方框的矯正位置。再利用邊緣虛、實(shí)“L型”尋邊區(qū)實(shí)現(xiàn)DM碼的精確定位。
圖8 DM碼矯正示意圖
3.2.1.3 解碼識(shí)別
完成精確定位后提取出數(shù)據(jù)區(qū),調(diào)用DM碼核心庫(kù)libdmtx內(nèi)的功能矩陣將碼字流順序調(diào)整后解碼輸出[8]。
傳感器的響應(yīng)報(bào)文RX共由21字節(jié)組成,使用RS485串口通訊工具可查詢當(dāng)前AGV的請(qǐng)求、響應(yīng)報(bào)文。如表2所示,其中Byte15和Byte16反饋DM碼帶信息。當(dāng)傳感器讀取到DM碼帶時(shí),可利用式(4)、式(5)和響應(yīng)報(bào)文數(shù)據(jù)計(jì)算得出站點(diǎn)信息,可知目前AGV位于6號(hào)站點(diǎn)。
表2 當(dāng)前AGV的響應(yīng)報(bào)文(RX)
Byte15_1=Byte15 and H07
=08 and H07=H00
(4)
Control code=Byte15_1×H80 + Byte16
=00×H80 + 06=H006=06
(5)
3.2.2 色帶處理
對(duì)運(yùn)行中拍攝到的色帶先進(jìn)行預(yù)處理,與DM碼的預(yù)處理采用相同技術(shù)實(shí)現(xiàn)。下一步進(jìn)行模板匹配[9],將處理完的圖像與傳感器內(nèi)存中存儲(chǔ)的基準(zhǔn)圖像比較、匹配并計(jì)算相似度,與設(shè)置的循跡色帶顏色相同時(shí),AGV開(kāi)始自動(dòng)循跡運(yùn)行。如圖9所示,是傳感器配套軟件采集到的色帶基準(zhǔn)圖像。
圖9 色帶基準(zhǔn)圖
AGV循跡時(shí),傳感器對(duì)圖像預(yù)處理后需提取色帶中心線以計(jì)算出偏差值,實(shí)時(shí)控制轉(zhuǎn)向。提取色帶中心線采用從中心線沿Y軸向兩側(cè)橫向掃描的方式進(jìn)行[10],如有像素點(diǎn)的值從0變成1時(shí),則將2點(diǎn)的Y軸坐標(biāo)值通過(guò)式(6)計(jì)算得到色帶中心線的Y軸坐標(biāo)值,那么由(xn,y1)和(xn,y2)計(jì)算得出的點(diǎn)(xn,y0)就能夠擬合出色帶中心線。
y0=(y1+y2)/2
(6)
式中:y0為中心線上的Y軸坐標(biāo)值;y1、y2分別為左、右邊界Y軸坐標(biāo)值。
圖10(a)為某時(shí)刻拍攝的色帶圖像,圖10(b)對(duì)應(yīng)圖像10(a)擬合出的中心線。
(a)原圖像
傳感器讀頭相對(duì)于色帶中心線右偏,Y方向偏差值為正,AGV需要向左轉(zhuǎn)向;反之,AGV則需要向右轉(zhuǎn)向。由圖10(a)易觀察出傳感器相對(duì)于色帶左偏,進(jìn)一步地可根據(jù)此時(shí)反饋得到的響應(yīng)報(bào)文中的數(shù)據(jù)位信息(Byte7~Byte8反饋Y方向偏差值,如表2所示),利用式(7)計(jì)算出該時(shí)刻具體偏差值。
Y position=Byte7×H80+Byte8
=7F×H80+7A=H3FFA
(7)
因Y position>H2000(色帶中心線),Y軸偏差值為負(fù)值。
Y deviation=H4000-H3FFA=H6
(8)
所以此時(shí)偏差值為-6 mm,轉(zhuǎn)向?qū)б到y(tǒng)需要向右調(diào)整方向。
AGV循跡過(guò)程中,糾偏不及時(shí)則會(huì)偏離色帶路徑,影響導(dǎo)引柔性及生產(chǎn)效率。針對(duì)跑偏問(wèn)題,工業(yè)控制中常采用經(jīng)典PID算法來(lái)處理,該算法如式(9)所示,由比例調(diào)節(jié)、微分調(diào)節(jié)和積分調(diào)節(jié)組成,通過(guò)調(diào)整KP,KI和KD這3個(gè)參數(shù)來(lái)不斷優(yōu)化控制效果。
(9)
式中:e(k)為偏離值,本設(shè)計(jì)中傳感器內(nèi)部坐標(biāo)軸的X軸與色帶中心線重合時(shí),e(k)=0;KP為比例系數(shù),用來(lái)消除系統(tǒng)的當(dāng)前誤差;KI為積分控制參數(shù),用來(lái)平均過(guò)去的誤差;KD為微分控制參數(shù),用來(lái)通過(guò)誤差的改變來(lái)預(yù)測(cè)將來(lái)的誤差[11]。
在本系統(tǒng)中,采用基于PID算法的速度及位置雙閉環(huán)結(jié)構(gòu)控制方法。如圖11所示,外層結(jié)構(gòu)為位置環(huán),經(jīng)視覺(jué)傳感器對(duì)色帶路徑檢測(cè)并計(jì)算出偏離中心線的差值,回傳給PLC后調(diào)用PID算法,計(jì)算出傳感器的移動(dòng)速度;內(nèi)層為速度環(huán),外環(huán)計(jì)算得出的速度輸入到BLD50A電機(jī)驅(qū)動(dòng)器后,輸出PWM脈沖驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng),轉(zhuǎn)向?qū)б到y(tǒng)控制轉(zhuǎn)向完成AGV的循跡動(dòng)作。BLD50A驅(qū)動(dòng)器內(nèi)部的霍爾傳感器檢測(cè)到直流電機(jī)的實(shí)際轉(zhuǎn)速(+v為正轉(zhuǎn),-v為反轉(zhuǎn)),和計(jì)算得到的轉(zhuǎn)速進(jìn)行比較。當(dāng)偏移量較大時(shí),需要及時(shí)、快速地提高視覺(jué)傳感器的移動(dòng)速度,將傳感器位置矯正到色帶寬度范圍內(nèi),避免AGV脫離色帶路徑。具體的軟件設(shè)計(jì)流程如圖12所示。
圖11 雙閉環(huán)結(jié)構(gòu)控制模型
圖12 軟件設(shè)計(jì)流程
在現(xiàn)場(chǎng)測(cè)量出色帶寬度w=30 mm,觸摸屏設(shè)定AGV自動(dòng)循跡時(shí)速度v=20 m/min,利用上位機(jī)軟件對(duì)視覺(jué)傳感器進(jìn)行監(jiān)控,記錄循跡過(guò)程中色帶中心點(diǎn)的Y軸坐標(biāo)并計(jì)算出偏差值,如表3所示。
表3 偏差值記錄 mm
測(cè)試結(jié)果表明:采用基于PID算法的雙閉環(huán)結(jié)構(gòu)控制方法能有效地將偏差值控制在-13~13 mm內(nèi),循跡過(guò)程中傳感器始終在色帶寬度范圍內(nèi)工作,極大提高了導(dǎo)引柔性。而且DM碼帶也能實(shí)現(xiàn)目標(biāo)站點(diǎn)的準(zhǔn)確停車,如圖13所示,在現(xiàn)場(chǎng)30 t的載重測(cè)試下能夠平穩(wěn)運(yùn)行,說(shuō)明該AGV結(jié)構(gòu)設(shè)計(jì)合理,可實(shí)際運(yùn)用到生產(chǎn)現(xiàn)場(chǎng)。
圖13 載重循跡運(yùn)行測(cè)試
本設(shè)計(jì)中的重載AGV主要依靠視覺(jué)傳感器完成導(dǎo)引定位,糾偏時(shí)采用PID算法控制,搬運(yùn)能力較傳統(tǒng)AGV顯著提升,達(dá)到了設(shè)計(jì)目的。下一步工作是對(duì)多臺(tái)AGV調(diào)度系統(tǒng)進(jìn)行研究,使AGV之間協(xié)同合作,幫助管理者更好地運(yùn)營(yíng)生產(chǎn)車間,打造出靈活高效的智能工廠。