本發(fā)明涉及移動機器人定位技術(shù)領(lǐng)域,特別涉及一種移動機器人及其主控制器、定位系統(tǒng)與方法。
背景技術(shù):
隨著時代的進步和發(fā)展,移動機器人的應(yīng)用范圍越來越廣泛。隨之而來的是,對定位功能的效率和精度要求的提高。對于室內(nèi)應(yīng)用的移動機器人,目前主流的方案是通過攝像頭拍攝指定位置的二維碼,然后識別拍攝到的二維碼圖片,獲取二維碼中保存的位置信息,從而實現(xiàn)對移動機器人的定位。
目前來說,從拍攝二維碼到完成識別,典型的流程是:首先,圖像信息從攝像頭的cmos芯片傳輸?shù)綌z像頭的處理芯片;其次,攝像頭的處理芯片進行降噪、壓縮等處理;然后,攝像頭將圖片通過網(wǎng)絡(luò)傳輸給主控制器;接著,主控制器將壓縮過的圖片解壓;最后,主控制器通過算法識別圖片中二維碼包含的位置信息。
根據(jù)圖片像素大小、cpu處理能力、網(wǎng)絡(luò)帶寬、光照等條件差異,使用當(dāng)前較高性能的硬件平臺,從拍攝二維碼到完成識別至少也需要20ms~50ms左右時間。由于移動機器人一直處于運動狀態(tài),目前室內(nèi)移動機器人的運行速度普遍已經(jīng)達(dá)到2m/s~3m/s。因此在識別完成時刻的實際位置與識別獲取的位置信息存在4cm~15cm誤差。
為了消除上述誤差,目前常見的方案有:
第一種方法是,移動機器人在拍攝二維碼時停止移動,直到二維碼解析完成、獲取位置信息后才開始重新移動;
第二種方法是,認(rèn)為移動機器人做勻速運動(速度v)、從拍攝到完成識別的時間恒定(時間差t),因此補償?shù)闹档扔趘×t;
第三種方法是,由攝像頭直接進行二維碼識別,減少網(wǎng)絡(luò)輸出、圖片處理(降噪、壓縮、解壓等)的時間開銷,并結(jié)合第二種方法進行一并的補償。
第一種停下來拍攝的方案,使機器人每經(jīng)過一個二維碼會有減速、停頓和加速過程,會導(dǎo)致機器人的效率低下。目前實際較少采用。
第二種補償方案,首先是對于使用了不同型號的攝像頭和控制器的移動機器人,由于圖片大小、cpu處理能力、網(wǎng)絡(luò)帶寬等條件各不相同,從拍攝到完成識別的時間差異巨大,甚至到達(dá)幾十到幾百毫秒,因此需要測定不同條件下的時間差;其次,由于不同現(xiàn)場的光照條件、地面條件不同,由此導(dǎo)致的從拍攝到完成識別的時間差異也可能在10ms以上;最后,由于移動機器人的運行姿態(tài)問題,導(dǎo)致拍攝到的圖片中的二維碼會普遍存在一定的旋轉(zhuǎn),由于旋轉(zhuǎn)傾角大小不一樣,會造成幾個毫秒的識別時間誤差。因此,這種補償方法,首先需要對硬件進行標(biāo)定,增加了工作量;其次,只能進行粗略的補償,效果有限,無法實現(xiàn)精確的補償。
第三種補償方案,首先具備二維碼識別功能的攝像頭成本較高;其次,仍無法解決光照條件不同、地面條件不同、二維碼存在旋轉(zhuǎn)傾角等原因,導(dǎo)致每次識別時間不完全一致的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種移動機器人及其主控制器、定位系統(tǒng)與方法,可以精確的得知移動機器人的位置偏移值,從而進行精確的位置校準(zhǔn)。
為實現(xiàn)上述目的,本發(fā)明提供一種用于移動機器人的定位方法,包括:
按照預(yù)設(shè)時間間隔計算并記錄移動機器人的理論位置坐標(biāo);
獲取移動機器人在行走過程中拍攝的圖形碼的絕對位置坐標(biāo);
根據(jù)至少兩個相鄰的所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo);
根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差;
將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)。
相對于上述背景技術(shù),本發(fā)明提供的定位方法,在移動機器人行走過程中,每間隔預(yù)設(shè)時間間隔便會計算并記錄移動機器人的理論位置坐標(biāo),當(dāng)移動機器人經(jīng)過圖形碼中,在行走過程中拍攝圖形碼,利用圖形碼獲知圖形碼所對應(yīng)的絕對位置坐標(biāo);當(dāng)移動機器人拍攝到圖形碼的這一時刻,利用理論位置坐標(biāo)所對應(yīng)的不同時刻得到移動機器人拍攝到圖形碼的這一時刻的推算位置坐標(biāo);也即以時間為基準(zhǔn),獲知移動機器人到達(dá)圖形碼時的時刻,以及利用按照預(yù)設(shè)時間間隔計算并記錄的理論位置坐標(biāo)獲知當(dāng)移動機器人到達(dá)圖形碼時的時刻所對應(yīng)的推算位置坐標(biāo);將推算位置坐標(biāo)和絕對位置坐標(biāo)進行對比,得到位置誤差;在移動機器人拍攝到圖形碼的這一時刻直至計算得到位置誤差這一過程中,移動機器人持續(xù)行走;當(dāng)?shù)玫轿恢谜`差時,該時刻下的移動機器人的當(dāng)前理論位置坐標(biāo)通過位置誤差進行補償;由于從移動機器人拍攝到圖形碼的這一時刻直至計算得到位置誤差這一過程中的持續(xù)時間通常為20ms~50ms,也即移動機器人在移動機器人拍攝到圖形碼的這一時刻之后繼續(xù)行走了20ms~50ms所對應(yīng)的距離;而20ms~50ms的時間不會產(chǎn)生足夠的累積誤差,因此可以直接將位置誤差補償于移動機器人在繼續(xù)行走20ms~50ms所對應(yīng)距離的當(dāng)前理論位置坐標(biāo),從而確保精確獲知移動機器人的當(dāng)前精確坐標(biāo),精確校準(zhǔn)移動機器人的位置。
優(yōu)選地,所述按照預(yù)設(shè)時間間隔計算并記錄移動機器人理論位置坐標(biāo)的步驟包括:
根據(jù)移動機器人的最大運行速度v和定位精度q,并通過公式t=q/v計算得到最小時間間隔t;
根據(jù)所述最小時間間隔t確定所述預(yù)設(shè)時間間隔。
優(yōu)選地,所述根據(jù)所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo)的步驟包括:
當(dāng)在拍攝圖形碼時的時刻t為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的所述理論位置坐標(biāo);
當(dāng)在拍攝圖形碼時的時刻t不為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)(xt,yt)通過以下公式計算:
其中:tn≤t≤tn+1,tn與tn+1為兩個相鄰的時間間隔的端點,
在tn時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn);
在tn+1時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1)。
優(yōu)選地,所述根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差的步驟包括:
根據(jù)所述推算位置坐標(biāo)(xt,yt)和絕對位置坐標(biāo)(x,y),并通過公式(δx,δy)=(x-xt,y-yt)計算得到所述位置誤差(δx,δy)。
優(yōu)選地,所述將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)的步驟包括:
當(dāng)移動機器人的當(dāng)前時刻tnow為某一所述預(yù)設(shè)時間間隔的端點時,則所述當(dāng)前理論位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的當(dāng)前理論位置坐標(biāo)(xnow,ynow);利用所述當(dāng)前理論位置坐標(biāo)(xnow,ynow)和所述位置誤差(δx,δy)并通過公式(xprecise,yprecise)=(xnow+δx,ynow+δy)計算得到當(dāng)前精確坐標(biāo)(xprecise,yprecise)。
本發(fā)明還提供一種用于移動機器人的定位系統(tǒng),包括:
理論位置計算模塊:用于按照預(yù)設(shè)時間間隔推算并記錄移動機器人的理論位置坐標(biāo);
絕對位置獲取模塊:用于獲取移動機器人在行走過程中拍攝的圖形碼的絕對位置坐標(biāo);
位置推算模塊:用于根據(jù)所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo);
位置誤差獲取模塊:用于根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差;
當(dāng)前絕對位置模塊:用于將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)。
優(yōu)選地,所述理論位置計算模塊包括:
最小時間間隔計算單元:用于根據(jù)移動機器人的最大運行速度v和定位精度q,并通過公式t=q/v計算得到最小時間間隔t;
預(yù)設(shè)時間間隔確定單元:用于根據(jù)所述最小時間間隔t確定所述預(yù)設(shè)時間間隔。
優(yōu)選地,所述位置推算模塊具體為:
時間間隔端點位置推算模塊:用于當(dāng)在拍攝圖形碼時的時刻t為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的所述理論位置坐標(biāo);
非時間間隔端點位置推算模塊:用于當(dāng)在拍攝圖形碼時的時刻t不為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)(xt,yt)通過以下公式計算:
其中:tn≤t≤tn+1,tn與tn+1為兩個相鄰的時間間隔的端點,
在tn時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn);
在tn+1時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1)。
本發(fā)明還提供一種用于移動機器人的主控制器,包括上述任一項所述的定位系統(tǒng),還包括用以實現(xiàn)所述理論位置計算模塊和所述絕對位置獲取模塊具備同步絕對時間的rtc模塊。
本發(fā)明還提供一種移動機器人,其特征在于,包括上述的主控制器。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的用于移動機器人的定位方法的流程圖;
圖2為本發(fā)明實施例所提供的用于移動機器人的定位系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為了使本技術(shù)領(lǐng)域的技術(shù)人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細(xì)說明。
請參考圖1和圖2,圖1為本發(fā)明實施例所提供的用于移動機器人的定位方法的流程圖;圖2為本發(fā)明實施例所提供的用于移動機器人的定位系統(tǒng)的結(jié)構(gòu)框圖。
本發(fā)明提供的一種用于移動機器人的定位方法,如說明書附圖1所示,主要包括:
s1、按照預(yù)設(shè)時間間隔計算并記錄移動機器人的理論位置坐標(biāo);
s2、獲取移動機器人在行走過程中拍攝的圖形碼的絕對位置坐標(biāo);
s3、根據(jù)至少兩個相鄰的所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo);
s4、根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差;
s5、將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)。
在步驟s1中,移動機器人在行走過程中,可以每隔預(yù)設(shè)時間間隔計算出移動機器人的理論位置坐標(biāo);舉例來說,預(yù)設(shè)時間間隔可以為10ms,則當(dāng)移動機器人開始行走時,得到在0ms下移動機器人的理論位置坐標(biāo),并記錄;當(dāng)移動機器人行走了10ms時,計算移動機器人行走10ms時的理論位置坐標(biāo),并記錄;以此類推,得到時間所對應(yīng)的理論位置坐標(biāo)的表格等數(shù)組;在計算時,可以通過移動機器人的行走速度、行走方向等進行計算;而根據(jù)微分原理,對于一個很短暫的時間段,可以認(rèn)為在該時間段內(nèi),移動機器人是做勻速運行,以方便計算。
在步驟s2中,移動機器人在行走過程中,經(jīng)過圖形碼時,對圖形碼進行拍攝,從而獲取圖形碼所蘊含的絕對位置坐標(biāo);繼續(xù)以上述例子說明,假設(shè)當(dāng)移動機器人行走15ms時,拍攝到圖形碼,并利用現(xiàn)有技術(shù)的手段得到絕對位置坐標(biāo);也即,移動機器人行走15ms時的絕對位置坐標(biāo)可知;移動機器人在拍攝到圖形碼直至得到絕對位置坐標(biāo)這一過程中,移動機器人持續(xù)行走。其中,圖形碼可以是二維碼等。
在步驟s3中,移動機器人應(yīng)獲取移動機器人在拍攝到圖形碼時的時刻下,所對應(yīng)的推算位置坐標(biāo);也即,移動機器人在拍攝到圖形碼時為15ms,通過步驟s1獲得的表格等數(shù)組,計算得到在15ms時移動機器人的推算位置坐標(biāo),由于步驟s1所獲得的表格等數(shù)組是通過行走速度、行走方向等進行計算得到的,因此存在一定的誤差,由此計算得到的在15ms時移動機器人的推算位置坐標(biāo)也應(yīng)與圖形碼所蘊含的絕對位置坐標(biāo)具有位置誤差。
步驟s4即計算推算位置坐標(biāo)與絕對位置坐標(biāo)之間的位置誤差;
步驟s5中將位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo);也即,倘若移動機器人在拍攝到圖形碼直至得到絕對位置坐標(biāo)這一過程中所需的時間為20ms~50ms,則通過步驟s1的方式計算出移動機器人在得到絕對位置坐標(biāo)時所處的當(dāng)前理論位置坐標(biāo),并將位置誤差直接補償于當(dāng)前理論位置坐標(biāo),進而實現(xiàn)精確定位的目的。
針對上述步驟s1中,按照預(yù)設(shè)時間間隔計算并記錄移動機器人理論位置坐標(biāo)的步驟包括:
根據(jù)移動機器人的最大運行速度v和定位精度q,并通過公式t=q/v計算得到最小時間間隔t;
根據(jù)所述最小時間間隔t確定所述預(yù)設(shè)時間間隔。
假設(shè)移動機器人的最大運行速度為3m/s,定位精度要求為1cm,因此應(yīng)至少按3.3ms(=0.01m÷3m/s)為間隔保存坐標(biāo)值。最小時間間隔t為3.3ms;在實際應(yīng)用中,為進一步提高精度,可以按1ms為間隔保存坐標(biāo)值,也即預(yù)設(shè)時間間隔為1ms。
移動機器人的主控制器內(nèi)就保存一個數(shù)據(jù)表,以1ms為間隔,記錄了在各個時間點上的理論位置坐標(biāo)。其中該數(shù)據(jù)表用的時間點,是主控制器的絕對時間。
步驟s2中根據(jù)所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo)的步驟包括:
當(dāng)在拍攝圖形碼時的時刻t為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的所述理論位置坐標(biāo);
當(dāng)在拍攝圖形碼時的時刻t不為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)(xt,yt)通過以下公式計算:
其中:tn≤t≤tn+1,tn與tn+1為兩個相鄰的時間間隔的端點,
在tn時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn);
在tn+1時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1)。
我們繼續(xù)以上述例子說明,預(yù)設(shè)時間間隔可以為10ms,則當(dāng)移動機器人開始行走時,得到在0ms下移動機器人的理論位置坐標(biāo),并記錄;當(dāng)移動機器人行走了10ms時,計算移動機器人行走10ms時的理論位置坐標(biāo),并記錄;以此類推;
倘若移動機器人拍攝圖形碼時的時刻t恰好為10ms時,則10ms所對應(yīng)的理論位置坐標(biāo)即為推算位置坐標(biāo);
倘若移動機器人拍攝圖形碼時的時刻t為15ms時,由于通過步驟s1獲得的表格等數(shù)組沒有15ms時所對應(yīng)的理論位置坐標(biāo)(僅僅有10ms、20ms等數(shù)據(jù)),因此需要利用插值公式計算得出15ms所對應(yīng)的推算位置坐標(biāo)(xt,yt);
推算位置坐標(biāo)(xt,yt)通過以下公式計算:
其中:tn≤t≤tn+1,tn與tn+1為兩個相鄰的時間間隔的端點,
在tn時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn);
在tn+1時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1)。
在這里,t即為15ms,tn即為10ms,tn+1即為20ms;10ms時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn),20ms時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1);(xn,yn)與(xn+1,yn+1)均為通過步驟s1可以計算得到的坐標(biāo)值。
當(dāng)然,針對15ms所對應(yīng)的推算位置坐標(biāo)(xt,yt)還可以采用數(shù)值分析中的其他插值公式獲得,并不僅僅局限于本文所述的插值公式。
在步驟s4中,根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差的步驟包括:
根據(jù)所述推算位置坐標(biāo)(xt,yt)和絕對位置坐標(biāo)(x,y),并通過公式(δx,δy)=(x-xt,y-yt)計算得到所述位置誤差(δx,δy)。
顯而易見地,計算得到推算位置坐標(biāo)(xt,yt)之后,將通過圖形碼所獲取的絕對位置坐標(biāo)(x,y)與推算位置坐標(biāo)(xt,yt)做減法,從而得到位置誤差(δx,δy)。
在步驟s5中,將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)的步驟包括:
當(dāng)移動機器人的當(dāng)前時刻tnow為某一所述預(yù)設(shè)時間間隔的端點時,則所述當(dāng)前理論位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的當(dāng)前理論位置坐標(biāo)(xnow,ynow);利用所述當(dāng)前理論位置坐標(biāo)(xnow,ynow)和所述位置誤差(δx,δy)并通過公式(xprecise,yprecise)=(xnow+δx,ynow+δy)計算得到當(dāng)前精確坐標(biāo)(xprecise,yprecise)。
繼續(xù)以上述例子說明,預(yù)設(shè)時間間隔可以為10ms,則當(dāng)移動機器人開始行走時,得到在0ms下移動機器人的理論位置坐標(biāo),并記錄;當(dāng)移動機器人行走了10ms時,計算移動機器人行走10ms時的理論位置坐標(biāo),并記錄;以此類推;倘若移動機器人拍攝圖形碼時的時刻t為15ms時,得到位置誤差(δx,δy);此時得到位置誤差(δx,δy)時移動機器人已經(jīng)持續(xù)行走了50ms;按照步驟s1的方式獲取50ms時移動機器人的當(dāng)前理論位置坐標(biāo)(xnow,ynow);并將位置誤差(δx,δy)補償于(xnow,ynow),得到在50ms時移動機器人的當(dāng)前精確坐標(biāo)(xprecise,yprecise)。
本發(fā)明還提供一種用于移動機器人的定位系統(tǒng),如說明書附圖2所示,包括:
理論位置計算模塊101:用于按照預(yù)設(shè)時間間隔推算并記錄移動機器人的理論位置坐標(biāo);
絕對位置獲取模塊102:用于獲取移動機器人在行走過程中拍攝的圖形碼的絕對位置坐標(biāo);
位置推算模塊103:用于根據(jù)所述理論位置坐標(biāo)得到在拍攝圖形碼時的時刻下所對應(yīng)的推算位置坐標(biāo);
位置誤差獲取模塊104:用于根據(jù)所述推算位置坐標(biāo)和所述絕對位置坐標(biāo)得到位置誤差;
當(dāng)前絕對位置模塊105:用于將所述位置誤差補償于移動機器人推算出的當(dāng)前理論位置坐標(biāo)。
其中,理論位置計算模塊101包括:
最小時間間隔計算單元:用于根據(jù)移動機器人的最大運行速度v和定位精度q,并通過公式t=q/v計算得到最小時間間隔t;
預(yù)設(shè)時間間隔確定單元:用于根據(jù)所述最小時間間隔t確定所述預(yù)設(shè)時間間隔。
位置推算模塊103具體為:
時間間隔端點位置推算模塊:用于當(dāng)在拍攝圖形碼時的時刻t為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)為該所述預(yù)設(shè)時間間隔的端點所對應(yīng)的所述理論位置坐標(biāo);
非時間間隔端點位置推算模塊:用于當(dāng)在拍攝圖形碼時的時刻t不為所述預(yù)設(shè)時間間隔的端點時,則所述推算位置坐標(biāo)(xt,yt)通過以下公式計算:
其中:tn≤t≤tn+1,tn與tn+1為兩個相鄰的時間間隔的端點,
在tn時刻下所對應(yīng)的理論位置坐標(biāo)為(xn,yn);
在tn+1時刻下所對應(yīng)的理論位置坐標(biāo)為(xn+1,yn+1)。
本發(fā)明還提供一種用于移動機器人的主控制器,包括上述任一項所述的定位系統(tǒng),還包括用以實現(xiàn)所述理論位置計算模塊101和所述絕對位置獲取模塊102具備同步絕對時間的rtc模塊。
從移動機器人的角度看,其核心是主控制器。主控制器通過連接攝像頭得到包含有圖形碼的圖片,然后主控器識別該圖片得到圖形碼中包含有的絕對位置坐標(biāo);同時主控制器連接行走裝置驅(qū)動器,驅(qū)動行走裝置讓移動機器人開始移動。在本發(fā)明的具體實施例中,主控制器與攝像頭之間可以通過高速以太網(wǎng)進行連接。當(dāng)然,也可以使用usb等其他通信方式。
主控制器具備rtc模塊,具有一個獨立的絕對時間。同時攝像頭向主控制器進行時間同步,從而使攝像頭也得到了絕對時間。
在本發(fā)明的具體實施例中,主控制器與攝像頭之間基于采用以太網(wǎng)的ieee1588“網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標(biāo)準(zhǔn)”進行時間同步,同步精度高于10us。當(dāng)然,也可以使用ntp、秒脈沖等其他同步方式來實現(xiàn)。
在移動機器人行走過程中,攝像頭拍攝到包含圖形碼的圖片。由于攝像頭已經(jīng)在步驟s2中獲得了絕對時間,因此攝像頭可知拍攝時刻的絕對時間為t。然后,攝像頭將帶有時間戳t的圖片數(shù)據(jù)發(fā)送給主控制器。如此設(shè)置,主控制器和攝像頭之間進行的時間同步;攝像頭給拍攝的圖片打上包含絕對時間信息的時間戳;主控制器的位置內(nèi)推單元在內(nèi)存中記錄了在各時間點推算出坐標(biāo)值。
本發(fā)明還提供一種移動機器人,包括上述的主控制器。移動機器人的其他部分可以參照現(xiàn)有技術(shù),本文不再展開。
本發(fā)明提供的移動機器人,攝像頭和主控制器之間增加時間同步功能后,可以為所有拍攝到的圖片增加絕對時間時間戳。即使機器人在解析圖片的過程中繼續(xù)移動,也可以將解析出來的位置信息和圖片時間戳相聯(lián)系。然后可以精確的得到在特定時刻,實際位置和主控制器計算的機器人位置。然后可以得出機器人的位置偏移值,進行精確的位置校準(zhǔn)。
需要說明的是,在本說明書中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體與另外幾個實體區(qū)分開來,而不一定要求或者暗示這些實體之間存在任何這種實際的關(guān)系或者順序。
以上對本發(fā)明所提供的移動機器人及其主控制器、定位系統(tǒng)與方法進行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。