文獻(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)