莫喜玄,張 娟,高興宇,蔣文彥,梁小歡,龔 平
(1.桂林星漢科技股份有限公司,廣西 桂林 541000;2.桂林醫(yī)學(xué)院附屬醫(yī)院健康體檢中心,廣西 桂林 541000;3.桂林電子科技大學(xué),廣西 桂林 541004)
標(biāo)簽打印在物流、醫(yī)學(xué)等方面扮演著重要的作用。人們可以根據(jù)標(biāo)簽上面的信息追蹤到其生產(chǎn)廠家及相關(guān)產(chǎn)品等人員的詳細(xì)信息,極大提高了安全性、便捷性。但是在貼標(biāo)簽的過程由于其位置不準(zhǔn)確,會造成標(biāo)簽錯位,對廠家而言會極大提高生產(chǎn)的成本,造成極大浪費(fèi)[1]。
為了解決在自動標(biāo)簽打印過程中標(biāo)簽定位不準(zhǔn)確的問題,提出了一種基于粒子群算法來精確計算其位置的方法。由于粒子群算法會造成一定區(qū)域內(nèi)的最優(yōu)化問題和節(jié)點(diǎn)的位置會發(fā)生不可預(yù)測的變化[2,3],同時因?yàn)闇y量時會有誤差的存在和網(wǎng)絡(luò)中節(jié)點(diǎn)不合理導(dǎo)致測量精度不高[4]等問題。因此,利用粒子群算法結(jié)合其實(shí)際的坐標(biāo)位置來進(jìn)行實(shí)驗(yàn)分析,通過重復(fù)反饋、多方面影響粒子群算法因素從而對位置準(zhǔn)確度會有影響進(jìn)行分析,從而找到條形碼的準(zhǔn)確位置。
紅外感應(yīng)傳感器是通過計算回饋的能量,基本原理:紅外傳感器在遇到不同檢測物的時候會出現(xiàn)不同的能量損耗,根據(jù)這一特點(diǎn)進(jìn)行位置信息的采集。紅外測距傳感器結(jié)構(gòu):兩個二極管,一個是負(fù)責(zé)接收信號,另一個作為發(fā)射紅外信號,用來判斷接收與發(fā)射的頻率是否頻率一致從而判斷有沒有障礙物。因此本課題以紅外感應(yīng)傳感器作為空間位置信息采集,利用優(yōu)化算法對空間坐標(biāo)進(jìn)行最優(yōu)化,來確定精確位置。如圖1所示為紅外感應(yīng)的全自動標(biāo)簽打印裝置的整體結(jié)構(gòu)。
圖1 紅外感應(yīng)的全自動標(biāo)簽打印裝置
基于時間差算法原理的傳感器對貼標(biāo)機(jī)進(jìn)行定位研究,其定位原理如圖2所示。
圖2 時間差算法定位原理
粒子群算法是一種解決最優(yōu)化問題的特定算法,通過利用粒子群算法優(yōu)化空間坐標(biāo)確定標(biāo)簽裝置的精確位置,實(shí)現(xiàn)全自動標(biāo)簽打印裝置的精確定位。粒子群算法的基本原理:在一個待測的空間中會存在許多粒子,其中速度和位置會根據(jù)最優(yōu)化的結(jié)果進(jìn)行重新確定,位置的不斷變化會使種群中的粒子趨向于最優(yōu)化[5]。在粒子群算法中,種群中粒子的速度和位置都是隨機(jī)確定的,當(dāng)粒子在被測區(qū)域運(yùn)動的時候,每個粒子會根據(jù)自身的特征從而改變自己在空間域的速度和位置,從而在每一次的反饋的時候找到最優(yōu)解。每一次反饋時,粒子會根據(jù)個體的極值pbest和全局的極值gbest變化自己的速度和位置,對應(yīng)的算法流程圖如圖3所示,其速度和位置更新公式見式(1)(2)。
圖3 粒子群算法流程圖
其中,學(xué)習(xí)因子是e,它們都為正常數(shù),正常情況下c1=c2=2;r1,r2為0~1之間均勻分布的隨機(jī)數(shù)慣性權(quán)重因子為ω,其作用為影響粒子的飛行速度從而對種群狀態(tài)的影響。
個體極值更新公式:
對于整個種群而言,全局極值的更新公式:
使用MATLAB搭建無線傳感器網(wǎng)絡(luò)平臺。對紅外感應(yīng)貼標(biāo)裝置應(yīng)用粒子群優(yōu)化算法確定其精確位置參數(shù)的設(shè)置見表1。特定的區(qū)域的作用會作為隨機(jī)網(wǎng)絡(luò)節(jié)點(diǎn)的位置,平面結(jié)構(gòu)作為指定區(qū)域。
表1 參數(shù)設(shè)置
圖4描述的是空間中網(wǎng)絡(luò)節(jié)點(diǎn)的空間位置在紅色點(diǎn)表示實(shí)際位置、藍(lán)色點(diǎn)表示目標(biāo)節(jié)點(diǎn)評估位置是需要重新進(jìn)行優(yōu)化的點(diǎn),從圖中可以看出實(shí)際位置與重新優(yōu)化的位置基本重合,空間地理坐標(biāo)[12.5-20]和[30-40]區(qū)間中空間點(diǎn)的位置最集中,因此可以確定傳感器的坐標(biāo)值來對試管進(jìn)行貼標(biāo)。
圖4 網(wǎng)絡(luò)節(jié)點(diǎn)定位
表2是對通信半徑進(jìn)行誤差分析的結(jié)果,可以得知通信半徑數(shù)值越大傳感器定位誤差越小,因此在利用算法對貼標(biāo)機(jī)空間位置進(jìn)行優(yōu)化過程中,通信半徑在裝置空間允許的范圍內(nèi)應(yīng)該盡量選擇大。節(jié)點(diǎn)個數(shù)對誤差值的影響和通信半徑一致。
表2 通信半徑誤差分析
表3對優(yōu)化算法中瞄點(diǎn)個數(shù)與定位誤差之間的關(guān)系進(jìn)行分析的結(jié)果,可知瞄點(diǎn)個數(shù)與定位誤差成反比,通過對空間地理位置、通信半徑以及瞄點(diǎn)個數(shù)定量化進(jìn)行分析實(shí)現(xiàn)了節(jié)點(diǎn)的精確定位,只有極少數(shù)粒子出現(xiàn)誤差,但它是由于每一次的反饋使結(jié)果進(jìn)入局部最優(yōu)解的陷阱成為“偽點(diǎn)”。
表3 錨點(diǎn)個數(shù)誤差分析
本課題采用粒子群算法對全自動標(biāo)簽打印進(jìn)行準(zhǔn)確定位的研究,文中結(jié)合標(biāo)簽打印裝置以選取基于時間到達(dá)差算法定位原理的紅外感應(yīng)傳感器,為提高定位精度提供了基礎(chǔ)。這樣利用優(yōu)化算法根據(jù)裝置空間位置對參數(shù)進(jìn)行設(shè)置,通過對影響定位誤差的主要因素進(jìn)行定量分析,確定最佳的優(yōu)化區(qū)間;通過利用MATLAB對所確定的區(qū)間進(jìn)行仿真驗(yàn)證,使定位精度進(jìn)一步提高。