本發(fā)明涉及一種條形碼技術(shù),具體為是一種立體條碼、識別方法及室內(nèi)輔助地圖構(gòu)建方法。
背景技術(shù):
條形碼(barcode)是將寬度不等的多個黑條和空白,按照一定的編碼規(guī)則排列,用以表達一組信息的圖形標識符。常見的條形碼是由反射率相差很大的黑條(簡稱條)和白條(簡稱空)排成的平行線圖案。條形碼可以標出物品的生產(chǎn)國、制造廠家、商品名稱、生產(chǎn)日期、圖書分類號、郵件起止地點、類別、日期等許多信息,因而在商品流通、圖書管理、郵政管理、銀行系統(tǒng)等許多領(lǐng)域都得到廣泛的應用。但是現(xiàn)今條碼都采用黑白兩色來儲存信息,這恰恰也使其只能應用于特定的場合。
室內(nèi)導航技術(shù)是近些年來新興起的一個熱門技術(shù),它在工業(yè)生產(chǎn)和日常生活中都有非常重要的用途。隨著近年來機器人技術(shù)的發(fā)展以及制造成本的降低,小型化的家用機器人開始走進千家萬戶。據(jù)國際機器人聯(lián)合會統(tǒng)計,全球服務機器人2013年總銷售量為4021萬臺,總銷售額為527億美元,其中個人/家居服務機器人銷量約為400萬臺。家用型服務機器人的核心問題之一是室內(nèi)地圖構(gòu)建問題,這是一項極其復雜并且極具難度的工作,若能將條碼技術(shù)應用的導航及地圖構(gòu)建中,為機器人提供額外的信息便可以降低這項工作的難度。但因為室內(nèi)環(huán)境復雜以及機器人往往不具有專用的條碼識別設(shè)備,光學條碼在這種場合下很難得到有效的應用。
隨著工藝的進步,成本的降低,低成本激光雷達傳感器開始被應用于室內(nèi)導航及地圖構(gòu)建,其兼具穩(wěn)定性及精度。現(xiàn)已成為室內(nèi)自主機器人的主要傳感器之一。而激光雷達采集到的數(shù)據(jù)只包含深度信息,不包含色彩信息,并不能用來識別傳統(tǒng)的黑白條碼,
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中條形碼只包含色彩信息、不能被激光雷達采集到數(shù)據(jù)等不足,本發(fā)明要解決的問題是提供一種可被激光雷達識別的立體條碼、識別方法及室內(nèi)輔助地圖構(gòu)建方法。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
本發(fā)明一種立體條碼,具有由多個單位寬度的“凹”部分和“凸”部分按所要包含的信息排列組成的平行條狀結(jié)構(gòu),在“凹”部分內(nèi)部覆蓋吸光材料。
2.按權(quán)利要求1所述的立體條碼,其特征在于:“凹”部分的深度為:
“凹”部分或“凸”部分的寬度為:
δw≈l×δθ
其中δw為橫向分辨能力,l為與目標的相對距離,δθ為激光雷達的角度分辨率,γ為墻體法向與雷達正向夾角,d為深度。
“凹”部分和“凸”部分相鄰處為具有棱角的直角面連接或斜面連接。
依次包括起始標識、條碼長度、條碼數(shù)據(jù)、校驗數(shù)據(jù)以及結(jié)束標識,其中條碼長度為起始標識與結(jié)束標識之間的距離,條碼數(shù)據(jù)為目標對象的編號,校驗數(shù)據(jù)為異或校驗,起始標識與結(jié)束標識均為“凹”部分和“凸”部分生成的二值數(shù)據(jù)。
本發(fā)明一種立體條碼識別方法,包括以下步驟:
立體條碼的“凹”部分和“凸”部分分別代表二進制中的二值數(shù)據(jù);
激光雷達向目標條碼發(fā)射探測信號;
將接收到的從目標條碼反射回來的信號即目標回波與發(fā)射信號進行比較,通過測量信號的傳播時間來確定掃描儀與對象的相對距離,從而得到二值數(shù)據(jù);
對二值數(shù)據(jù)進行解析,獲得立體條碼信息。
當激光雷達向目標條碼發(fā)射探測信號為連續(xù)模式時,接收裝置通過比較接收波形與發(fā)射波形確定相位差從而獲得傳播時間:
其中,t為周期,φ為相位差,n為傳播過程中的整波數(shù);
傳播時間與距離的關(guān)系為:
其中,tl為信號傳播時間,s為激光雷達與目標相對距離,c為光速。
本發(fā)明一種室內(nèi)輔助地圖構(gòu)建方法,包括以下步驟:
1)在室內(nèi)選擇地點放置攜帶地點信息的立體條碼;
2)機器人通過激光雷達進行掃碼;
3)利用激光雷達所測數(shù)據(jù)換算成與目標的相對距離,識別環(huán)境信息;
4)利用上述環(huán)境信息構(gòu)建室內(nèi)輔助地圖。
本發(fā)明還包括以下步驟:
當機器人的激光雷達與墻面成夾角時,條碼形狀檢測出現(xiàn)畸變,采用如下方法進行矯正:
以雷達為原點建立平面直角坐標系;
根據(jù)激光雷達所返回數(shù)據(jù)(ρ,θ),計算直角坐標下數(shù)據(jù)(x,y)
x=ρ×cos(θ)
y=ρ×sin(θ)
利用最小二乘法取得雷達坐標系下的墻面直線方程
計算直線與雷達自然坐標系的橫軸夾角α:
α=arctan(a)
建立新坐標系,其原點與原坐標系重合,橫軸與墻面平行,所得的數(shù)據(jù)及墻面方程轉(zhuǎn)換到新坐標系下
其中,x,y為旋轉(zhuǎn)前坐標數(shù)據(jù),x′y′為旋轉(zhuǎn)后坐標數(shù)據(jù);
將墻面直線與數(shù)據(jù)做差,選取合適閾值進行二值化,得到凹槽的二進制數(shù)據(jù)。
本發(fā)明具有以下有益效果及優(yōu)點:
1.本發(fā)明提出一種立體條碼、識別方法及室內(nèi)輔助地圖構(gòu)建方法,將立體條碼應用于室內(nèi)環(huán)境,構(gòu)建室內(nèi)輔助地圖,利用識別方法識別立體條碼的深度信息,滿足了激光雷達采集數(shù)據(jù)只包含深度信息、不包含色彩信息這一特點,為激光雷達的應用提供新的思路,益于室內(nèi)導航技術(shù)發(fā)展。
2.應用本發(fā)明中方法,可在一定范圍內(nèi)矯正因雷達組條碼位置變化產(chǎn)生的數(shù)據(jù)畸變。
附圖說明
圖1為本發(fā)明中以雷達的幾何中心為原點建立的機構(gòu)人坐標圖示;
圖2a為本發(fā)明中擬合并旋轉(zhuǎn)后結(jié)果圖示;
圖2b為本發(fā)明中消去偏置后凹槽的相對深度圖示;
圖2c為本發(fā)明中二值化后得到的2進制數(shù)據(jù)圖示;
圖3為本發(fā)明中建立的新坐標系o’圖示。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明作進一步闡述。
本發(fā)明一種立體條碼,具有由多個單位寬度的“凹”部分和“凸”部分按所要包含的信息排列組成的平行條狀結(jié)構(gòu),在“凹”部分內(nèi)部覆蓋吸光材料。
“凹”部分或“凸”部分的寬度為:
δw≈l×δθ
“凹”部分的深度為:
其中δw為橫向分辨能力,l為與目標的相對距離,δθ為激光雷達的角度分辨率,γ為墻體法向與雷達正向夾角,d為深度。
如果立體條碼的整體寬度在l到l*n之間,l為單個“凹”部分(設(shè)其二值數(shù)為0)占的寬度,則n是連續(xù)出現(xiàn)0的個數(shù),l大于2中橫向分辨能力δw。具體數(shù)量由需要攜帶的信息量決定。
激光雷達urg-04lx為例,該激光雷達的角度分辨率為0.36°,假設(shè)標記條碼位于2m遠處,則激光雷達所能分辨的最小距離約為12mm,故凹凸條紋的寬度應該大于12mm。
“凹”部分和“凸”部分相鄰處為具有棱角的直角面連接或斜面連接。
立體條碼依次包括起始標識、條碼長度、條碼數(shù)據(jù)、校驗數(shù)據(jù)以及結(jié)束標識,其中條碼長度為起始標識與結(jié)束標識之間的距離,條碼數(shù)據(jù)為目標對象的編號,校驗數(shù)據(jù)為異或校驗,起始標識與結(jié)束標識均為“凹”部分和“凸”部分生成的二值數(shù)據(jù)。
本發(fā)明立體條碼識別方法包括以下步驟:
立體條碼的“凹”部分和“凸”部分分別代表二進制中的二值數(shù)據(jù);
激光雷達向目標條碼發(fā)射探測信號;
將接收到的從目標條碼反射回來的信號即目標回波與發(fā)射信號進行比較,通過測量信號的傳播時間來確定掃描儀與對象的相對距離,從而得到二值數(shù)據(jù);
對二值數(shù)據(jù)進行解析,獲得立體條碼信息。
本實施例中,將立體條碼應用于激光雷達,用物體的凹凸(深度信息)而非黑白色彩來存儲信息。
本發(fā)明例如“凹”和“凸”分別代表“0”和“1”,這是激光雷達能夠識別的深度信息。
為了降低對激光雷達精度的要求,提高條碼的識別率將“凹”的部分識別出來,條碼“凹”的部分內(nèi)部覆蓋吸光材料,使得激光雷達掃描到凹的部分時會返回較為明顯的數(shù)據(jù)。
吸光性材料是指光線照射在事物之上,于照明之外并無透射,也不產(chǎn)生映射和大塊的耀斑和反光。
如果在條碼的“凹”部分覆蓋針對所用激光雷達波長的吸光材料,此部分對激光雷達的雷達信號的反射就會削弱很多,“凹”的部分就會被判斷為距離極遠。當掃描到該部分區(qū)域時,計算出的相對距離數(shù)據(jù)會出現(xiàn)劇烈跳變,基于這個原理,只要給條碼加上特殊的起始標識與結(jié)束標識,便可以很容易的將該區(qū)域與其它環(huán)境信息區(qū)分開來。
激光雷達是以發(fā)射微光束探測目標信息的雷達系統(tǒng),向目標發(fā)射探測信號(激光束),然后將接收到的從目標反射回來的信號(目標回波)與發(fā)射信號進行比較,通過測量信號的傳播時間來確定掃描儀與對象的相對距離。時間測量方式有兩種,分別是連續(xù)模式和脈沖模式。
在脈沖模式下,激光雷達直接測得信號傳播時間。
在連續(xù)波模式下,發(fā)射裝置產(chǎn)生的激光信號經(jīng)過調(diào)制形成有一定波形的連續(xù)信號,接收裝置通過比較接收波形與發(fā)射波形確定相位差從而獲得傳播時間:
其中,t為周期,φ為相位差,n-為傳播過程中的整波數(shù);
傳播時間與距離的關(guān)系為:
其中,tl為信號傳播時間,s為激光雷達與目標相對距離,c為光速。
本實施例以“0101”作為起始,以“1010”作為結(jié)束(0代表“凹”,1代表“凸”),條碼的正方向規(guī)定為從左到右。雷達從左向右掃描,一旦發(fā)現(xiàn)0,繼續(xù)向右掃描,若識別到“101”則認為接下來是條碼數(shù)據(jù),直到掃描到“1010”這個標志性數(shù)據(jù),認為條碼數(shù)據(jù)結(jié)束。由于使用吸光材料覆蓋“凹”的部分,在掃描到0時數(shù)據(jù)會發(fā)生極為劇烈的跳變,又因為起始標識被設(shè)計為“0101”,兩個0之間的距離便可以被檢測出來,從而實現(xiàn)對不同寬度條碼的適應。在條碼數(shù)據(jù)開始之前加入條碼長度的信息,就可以在讀取條碼信息之前用起始標識與結(jié)束標識之間的距離以及條碼位數(shù)可以計算更為精確的條碼信息中每個比特的位置,在讀取信息時只讀取每個比特所占位置正中央的信息,從而提高魯棒性,降低誤碼率。
而在實際中無論使用哪種方法讀取條碼信息都難免會出現(xiàn)誤碼,故在編碼時應選取擁有校驗或者糾錯能力的編碼方式,在不同的應用環(huán)境中可以使用不同編碼方式,本設(shè)計以簡單的異或校驗為例,故整個條碼以如下方式構(gòu)成:
起始標識+條碼長度+條碼數(shù)據(jù)+校驗+結(jié)束標識
條碼數(shù)據(jù)為目標對象的編號,假設(shè)樓梯的編號為十進制42,取條碼長度為8位,異或校驗中不包含起始以及結(jié)束標識,則編碼后:
起始標識:0x5
條碼長度部分:0x08
條碼數(shù)據(jù)部分:0x2a
校驗部分:0x22
結(jié)束標識:0xa
故最終的編碼為:0x5082a22a將此編碼按照0即“凹”,1即“凸”的方法制成標記條碼用以輔助地圖構(gòu)建。
本發(fā)明室內(nèi)輔助地圖構(gòu)建方法包括以下步驟:
1)在室內(nèi)選擇地點放置攜帶地點信息的立體條碼;
2)機器人通過激光雷達進行掃碼,
3)利用激光雷達所測數(shù)據(jù)換算成與目標的相對距離,識別環(huán)境信息;
4)利用上述環(huán)境信息構(gòu)建室內(nèi)輔助地圖。
故室內(nèi)地圖構(gòu)建是利用激光雷達所測數(shù)據(jù)換算成與目標的相對距離進行的,并且一旦雷達沒有接收到返回信號,就會被判斷為與目標相對距離無限遠(實際中會體現(xiàn)為一個極大的數(shù)據(jù))。
在實際情況下機器人不可能隨時保證正對目標,當機器人的正向與墻面法向成一定夾角時,以雷達為原點建立坐標如圖1所示,會出現(xiàn)如圖中p2點所示條碼形狀檢測出現(xiàn)畸變的情況。
采用如下方法進行矯正:
1)根據(jù)激光雷達所返回數(shù)據(jù)(ρ,θ),計算直角坐標下數(shù)據(jù)(x,y)
x=ρ×cos(θ)
y=ρ×sin(θ)
其中,ρ為激光雷達返回的距離,θ為θ為激光雷達返回的角度,圖1中γ墻體法向與雷達正向夾角。
2)利用最小二乘法取得雷達坐標系下的墻面直線方程
3)計算直線與雷達自然坐標系的橫軸夾角α
α=arctan(a)
4)建立新坐標系o’,其原點與原坐標系重合,橫軸與墻面平行,如圖3所示,將雷達所得的數(shù)據(jù)及墻面方程轉(zhuǎn)換到新坐標系下
其中,x,y為旋轉(zhuǎn)前坐標數(shù)據(jù),x′y′為旋轉(zhuǎn)后坐標數(shù)據(jù);α為直線與雷達自然坐標系的橫軸夾角,小于180度;
5)將墻面直線與數(shù)據(jù)做差,選取合適閾值進行二值化,得到凹槽的二進制數(shù)據(jù)。matlab仿真三個凹槽,如圖2a所示,為擬合并旋轉(zhuǎn)后結(jié)果,圖2b為消去偏置后凹槽的相對深度,圖2c為二值化后得到的2進制數(shù)據(jù),可見該方法能夠在一定程度上解決側(cè)對標識時的數(shù)據(jù)畸變問題。
本發(fā)明在室內(nèi)特殊地點附近(如樓梯口或轉(zhuǎn)角)放置一種攜帶地點信息的特殊條碼來輔助激光雷達進行室內(nèi)地圖構(gòu)建,條碼采用立體形式便于激光雷達識別,在標記物表面制作凹凸交替的凸起,以“凸”代表1,以“凹”代表0,凹凸的寬度及深度根據(jù)所采用激光雷達的精度而定;在“凹”的部分內(nèi)覆蓋針對所用激光雷達波長的吸光材料;按照編碼方式生成目標信息的二進制編碼,同時計算校驗位,并加上起始標識和結(jié)束標識。將具有上述結(jié)構(gòu)特征的立體條碼應用于室內(nèi),通過機器人進行激光雷達掃描,掃描到條碼后,對側(cè)面觀察時條碼地標數(shù)據(jù)畸變進行修正,首先采用最小二乘法找出墻面的方程,將墻面方程轉(zhuǎn)換到世界坐標系下,剃掉偏離直線距離遠的點,根據(jù)偏離點的分布,計算凹槽分布,矯正數(shù)據(jù),如果凹槽分布能通過校驗,就可以識別條碼數(shù)據(jù)。
本發(fā)明簡單易行,施工成本低,方便改造和維護。