文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182329
中文引用格式: 牛秦玉,李珍惜,田海波. 基于RFID技術(shù)的叉車式AGV動(dòng)作指令算法研究[J].電子技術(shù)應(yīng)用,2018,44(12):115-118,122.
英文引用格式: Niu Qinyu,Li Zhenxi,Tian Haibo. Research on forklift type AGV action command algorithm based on RFID[J]. Application of Electronic Technique,2018,44(12):115-118,122.
0 引言
對(duì)于物件搬運(yùn)AGV(自動(dòng)導(dǎo)引車),導(dǎo)引和定位是其關(guān)鍵研究部分。常用的導(dǎo)引方式有磁導(dǎo)引[1]、視覺導(dǎo)引[2]、激光導(dǎo)引[3]等,定位方式有二維碼定位[4]、RFID射頻識(shí)別定位[5]、超聲波定位等,其中磁導(dǎo)引磁條鋪設(shè)方便、路徑變更容易,射頻識(shí)別不易污染、對(duì)聲光無干擾,因此集成RFID技術(shù)的磁導(dǎo)引AGV在自動(dòng)化生產(chǎn)運(yùn)輸中的應(yīng)用廣泛。
針對(duì)磁導(dǎo)引中的RFID技術(shù),已有諸多學(xué)者進(jìn)行研究。顧佳煒等人[6]通過在電子標(biāo)簽中寫入標(biāo)簽編號(hào)和運(yùn)動(dòng)控制參數(shù)實(shí)現(xiàn)AGV導(dǎo)航。李季[7]采用RFID輔助定位并借助橫向磁條的方式完成車輛轉(zhuǎn)彎、停車等動(dòng)作。羅雨佳[8]將AGV轉(zhuǎn)彎動(dòng)作模式固定,利用標(biāo)簽信息實(shí)現(xiàn)轉(zhuǎn)彎90°和180°。
上述文獻(xiàn)大多是把動(dòng)作指令寫在電子標(biāo)簽內(nèi),由于保存的指令信息單一,標(biāo)簽利用率低,當(dāng)實(shí)際路徑復(fù)雜時(shí)需布置更多標(biāo)簽,不利于路徑規(guī)劃和導(dǎo)引。本文在前人研究基礎(chǔ)上,以解決復(fù)雜路徑下AGV的導(dǎo)引問題為目標(biāo),提出一種車輛動(dòng)作指令算法,根據(jù)調(diào)度任務(wù)生成動(dòng)作指令并保存在車載控制系統(tǒng),標(biāo)簽僅作為位置識(shí)別以提高車輛行駛靈活性。
1 行駛地圖建模
1.1 地圖組成
地圖由導(dǎo)引磁條、工位組成,如圖1所示,二者分別用線條和矩形表示。g表示工位,數(shù)量為h,按式(1)對(duì)其編號(hào)(圖中小矩形右側(cè)數(shù)字),則工位集合可以表示為G={g1,g2,g3,…,gh}。l表示線路,數(shù)量為n,規(guī)定橫向、縱向線路編號(hào)分別用偶數(shù)、奇數(shù)表示并按式(2)對(duì)其編號(hào)(圖中圓圈內(nèi)的數(shù)字),線路集合為L(zhǎng)={l1,l2,…,ln}。
基于本文的應(yīng)用場(chǎng)景規(guī)定AGV除了進(jìn)入工位時(shí)貨叉朝前向前行駛外,其余情況下均后退行駛,在線路交叉處、進(jìn)工位時(shí)減速行駛。
1.2 電子標(biāo)簽布置方式
1.2.1 工位相關(guān)標(biāo)簽布置
圖2中pi1,pi2,…,pi7表示電子標(biāo)簽位置。圖2(a)為AGV直行從左側(cè)進(jìn)入工位gi,規(guī)定依次在pi3、pi5、pi4、pi7處分別減速、由后退行駛變?yōu)榍斑M(jìn)、前進(jìn)右轉(zhuǎn)、停車。圖2(b)為AGV后退左轉(zhuǎn)出工位,依次在pi7、pi6、pi1處分別后退直行、后退左轉(zhuǎn)、加速。AGV從工位右側(cè)進(jìn)、出和其從左側(cè)進(jìn)、出相似。定義pik是和工位gi相關(guān)的第k個(gè)標(biāo)簽(k∈{1,2,…,7}),按圖2布置,其組成用矩陣S1表示為:
1.2.2 線路標(biāo)簽布置
在每條線路兩端各放置兩個(gè)電子標(biāo)簽。Sja表示線路lj上的第a個(gè)標(biāo)簽,a={1,2,3,4}。規(guī)定Sj1、Sj2、Sj3、Sj4在lj上依次沿坐標(biāo)軸正方向布置,Sj1和Sj4之間的線段為線路lj的范圍。車輛在Sj1、Sj4處執(zhí)行轉(zhuǎn)彎指令以進(jìn)入其他線路,在Sj2、Sj3處執(zhí)行加速或減速指令使其進(jìn)入lj時(shí)加速,離開lj時(shí)減速。所有線路上的標(biāo)簽用式(4)所示矩陣S2表示,最終地圖中所有標(biāo)簽的布置情況如圖3所示。
2 動(dòng)作指令算法
首先對(duì)標(biāo)簽編碼,然后根據(jù)調(diào)度路徑確定經(jīng)過每個(gè)標(biāo)簽的順序,最后根據(jù)標(biāo)簽排序生成動(dòng)作指令。
2.1 電子標(biāo)簽編碼
電子標(biāo)簽編碼格式如圖4所示,其中x、y表示標(biāo)簽在地圖中的坐標(biāo),‘pro’表示屬性,即車輛在標(biāo)簽處可執(zhí)行的動(dòng)作指令種類,‘line’表示所在線路,‘sit’表示相關(guān)工位號(hào)。根據(jù)AGV在線路上的行駛方式規(guī)定Sj1、Sj4的‘pro’位為‘01’,表示轉(zhuǎn)彎,Sj2、Sj3的‘pro’位為‘02’表示加減速。Sja的‘line’位為其所在線路編號(hào)j,‘sit’位用零表示。標(biāo)簽pik的‘pro’位根據(jù)AGV進(jìn)出工位方式將其用表1表示,‘line’位為pi1所在的線路編號(hào),‘sit’位為和其相關(guān)的工位編號(hào)i。
2.2 路徑建立與選擇
其中,w表示路徑,數(shù)量為m(m≥m0),則所有路徑組成的矩陣可表示為W=[w1,w2,…,wm]T。ltx表示路徑wt的第x條線路,其中wt={lt1,lt2,…,ltx,…},t∈{1,2,…,m},ltx∈L,設(shè)第t條路徑所包含的線路數(shù)量最大且為n1,則W為m×n1階矩陣。對(duì)于線路數(shù)目不足n1的,不足部分用0表示,路徑矩陣用式(6)表示:
2.3 調(diào)度路徑標(biāo)簽排序方式
對(duì)任意兩條相連接線路上標(biāo)簽,第一條和第二條分別用lu、lv表示。lu上的標(biāo)簽為Su1、Su2、Su3、Su4,lv上的標(biāo)簽為Sv1、Sv2、Sv3、Sv4。r0表示從lu到lv經(jīng)過的標(biāo)簽順序。設(shè)Su1坐標(biāo)為(x1,y1),Sv1坐標(biāo)為(x2,y2),經(jīng)過二者坐標(biāo)比較可推斷出lu和lv的相對(duì)位置關(guān)系:
第一種情況:x1>x2,y1>y2,如圖5(a)、圖5(b)所示,r0={Su4,Su3,Su2,Su1,Sv4,Sv3,Sv2,Sv1}。
第二種情況:x1>x2,y1<y2,如果lu為奇數(shù),r0={Su1,Su2,Su3,Su4,Sv4,Sv3,Sv2,Sv1},對(duì)應(yīng)圖5(c);否則r0={Su4,Su3,Su2,Su1,Sv1,Sv2,Sv3,Sv4},對(duì)應(yīng)圖5(d)。同理可推斷出其余幾種情況下的r0元素排列情況。
對(duì)于路徑wβ,首先根據(jù)式(4)選出每段線路上的標(biāo)簽,然后按照車輛在該路徑上經(jīng)過每個(gè)標(biāo)簽的順序排列,步驟如下:
(1)將lβ1、lβ2分別視為第一條、第二條線路,根據(jù)坐標(biāo)關(guān)系判斷出兩者位置關(guān)系。按照兩條線路標(biāo)簽排序規(guī)則進(jìn)行排序,并將排序結(jié)果放在數(shù)組r1中;
(2)將lβ2、lβ3分別視為第一條、第二條線路進(jìn)行排序,將lβ3標(biāo)簽的排序結(jié)果添加在數(shù)組r1中;
(3)依次對(duì)線路lβ3、lβ4,lβ4、lβ5,…,按照類似步驟(2)的方式排列標(biāo)簽。
根據(jù)AGV進(jìn)出工位的方式刪除r1中未在lj1和lj2上經(jīng)過的標(biāo)簽,此時(shí)r1中元素個(gè)數(shù)用b1表示。
2.4 動(dòng)作指令
動(dòng)作指令格式如圖6所示,前5位為電子標(biāo)簽編碼,‘ins’位為AGV在前5位對(duì)應(yīng)的標(biāo)簽處執(zhí)行的動(dòng)作指令,按其功能不同進(jìn)行編碼,如表2所示。AGV從起始工位gs到目標(biāo)工位ge過程中,按照出工位、路徑上行駛、進(jìn)工位的順序行駛,RFID閱讀器持續(xù)讀取地面標(biāo)簽信息并將其傳遞給車載控制系統(tǒng),通過依次按條件執(zhí)行指令完成調(diào)度任務(wù),條件為當(dāng)前讀取的標(biāo)簽信息和要執(zhí)行指令的標(biāo)簽編碼位一致。
2.4.1 出工位動(dòng)作指令
R1表示出工位動(dòng)作指令集合。如果AGV從左側(cè)出工位,則在S1第S行‘pro’位為‘09’、‘08’、‘03’的標(biāo)簽編碼后分別添加‘00’、‘01’和‘05’,否則在S1第S行‘pro’位為‘09’、‘08’、‘07’的標(biāo)簽編碼后分別添加‘00’、‘02’和‘05’,并依次作為R1中第1、2、3條動(dòng)作指令。
2.4.2 路徑動(dòng)作指令
分別對(duì)r1中b1個(gè)標(biāo)簽按‘pro’位確定動(dòng)作指令。R2表示路徑動(dòng)作指令集合,圖7為其判斷流程。
2.4.3 進(jìn)工位動(dòng)作指令
R3表示出工位動(dòng)作指令集合。AGV從左側(cè)進(jìn)工位,在S1第e行‘pro’位為‘05’、‘07’、‘06’、‘09’的標(biāo)簽編碼后分別添加‘06’、‘07’、‘04’、‘08’;否則在該行‘pro’位為‘05’、‘03’、‘04’、‘09’的標(biāo)簽編碼后分別添加‘06’、 07’、‘03’、‘08’,并依次作為R3中第1、2、3、4條指令。
每次執(zhí)行任務(wù)的完整指令集合用R表示,則:
3 試驗(yàn)結(jié)果及分析
在圖7中選擇工位12、13、17、18進(jìn)行試驗(yàn)。標(biāo)簽編碼如圖8所示,前兩位為x坐標(biāo),第3~4位為y坐標(biāo),第5~6位表示屬性,第7~8位為其所在線路編號(hào),最后兩位為和其相關(guān)工位編號(hào)。
在VC++6.0中編寫車輛動(dòng)作指令程序,選取基于ARM架構(gòu)并集成了RC522射頻識(shí)別模塊的模型車作為試驗(yàn)對(duì)象。圖9為鋪設(shè)導(dǎo)引線和放置標(biāo)簽后的實(shí)際車輛運(yùn)行圖。試驗(yàn)表明,車輛能夠按照預(yù)期的目的完成調(diào)度任務(wù)。圖10為將動(dòng)作指令寫入標(biāo)簽內(nèi)的導(dǎo)引方式,AGV通過執(zhí)行標(biāo)簽內(nèi)指令完成加減速等動(dòng)作。因地面標(biāo)簽布置結(jié)束后其內(nèi)部指令信息已確定,所以車輛經(jīng)過每個(gè)標(biāo)簽時(shí)僅能完成某個(gè)固定動(dòng)作,導(dǎo)引方式相對(duì)單一,靈活性差。
選取不同的起始工位和目標(biāo)工位進(jìn)行組合,代表不同調(diào)度任務(wù),在C++6.0中其每次運(yùn)算結(jié)果如圖11所示,每條動(dòng)作指令前10位為電子標(biāo)簽編碼,最后兩位為AGV在該標(biāo)簽執(zhí)行的動(dòng)作。
由圖11(a)、11(b)可知任務(wù)1、2的行駛路線分別為20→22→24,20→22→21→18,AGV均經(jīng)過了標(biāo)簽4610012200,任務(wù)1中沒有該標(biāo)簽對(duì)應(yīng)的指令,AGV在此處不執(zhí)行任何指令,從線路22保持直行狀態(tài)進(jìn)入線路24;任務(wù)2中在該標(biāo)簽對(duì)應(yīng)的指令為461001220002,最后兩位‘02’表示AGV在此處后退右轉(zhuǎn),由線路22進(jìn)入線路21。對(duì)比可得: AGV僅在滿足動(dòng)作指令執(zhí)行條件的標(biāo)簽處執(zhí)行該指令。
由圖11(c)、11(d)可知任務(wù)3、4的行駛路線分別為24→21→16→14,24→21→18,AGV均經(jīng)過了標(biāo)簽4722012100,任務(wù)3中AGV在該標(biāo)簽對(duì)應(yīng)的指令為472201210002,最后兩位‘02’表示AGV在此處后退右轉(zhuǎn),由線路21進(jìn)入線路16;任務(wù)4中在該標(biāo)簽對(duì)應(yīng)的指令為472201210001,最后兩位‘01’表示AGV在此處后退左轉(zhuǎn),由線路21進(jìn)入線路18。對(duì)比可得:AGV完成不同任務(wù)時(shí)在同一個(gè)標(biāo)簽處能夠執(zhí)行不同的指令,增加了行駛靈活性。
4 總結(jié)
本文采取了電子標(biāo)簽作為位置識(shí)別,且動(dòng)作指令根據(jù)具體任務(wù)由算法生成并存儲(chǔ)在車載控制系統(tǒng)的方式,使得車輛在執(zhí)行不同任務(wù)過程中經(jīng)過同一電子標(biāo)簽時(shí)可執(zhí)行不同的動(dòng)作指令,彌補(bǔ)了傳統(tǒng)導(dǎo)航方式中行駛路線固定、在標(biāo)簽處執(zhí)行指令單一的不足。該方法解決了復(fù)雜路徑下車輛的導(dǎo)引問題,提高了行駛靈活性和標(biāo)簽利用率,具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 王惠嬌.AGV磁導(dǎo)航數(shù)據(jù)的高速獲取和偏差處理[J].工業(yè)控制計(jì)算機(jī),2017,30(9):91-92.
[2] 李照,舒志兵,嚴(yán)亮.基于模糊路徑糾偏的AGV視覺精定位研究[J].電子技術(shù)應(yīng)用,2018,44(4):81-85.
[3] 唐瑞,顏文俊.激光導(dǎo)引AGV的轉(zhuǎn)彎算法研究[J].機(jī)電工程,2015,32(10):1390-1394.
[4] 楊友良,胡少輝,趙麗宏,等.基于二維碼定位導(dǎo)航的兩輪差速轉(zhuǎn)向AGV設(shè)計(jì)[J].物流科技,2017,40(10):40-42.
[5] 張力,徐曄曄,夏超.基于RFID定位的AGV導(dǎo)航系統(tǒng)設(shè)計(jì)[J].電子世界,2017(5):67-69.
[6] 顧佳煒,樓佩煌.基于無線射頻識(shí)別技術(shù)的自動(dòng)導(dǎo)引車導(dǎo)航方法的研究[J].電工電氣,2009(12):22-24.
[7] 李季.磁導(dǎo)引AGV的設(shè)計(jì)[D].濟(jì)南:山東大學(xué),2013.
[8] 羅雨佳.夾抱搬運(yùn)型AGV的設(shè)計(jì)與可靠性分析[D].成都:電子科技大學(xué),2017.
作者信息:
牛秦玉,李珍惜,田海波
(西安科技大學(xué) 機(jī)械工程學(xué)院,陜西 西安710000)