本發(fā)明屬于汽車座椅裝配技術(shù)領(lǐng)域,特別是一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng)。
背景技術(shù):
汽車座椅混流裝配生產(chǎn)是一種面向客戶訂單的、小批量的裝配生產(chǎn)模式,能夠在同一條汽車裝配生產(chǎn)線上按照客戶的要求生產(chǎn)不同型號的產(chǎn)品。汽車座椅裝配主要采用流水線作業(yè)方式,由于生產(chǎn)安排的需要,裝配線上有時會根據(jù)訂單來更換產(chǎn)品型號,而每種產(chǎn)品所搭配的零件物料及工藝要求均有所不同,這就對汽車座椅裝配過程中信息的連續(xù)性、準(zhǔn)確性及實時性提出了很高的要求。在傳統(tǒng)的利用人工或標(biāo)簽進(jìn)行座椅裝配的生產(chǎn)過程中,容易發(fā)生錯裝和漏裝問題,或出現(xiàn)等料、送錯料和缺料等情況,影響產(chǎn)品質(zhì)量和生產(chǎn)效率。
rfid(radiofrequencyidentification)技術(shù)與傳統(tǒng)的條形碼技術(shù)相比,具有識別距離遠(yuǎn)、速度快以及讀寫操作靈活等優(yōu)點,在工業(yè)自動化、商業(yè)自動化、交通運輸管理和防偽等眾多領(lǐng)域都得到了廣泛的應(yīng)用。目前,很多汽車制造商將rfid技術(shù)應(yīng)用于汽車生產(chǎn)線上,對整車及零部件的生產(chǎn)進(jìn)行質(zhì)量監(jiān)控和流程管理,以提高生產(chǎn)線上的生產(chǎn)效率、改進(jìn)生產(chǎn)方式、節(jié)約生產(chǎn)成本,并取得了較好的應(yīng)用效果。但是,在汽車裝配生產(chǎn)線上,由于待裝配的零部件很多,每一個零部件都有各自的電子標(biāo)簽。這樣,大量待識別的標(biāo)簽相對集中于汽車裝配生產(chǎn)線上,閱讀器和標(biāo)簽的通信碰撞問題尤為突出,影響了整個識別系統(tǒng)的性能,最終難以保證裝配生產(chǎn)線的高速運行。因此,電子標(biāo)簽碰撞問題已成為rfid技術(shù)在汽車裝配生產(chǎn)線上推廣應(yīng)用的技術(shù)瓶頸。
現(xiàn)有的rfid防碰撞算法主要分為兩大類:一類是aloha類算法,該類算法操作簡單,當(dāng)讀寫器設(shè)定的幀長與標(biāo)簽數(shù)相等時,系統(tǒng)吞吐率達(dá)到最大,然而受標(biāo)簽估算精度影響,吞吐率普遍較低,并且該類算法存在標(biāo)簽“饑餓”問題;另一類是樹形算法,主要包括bs類算法和qt類算法,其通過比對方式將具有相同特征的標(biāo)簽集歸為同一個集合,并不斷細(xì)化分類特征直至標(biāo)簽集僅含1個或0個標(biāo)簽,從而達(dá)到唯一性識別,具有識別精度高的優(yōu)點.然而,大部分樹形算法存在識別時間較長的問題,不能夠滿足裝配車間高速生產(chǎn)的需要。
技術(shù)實現(xiàn)要素:
針對實際的流水線裝配生產(chǎn)環(huán)境中,因高頻閱讀器和標(biāo)簽的通信碰撞問題造成的生產(chǎn)線無法可靠運行和識別時間較長的問題,本發(fā)明提出了一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng),其防碰撞模塊采用了后退尋呼防碰撞處理算法,通過在閱讀器尋呼指令中加入引導(dǎo)位使標(biāo)簽以更快的速度響應(yīng)閱讀器,從而減少總通信量和傳輸時延,從而減少了標(biāo)簽認(rèn)證所需的平均時間,并增加標(biāo)簽詢問的成功率,同時,該算法能夠顯著提高閱讀器和標(biāo)簽之間的通信速率,從而提高整個生產(chǎn)系統(tǒng)運行的可靠性和效率。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng),主要包括由rfid標(biāo)簽、讀寫器、讀寫器天線、電子看板、數(shù)據(jù)處理中間件,所述的讀寫器的具有防碰撞處理模塊,防碰撞處理模塊采用后退尋呼防碰撞處理算法。
射頻識別系采用的后退尋呼防碰撞處理算法,在二叉樹算法的基礎(chǔ)上增加閱讀器后退尋呼,結(jié)合合跳躍式動態(tài)搜索防碰撞算法和新穎跳躍式動態(tài)搜索防碰撞算法,引入一種改進(jìn)的閱讀器后退尋呼方式,提出后退式二叉樹防碰撞算法,使閱讀器尋呼分為向前搜索和后退搜索兩部分,如果標(biāo)簽響應(yīng)的信息中有兩個或兩個以上的碰撞位則閱讀器采取向前搜索,反之向后搜索。
本發(fā)明算法中的閱讀器尋呼分為向前搜索和后退搜索兩部分,如果標(biāo)簽響應(yīng)的信息中有兩個或兩個以上的碰撞位則閱讀器采取向前搜索,反之向后搜索。當(dāng)閱讀器向前搜索時存儲tc,當(dāng)閱讀器識別一個標(biāo)簽后開始后退搜索,移除堆棧3中的頂部信息后,讀取當(dāng)前頂部信息得到上一次的tc,從而形成string1、string2和標(biāo)簽所要響應(yīng)的id范圍,移除堆棧0中的頂部信息后,讀取當(dāng)前頂部信息作為下一次尋呼的uid。例如,得到的上一次tc為00x0x0x0,上一次的uid為0,則下一次尋呼指令中的uid為0,取得tc中次高位之前的位除去首部uid的信息0得到p(0x0),按照向前搜索規(guī)則,上一次尋呼的uid為000,最后一位就是tc中最高碰撞位置0得出的,而這次就將最高碰撞位置1,將p中的x改為1得到010存入string1中。最高碰撞位與次高碰撞位之間的0保存在string2中,標(biāo)簽需要返回的id信息就是次高位與最低碰撞位之間的信息。假設(shè)tc從左至右的位數(shù)第一位為0,則標(biāo)簽需要返回的id信息的范圍為[4,6],閱讀器尋呼這段指令后假設(shè)收到標(biāo)簽的信息為100,閱讀器根據(jù)式(1)形成標(biāo)簽的id信息為00101000。這里uid和string1中的信息組成形式就是改進(jìn)后退策略的特點。利用這種方法就減少了閱讀器的通信量,當(dāng)閱讀器后退搜索的次數(shù)越多,在后退中的uid與上一次識別了一個標(biāo)簽的uid信息長度相差越多,在標(biāo)簽識別過程中閱讀器的尋呼量就減少得越多。在此假設(shè)中后退中的uid為0,上一次識別了一個標(biāo)簽的uid為000,按照原來的后退策略,后退中的uid應(yīng)該為001,則經(jīng)過改進(jìn)后標(biāo)簽通信量減少了2,而這兩位信息存入了string1中。
本發(fā)明的有益效果
本發(fā)明針對實際的流水線裝配生產(chǎn)環(huán)境中,因高頻閱讀器和標(biāo)簽的通信碰撞問題造成的生產(chǎn)線無法可靠運行和識別時間較長的問題,本發(fā)明提出了一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng),其防碰撞模塊采用了后退尋呼防碰撞處理算法,通過在閱讀器尋呼指令中加入引導(dǎo)位使標(biāo)簽以更快的速度響應(yīng)閱讀器,從而減少總通信量和傳輸時延,從而減少了標(biāo)簽認(rèn)證所需的平均時間,并增加標(biāo)簽詢問的成功率,同時,該算法能夠顯著提高閱讀器和標(biāo)簽之間的通信速率,從而提高整個生產(chǎn)系統(tǒng)運行的可靠性和效率。
具體實施方式
下面將結(jié)合本發(fā)明實施例,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng),主要包括由rfid標(biāo)簽、讀寫器、讀寫器天線、電子看板、數(shù)據(jù)處理中間件,所述的讀寫器的具有防碰撞處理模塊,防碰撞處理模塊采用后退尋呼防碰撞處理算法。
射頻識別系采用的后退尋呼防碰撞處理算法,在二叉樹算法的基礎(chǔ)上增加閱讀器后退尋呼,結(jié)合合跳躍式動態(tài)搜索防碰撞算法和新穎跳躍式動態(tài)搜索防碰撞算法,引入一種改進(jìn)的閱讀器后退尋呼方式,提出后退式二叉樹防碰撞算法,使閱讀器尋呼分為向前搜索和后退搜索兩部分,如果標(biāo)簽響應(yīng)的信息中有兩個或兩個以上的碰撞位則閱讀器采取向前搜索,反之向后搜索。
本發(fā)明首先對標(biāo)簽響應(yīng)信息進(jìn)行約定,其具體約定為:約定標(biāo)簽響應(yīng)信息分為四部分:第一部分為最高碰撞位與最高碰撞位之前的信息,參與形成下一次尋呼的uid,保存每一次的uid在堆棧0中;第二部分為最高碰撞位與次高碰撞位之間的信息,為閱讀器已知信息存入堆棧1中,設(shè)這部分信息為string1;第三部分為次高碰撞位與最低碰撞之間的信息,為閱讀器未知信息,是需要標(biāo)簽響應(yīng)的部分,標(biāo)簽只要知道其id中未知部分的范圍即可,保存次高碰撞位和最低碰撞位加入到下一次尋呼命令中;第四部分為最低碰撞位到末尾的信息,這部分信息也是已知信息存入堆棧2中,設(shè)這部分信息為string2。
并針對性對閱讀器尋呼信息進(jìn)行約定,其具體約定為:
閱讀器尋呼的信息包含提供給標(biāo)簽匹配的uid和需要標(biāo)簽返回其id信息中有用信息的兩個標(biāo)志位,閱讀器收到標(biāo)簽響應(yīng)的信息后先形成一個與標(biāo)簽id長度相同的信息設(shè)為tc,tc就是所有響應(yīng)的標(biāo)簽id的完整疊加信息中,其表達(dá)式為:
tc=uid+string1+id+string2(1)。
本發(fā)明的閱讀器在其工作時用到了4個堆棧,堆棧存放的信息如下:
stack0:在閱讀器發(fā)送尋呼指令前,將uid存入其中;
stack1:保存標(biāo)簽信息的第二部分string1;
stack2:保存標(biāo)簽信息的第四部分string2;
stack3:在收到標(biāo)簽響應(yīng)信息后,保存形成的tc。
相較于普通傳統(tǒng)的二叉樹算法,本發(fā)明中閱讀器尋呼加入了兩個位置序號,因此本發(fā)明依托于request(uid,p0,p1)和request(null,0,p1)指令實現(xiàn)閱讀器尋呼,其中:
request(uid,p0,p1):閱讀器尋呼指令。因為在后退算法中有向前尋呼和向后尋呼模式,所以在不同的尋呼模式下,尋呼指令中的參數(shù)來源不同。當(dāng)閱讀器處于向前尋呼時,與大多數(shù)算法相同,uid來自于標(biāo)簽響應(yīng)信息中的最高碰撞位之前的位加上一個0,這時就代表搜尋二叉樹的0分支,直至識別一個標(biāo)簽。p0和p1代表閱讀器對標(biāo)簽id未知序列的范圍,也就是標(biāo)簽響應(yīng)信息中第三部分在tc中的范圍。假設(shè)標(biāo)簽的id從左至右由低到高,則p0代表標(biāo)簽id序列中需要響應(yīng)的最高位,p1代表最低位,則標(biāo)簽id序列響應(yīng)的區(qū)間是[p0,p1]。當(dāng)閱讀器處于向后搜索時,因為每一次閱讀器尋呼的uid都存入了堆棧0,所以先使堆棧0出棧一次,再推出堆棧0的頂部信息形成uid。p0、p1來自于堆棧3,也是先使堆棧3出棧一次,然后再通過堆棧3的頂部信息來判斷標(biāo)簽響應(yīng)信息中的第三部分的形成。標(biāo)簽接收到尋呼指令后先判斷尋呼指令中的uid是否匹配,相匹配則將其id中p0至p1位中的信息響應(yīng)給閱讀器。
request(null,0,p1),閱讀器廣播指令。這是一條特殊的尋呼指令,其uid等于空,代表所有標(biāo)簽都要響應(yīng);p0等于0代表標(biāo)簽響應(yīng)的信息從id的起始位開始;p1是一個常數(shù),其值等于標(biāo)簽id的長度,代表標(biāo)簽響應(yīng)的信息到id的最高位結(jié)束。這條指令的整體意義在于所有處于激活狀態(tài)的標(biāo)簽都將其自身的id響應(yīng)給閱讀器。
在此算法下,閱讀器的工作流程為:
1)閱讀器發(fā)送廣播命令request(null,0,p1),將一個空的信息存入stack0、stack1和stack2中,標(biāo)簽收到這個信息后都發(fā)送自己的id給閱讀器,進(jìn)入步驟3);
2)閱讀器分析接收到的標(biāo)簽信息
如果響應(yīng)信息為空,代表在閱讀器尋呼范圍內(nèi)沒有標(biāo)簽,則結(jié)束識別過程,如果有響應(yīng)且沒有碰撞,則識別這個標(biāo)簽進(jìn)入步驟3)進(jìn)行后退閱讀;如果有響應(yīng)且只有一個碰撞,則識別兩個標(biāo)簽進(jìn)入步驟3)進(jìn)行后退閱讀;如果有響應(yīng)且有一個以上的碰撞位,則進(jìn)入步驟4),則進(jìn)入向前閱讀模式;
3)后退閱讀
推出stack0頂部信息,如果頂部信息為空,則代表閱讀器處于根節(jié)點,不可后退,結(jié)束識別過程,如果不為空,則保存這部分信息,設(shè)其為uid1;stack0的頂部信息繼續(xù)推出,設(shè)為uid0,uid1信息長度必定大uid0,設(shè)uid1相比uid0多出的部分d,stack1出棧兩次,保存后一次的信息為str1;將d與str1結(jié)合形成新的string1存入stack1中,stack2出棧一次,stack3出棧兩次,保存后一次信息tc;去掉tc中與uid0信息相同的部分得到信息id,將信息id當(dāng)作標(biāo)簽響應(yīng)信息分為4部分,將第二和第四部分存入對應(yīng)堆棧中;根據(jù)標(biāo)簽響應(yīng)信息中的第三部分得出閱讀器尋呼指令中的p0和p1,將uid0作為這次尋呼指令中的uid,閱讀器發(fā)送尋呼指令request(uid,p0,p1),進(jìn)入步驟2);
4)向前閱讀
將標(biāo)簽響應(yīng)信息stack1、stack2的頂部信息代入式(1)形成tc,并將其存入stack3中,將stack1和stack2出棧,根據(jù)標(biāo)簽的響應(yīng)信息的4部分,將第二和第四部分存入對應(yīng)堆棧中;從stack0中得到上一次的尋呼uid與第一部分信息相結(jié)合形成uid,將uid最后一個碰撞位x改為0,形成新的uid;利用標(biāo)簽信息的第三部分信息得出p0和p1,閱讀器發(fā)送尋呼指令request(uid,p0,p1),進(jìn)入步驟2)。
本發(fā)明通過在閱讀器尋呼指令中加入引導(dǎo)位使標(biāo)簽以更快的速度響應(yīng)閱讀器,從而減少總通信量和傳輸時延,從而減少了標(biāo)簽認(rèn)證所需的平均時間,并增加標(biāo)簽詢問的成功率。
實施例
設(shè)在閱讀器尋呼范圍內(nèi)有5個標(biāo)簽,標(biāo)簽的id和識別過程如表1所示。
表1
下面對算法識別這5個標(biāo)簽的過程進(jìn)行詳細(xì)說明。
(1)閱讀器發(fā)送廣播指令request(null,0,7),將null存入堆棧0、1、2中。標(biāo)簽接收到廣播指令都將自己的id發(fā)送給閱讀器,發(fā)送的混合信號為x1xxxxxx。
(2)閱讀器對接收到的信息進(jìn)行譯碼,得到的id為x1xxxxxx,id的碰撞位大于一個,根據(jù)id得出part1為x,part2為1,part3為xxxxxx,part4為null。讀取stack0、stack1、stack2的頂部信息分別賦給uid(null)、string1(null)、string2(null),根據(jù)式(1)生成tc等于x1xxxxxx,將tc存入stack3,分析tc得出下一次尋呼的uid、p0、p1分別為0、2、7。將uid(0)存入stack0,part2(1)的數(shù)據(jù)存入stack1,part4(null)的數(shù)據(jù)存入stack2。閱讀器發(fā)出尋呼指令request(0,2,7)。標(biāo)簽接收到尋呼指令,根據(jù)尋呼指令的uid信息進(jìn)行匹配,匹配的標(biāo)簽發(fā)送其id的2到7位的序列號給閱讀器。tag1、2、4、5匹配成功。
(3)閱讀器接收的id為xx0xxx,id的碰撞位大于一個,根據(jù)id得出part1為x,part2為null,part3為x0xxx,part4為null。讀取stack0、stack1、stack2的頂部信息分別賦給uid(0)、string1(1)、string2(null),根據(jù)式(1)生成tc等于01xx0xxx,將tc存入stack3,分析tc得出下一次尋呼的uid、p0、p1分別為010、3、7。將uid(010)存入stack0,part2(null)的數(shù)據(jù)存入stack1,part4(null)的數(shù)據(jù)存入stack2。閱讀器發(fā)出尋呼指令request(010,3,7)。tag1、2、4響應(yīng),發(fā)送其id的3到7位的數(shù)據(jù)給閱讀器。
(4)閱讀器接收的id為x01xx,id的碰撞位大于一個,根據(jù)id得出part1為x,part2為01,part3為xx,part4為null。讀取stack0、stack1、stack2的頂部信息分別賦給uid(010)、string1(null)、string2(null),根據(jù)式(1)生成tc等于010x01xx,將tc存入stack3,分析tc得出下一次尋呼的uid、p0、p1分別為0100、3、7。將uid(0100)存入stack0,part2(01)的數(shù)據(jù)存入stack1,part4(null)的數(shù)據(jù)存入stack2。閱讀器發(fā)出尋呼指令request(0100,3,7)。tag4響應(yīng),發(fā)送其id的3到7位的數(shù)據(jù)給閱讀器。
(5)閱讀器接收到的id為0101,id沒碰撞位,讀取并推出stack0、stack1、stack2的頂部信息分別賦給uid(0100)、string1(null)、string2(null),根據(jù)式(1)得出tc等于01000101,識別tag4。將stack3出棧形成新的tc為010x01xx,將stack0出棧得到uid(010),將stack1出棧得到string1(01),更改string1的信息為101存入堆棧stack1中。目前閱讀器未知的信息是tc的最后兩位,則p1、p2分別為6、7。閱讀器發(fā)出尋呼指令request(010,6,7)。tag1、2響應(yīng),發(fā)送其id的6到7位的數(shù)據(jù)給閱讀器。
(6)閱讀器接收到的id為x0,id只有一個碰撞位,讀取并推出stack0、stack1、stack2的頂部信息分別賦給uid(010)、string1(101)、string2(null),根據(jù)式(1)得出tc等于010101x0,識別tag1、2。將stack3出棧形成新的tc為01xx0xxx,將stack0出棧得到uid(0),將stack1出棧得到string1(1),更改string1的信息為11存入堆棧stack1中。目前閱讀器未知的信息是tc的最后5位,則p1、p2分別為3、7。閱讀器發(fā)出尋呼指令request(0,3,7)。tag5響應(yīng),發(fā)送其id的3到7位的數(shù)據(jù)給閱讀器。
(7)閱讀器接收到的id為10001,id沒碰撞位,讀取并推出stack0、stack1、stack2的頂部信息分別賦給uid(0)、string1(11)、string2(null),根據(jù)式(1)得出tc等于01110001,識別tag4。將stack3出棧形成新的tc為null,將stack0出棧得到uid(null),將stack1出棧得到string1(1),tc的最高位為碰撞位,將其改為1后加上出棧的1,string1的信息更改為11存入堆棧stack1中。目前閱讀器未知的信息是tc的最后6位,則p1、p2分別為2、7。閱讀器發(fā)出尋呼指令request(null,3,7)。tag3響應(yīng),發(fā)送其id的3到7位的數(shù)據(jù)給閱讀器,閱讀器收到信息后讀取其沒碰撞識別tag3。將stack0推出時發(fā)現(xiàn)其中沒有元素,從而結(jié)束識別過程。
本發(fā)明針對目前超高頻射頻識別系統(tǒng)中利用二叉樹防碰撞算法通信量大和傳輸時延長等問題,通過在閱讀器尋呼指令中加入引導(dǎo)位使標(biāo)簽以更快的速度響應(yīng)閱讀器,從而減少總通信量和傳輸時延,從而減少了標(biāo)簽認(rèn)證所需的平均時間,并增加標(biāo)簽詢問的成功率,同時,該算法能夠顯著提高閱讀器和標(biāo)簽之間的通信速率。
本發(fā)明針對實際的流水線裝配生產(chǎn)環(huán)境中,因高頻閱讀器和標(biāo)簽的通信碰撞問題造成的生產(chǎn)線無法可靠運行和識別時間較長的問題,本發(fā)明提出了一種應(yīng)用于汽車座椅裝配生產(chǎn)線的rfid射頻識別系統(tǒng),其防碰撞模塊采用了后退尋呼防碰撞處理算法,通過在閱讀器尋呼指令中加入引導(dǎo)位使標(biāo)簽以更快的速度響應(yīng)閱讀器,從而減少總通信量和傳輸時延,從而減少了標(biāo)簽認(rèn)證所需的平均時間,并增加標(biāo)簽詢問的成功率,同時,該算法能夠顯著提高閱讀器和標(biāo)簽之間的通信速率,從而提高整個生產(chǎn)系統(tǒng)運行的可靠性和效率。
最后說明的是,以上優(yōu)選實施例僅用于說明本發(fā)明的技術(shù)方案而非限制,盡管通過上述優(yōu)選實施例已經(jīng)對本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書所限定的范圍。