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