本發(fā)明涉及定位技術(shù)領(lǐng)域,尤其涉及一種移動設(shè)備定位方法和一種移動設(shè)備定位裝置。
背景技術(shù):
隨著新型移動設(shè)備例如手機、平板電腦、可穿戴設(shè)備等物聯(lián)網(wǎng)設(shè)備性能飛速提高和基于位置感知應(yīng)用的激增,定位服務(wù)發(fā)揮了越來越重要的作用。近年來,定位服務(wù)的相關(guān)技術(shù)和產(chǎn)業(yè)正向室內(nèi)發(fā)展,以提供無所不在的基于位置的服務(wù)。實用的室內(nèi)定位方法需要滿足特定要求,主要包括以下幾個方面:精度、覆蓋范圍、可靠性、成本、功耗、可擴展性和響應(yīng)時間。特別是在vr(virtualreality,虛擬現(xiàn)實)/ar(augmentedreality,增強現(xiàn)實)領(lǐng)域,定位技術(shù)已經(jīng)成為vr/ar交互式體驗的根本所在。
目前,vr/ar領(lǐng)域的定位技術(shù)主要包括:
1、慣性傳感器(陀螺儀、加速度計、磁力計等)定位:
通過慣性傳感器估計用戶的運動狀態(tài),推測運動軌跡,從而得到相對初始點或者參考點的相對位置。
該定位方法存在誤差累計效應(yīng),時間越長,誤差越大。通常需要結(jié)合其他定位方法進行輔助定位,導(dǎo)致實現(xiàn)起來較為復(fù)雜。
2、基于光學(xué)和計算機視覺定位(攝像頭攝像采集馬克點+圖像處理):
根據(jù)馬克點的放置形式,分為由內(nèi)向外式感知和由外向內(nèi)式感知兩種,主要利用攝像頭采集到信息后進行圖像處理,但是圖像信號數(shù)據(jù)量較大,處理過程會造成系統(tǒng)很大的負(fù)擔(dān),從而導(dǎo)致嚴(yán)重的延時現(xiàn)象,用戶體驗較差。
3、基于wifi信號的定位:
1)一種是基于接收信號的強度進行三邊測量定位,通過信號強度和已知信號衰弱模型來估計距離并畫圓求交點;2)另一種是基于傳輸時間定位,通過測量無線信號在兩個節(jié)點之間的往返傳輸時間,并用該時間推測節(jié)點間的距離,多點推測并畫圓算交點。但是這兩種方式都由于信號易受干擾而容易導(dǎo)致定位不準(zhǔn)確。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種移動設(shè)備的定位方法和一種移動設(shè)備的定位裝置,以解決相關(guān)技術(shù)中的不足。
根據(jù)本發(fā)明實施例的第一方面,提供一種移動設(shè)備的定位方法,包括:
通過以下方式確定在第一坐標(biāo)系中從第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量:
確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度;
確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量;
根據(jù)所述第一法向量和所述第二法向量的叉乘計算在所述第一坐標(biāo)系中從所述第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量;
根據(jù)確定所述第一待轉(zhuǎn)換向量的方式確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量;其中,所述第一坐標(biāo)系為以所述第一掃描設(shè)備所在位置為第一原點的坐標(biāo)系,所述第二坐標(biāo)系為以所述第二掃描設(shè)備所在位置為第二原點的二坐標(biāo)系;
根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置。
根據(jù)本發(fā)明實施例的第二方面,提供一種移動設(shè)備的定位裝置,包括:
角度確定單元,用于確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度;
向量確定單元,用于確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量;
向量計算單元,用于根據(jù)所述第一法向量和所述第二法向量的叉乘計算在所述第一坐標(biāo)系中從所述第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量;
其中,所述角度確定單元、向量確定單元和向量計算單元還用于根據(jù)確定所述第一待轉(zhuǎn)換向量的方式確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量;其中,所述第一坐標(biāo)系為以所述第一掃描設(shè)備所在位置為第一原點的坐標(biāo)系,所述第二坐標(biāo)系為以所述第二掃描設(shè)備所在位置為第二原點的二坐標(biāo)系;
位置確定單元,用于根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置。
由上述實施例可知,可以通過兩個掃描設(shè)備分別進行計算掃描來確定移動設(shè)備的位置,其中處理過程只需涉及坐標(biāo)系中向量的確定,以及坐標(biāo)系之間向量的轉(zhuǎn)換,無需其他復(fù)雜算法,使得計算量較小、延時和成本也較低,并且算法簡單,計算所依據(jù)的物理量可以準(zhǔn)確獲取,從而定位可靠性更高,可以適用于vr、ar等產(chǎn)品,可以給用戶帶來更好的使用體驗。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1示出了根據(jù)本發(fā)明一個實施例的一種移動設(shè)備的定位方法的示意流程圖。
圖2示出了根據(jù)本發(fā)明一個實施例的應(yīng)用場景示意圖。
圖3示出了根據(jù)本發(fā)明一個實施例的坐標(biāo)系的示意圖。
圖4示出了根據(jù)本發(fā)明一個實施例的第一掃描設(shè)備以第一軸為軸進行掃描的示意圖。
圖5示出了根據(jù)本發(fā)明一個實施例的第一掃描設(shè)備以第二軸為軸進行掃描的示意圖。
圖6示出了根據(jù)本發(fā)明一個實施例的第一角度的示意圖。
圖7示出了根據(jù)本發(fā)明一個實施例的第二角度的示意圖。
圖8示出了根據(jù)本發(fā)明一個實施例的第一法向量的示意圖。
圖9示出了根據(jù)本發(fā)明一個實施例的第二法向量的示意圖。
圖10示出了根據(jù)本發(fā)明一個實施例的第二掃描設(shè)備以第四軸為軸進行掃描的示意圖。
圖11示出了根據(jù)本發(fā)明一個實施例的第二掃描設(shè)備以第五軸為軸進行掃描的示意圖。
圖12示出了根據(jù)本發(fā)明一個實施例的第一角度的示意圖。
圖13示出了根據(jù)本發(fā)明一個實施例的第二角度的示意圖。
圖14示出了根據(jù)本發(fā)明一個實施例的第一法向量的示意圖。
圖15示出了根據(jù)本發(fā)明一個實施例的第二法向量的示意圖。
圖16示出了根據(jù)本發(fā)明一個實施例的第一交點和第二交點的中點的示意圖。
圖17示出了根據(jù)本發(fā)明一個實施例的另一種移動設(shè)備的定位方法的示意流程圖。
圖18示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。
圖19示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。
圖20示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。
圖21示出了根據(jù)本發(fā)明一個實施例的一種移動設(shè)備的定位裝置的示意框圖。
圖22示出了根據(jù)本發(fā)明一個實施例的另一種移動設(shè)備的定位裝置的示意框圖。
圖23示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖。
圖24示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖。
圖25示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖。
圖26示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖。
圖27為本發(fā)明移動設(shè)備的定位裝置所在設(shè)備的一種硬件結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細(xì)地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1示出了根據(jù)本發(fā)明一個實施例的一種移動設(shè)備的定位方法的示意流程圖,該方法可以應(yīng)用于移動設(shè)備,也可以應(yīng)用于第一掃描設(shè)備或者第二掃描設(shè)備,還可以應(yīng)用于一個獨立的處理設(shè)備。如圖1所示,該方法包括:
步驟s1,通過以下方式確定在第一坐標(biāo)系中從第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量:
步驟s11,確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度;
步驟s12,確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量;
步驟s13,根據(jù)所述第一法向量和所述第二法向量的叉乘計算在所述第一坐標(biāo)系中從所述第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量;
步驟s2,根據(jù)確定所述第一待轉(zhuǎn)換向量的方式確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量;其中,所述第一坐標(biāo)系為以所述第一掃描設(shè)備所在位置為第一原點的坐標(biāo)系,所述第二坐標(biāo)系為以所述第二掃描設(shè)備所在位置為第二原點的二坐標(biāo)系;
步驟s3,根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置。
在一個實施例中,移動設(shè)備可以是手機、平板電腦等移動終端,也可以是vr/ar頭盔,游戲手柄的智能設(shè)備。以下主要在移動設(shè)備為vr/ar頭盔的情況下對實施例進行示例性說明。
在一個實施例中,根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置的方式可以是,將第二待轉(zhuǎn)換向量轉(zhuǎn)換到第一坐標(biāo)系中,然后根據(jù)轉(zhuǎn)換后的向量和第一待轉(zhuǎn)換向量(例如交點)確定移動設(shè)備在第一坐標(biāo)系中的位置。
在一個實施例中,根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置的方式還可以是,將第一待轉(zhuǎn)換向量和第二待轉(zhuǎn)換向量分別轉(zhuǎn)換到第三坐標(biāo)系中,其中,第三坐標(biāo)系可以是以移動設(shè)備所處空間中的任一點為第三原點,建立的坐標(biāo)系。然后根據(jù)轉(zhuǎn)換后的兩個向量(例如交點)確定移動設(shè)備在第三坐標(biāo)系中的位置。以下主要結(jié)合該實施例進行示例性說明。
圖2示出了根據(jù)本發(fā)明一個實施例的應(yīng)用場景示意圖。
在一個實施例中,如圖2所示,第一掃描設(shè)備1和第二掃描設(shè)備2可以處在相同的高度,當(dāng)然,也可以根據(jù)需要將第一掃描設(shè)備1和第二掃描設(shè)備2設(shè)置在不同高度。其中,第一掃描設(shè)備和第二掃描設(shè)備可以分別發(fā)出激光掃描信號,對移動設(shè)備3進行掃描。
圖3示出了根據(jù)本發(fā)明一個實施例的坐標(biāo)系的示意圖。
在一個實施例中,在圖2所示實施例的基礎(chǔ)上,以第一掃描設(shè)備1所在位置a為第一原點,建立第一坐標(biāo)系,以第二掃描設(shè)備2所在位置b為第二原點,建立第二坐標(biāo)系,以移動設(shè)備所處空間中的任一點c為第三原點,建立第三坐標(biāo)系。
其中,可以確定所述第一原點在所述第三坐標(biāo)系中的第一坐標(biāo)orga=(xa0,ya0,za0),以及所述第二原點在所述第三坐標(biāo)系中的第二坐標(biāo)orgb=(xb0,yb0,za0)。
在一個實施例中,將一個坐標(biāo)系中的坐標(biāo)、向量等轉(zhuǎn)換到另一個坐標(biāo)系中,可以通過變換矩陣進行轉(zhuǎn)換,而變換矩陣可以拆分為一個平移矩陣和一個旋轉(zhuǎn)矩陣,而第一坐標(biāo)中的xa0就相當(dāng)于第一坐標(biāo)系到第三坐標(biāo)系的平移矩陣中x軸對應(yīng)的平移量,第一坐標(biāo)中的ya0就相當(dāng)于第一坐標(biāo)系到第三坐標(biāo)系的平移矩陣中y軸對應(yīng)的平移量,第一坐標(biāo)中的za0就相當(dāng)于第一坐標(biāo)系到第三坐標(biāo)系的平移矩陣中z軸對應(yīng)的平移量;類似地,第二坐標(biāo)中的xb0就相當(dāng)于第二坐標(biāo)系到第三坐標(biāo)系的平移矩陣中x軸對應(yīng)的平移量,第二坐標(biāo)中的yb0就相當(dāng)于第二坐標(biāo)系到第三坐標(biāo)系的平移矩陣中y軸對應(yīng)的平移量,第二坐標(biāo)中的zb0就相當(dāng)于第二坐標(biāo)系到第三坐標(biāo)系的平移矩陣中z軸對應(yīng)的平移量。
在一個實施例中,步驟s11,確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度,具體可以通過以下步驟完成。
圖4示出了根據(jù)本發(fā)明一個實施例的第一掃描設(shè)備以第二軸為軸進行掃描的示意圖。圖5示出了根據(jù)本發(fā)明一個實施例的第一掃描設(shè)備以第一軸為軸進行掃描的示意圖。
步驟s111,獲取所述第一掃描設(shè)備以第一角速度以所述第二軸為軸進行掃描的第一起始時刻,以及掃描到所述移動設(shè)備的第一截止時刻,獲取所述第一掃描設(shè)備以第二角速度以所述第一軸為軸進行掃描的第二起始時刻,以及掃描到所述移動設(shè)備的第二截止時刻;
步驟s112,根據(jù)所述第一截止時刻與所述第一起始時刻的差值與所述第一角速度之積,計算所述第一角度,根據(jù)所述第二截止時刻與所述第二起始時刻的差值與所述第二角速度之積,計算所述第二角度。
在一個實施例中,如圖4所示,第二軸可以是第一坐標(biāo)系的y軸,掃描的方向可以是如圖4所示從x軸正方向到x軸負(fù)方向,也可以是從x軸負(fù)方向到x軸正方向,具體可以根據(jù)需要進行設(shè)置。
在一個實施例中,以y軸為軸掃描的范圍可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為從x軸正方向開始掃描,到z軸正方向停止,也即掃描90°。也可以從x軸正方向開始掃描,到x軸負(fù)方向停止,也即掃描180°。
在一個實施例中,如圖5所示,第一軸可以是第一坐標(biāo)系的x軸,掃描的方向可以是如圖5所示從y軸正方向到y(tǒng)軸負(fù)方向,也可以是從y軸負(fù)方向到y(tǒng)軸正方向,具體可以根據(jù)需要進行設(shè)置。
在一個實施例中,以x軸為軸掃描的范圍可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為從y軸正方向開始掃描,到z軸正方向停止,也即掃描90°。也可以從y軸正方向開始掃描,到y(tǒng)軸負(fù)方向停止,也即掃描180°。
在一個實施例中,在第一掃描設(shè)備中可以設(shè)置有通信模塊,可以將開始掃描的第一起始時刻t0a和第二起始時刻t3a傳輸至移動設(shè)備。
在一個實施例中,在移動設(shè)備上可以設(shè)置有光電傳感器,在接收到第一起始時刻t0a后接收到激光掃描信號時,可以生成電信號,移動設(shè)備中的控制電路可以記錄該電信號的生成時間作為第一截止時刻t2a。以及在接收到第二起始時刻t3a后接收到激光掃描信號時,可以生成電信號,移動設(shè)備中的控制電路可以記錄該電信號的生成時間作為第二截止時刻t5a。
在一個實施例中,第一角速度ω1和第二角速度ω2可以根據(jù)需要進行設(shè)置,既可以將兩者設(shè)置為相等,也可以將兩者設(shè)置為不相等。
圖6示出了根據(jù)本發(fā)明一個實施例的第一角度的示意圖。圖7示出了根據(jù)本發(fā)明一個實施例的第二角度的示意圖。在圖6和圖7中,簡化了移動設(shè)備的示意圖。
在一個實施例中,如圖6所示,以從x軸正方向開始掃描為例,當(dāng)掃描激光以ω1角速度從t0a開始掃描,到t2a掃描到移動設(shè)備,那么掃描過的第一角度θa=(t2a-t0a)*ω1。
在一個實施例中,如圖7所示,以從第y軸正方向開始掃描為例,當(dāng)掃描激光以ω2角速度從t3a開始掃描,到t5a掃描到移動設(shè)備,那么掃描過的第二角度φa=(t5a-t3a)*ω2。
在一個實施例中,步驟s12,確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量,具體可以通過以下步驟完成。
步驟s121,確定垂直于所述第一坐標(biāo)系的第三軸和所述第一軸所構(gòu)成的平面,且與所述第一軸的正方向的夾角等于所述第一角度的第一平面,其中,所述第一平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);
步驟s122,計算所述第一平面的第一法向量;
步驟s123,確定垂直于所述第一軸和所述第二軸所構(gòu)成的平面,且與所述第二軸的正方向的夾角等于所述第二角度的第二平面,其中,所述第二平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);
步驟s124,計算所述第二平面的第二法向量。
圖8示出了根據(jù)本發(fā)明一個實施例的第一法向量的示意圖。
在一個實施例中,如圖8所示,在圖6所示實施例的基礎(chǔ)上,第一坐標(biāo)系的第三軸可以是z軸,第一平面可以為如圖8所示的a1a2a3a4,第一平面即以y軸為軸的掃描激光在掃描到移動設(shè)備時,掃描激光所處的平面,由于第一平面以y軸為軸轉(zhuǎn)動,因此垂直于xaz平面,并且與x軸正方向成第一角度θa。在確定了第一平面a1a2a3a4后,可以進一步確定第一法向量
其中,
圖9示出了根據(jù)本發(fā)明一個實施例的第二法向量的示意圖。
在一個實施例中,如圖9所示,在圖7所示實施例的基礎(chǔ)上,第二平面可以為如圖9所示的a5a6a7a8,第二平面即以x軸為軸的掃描激光在掃描到移動設(shè)備時,掃描激光所處的平面,由于第二平面以x軸為軸轉(zhuǎn)動,因此垂直于yaz平面,并且與y軸正方向成第一角度φa。在確定了第二平面a5a6a7a8后,可以進一步確定第二法向量
其中,
在一個實施例中,步驟s13,根據(jù)所述第一法向量和所述第二法向量的叉乘計算在所述第一坐標(biāo)系中從所述第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量
在一個實施例中,除了通過上述步驟確定第一待轉(zhuǎn)換向量,還可以通過第一掃描設(shè)備接收對所述移動設(shè)備進行激光掃描時移動設(shè)備的反射的激光,從而根據(jù)反射的激光的方向,來確定移動設(shè)備在第一坐標(biāo)系中的坐標(biāo),進而將a點到移動設(shè)備在第一坐標(biāo)系中的坐標(biāo)所形成的向量作為第一待轉(zhuǎn)換向量。
以下根據(jù)確定所述第一待轉(zhuǎn)換向量的方式,示例性的描述如何確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量。
在一個實施例中,確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量包括以下步驟:
確定移動設(shè)備相對第二坐標(biāo)系第四軸正方向的第三角度,以及相對第二坐標(biāo)系第五軸正方向的第四角度;
確定與所述第四軸正方向成所述第三角度的平面的第三法向量,以及與所述第五軸正方向成所述第四角度的平面的第四法向量;
根據(jù)所述第三法向量和所述第四法向量的叉乘計算在所述第二坐標(biāo)系中從所述第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量。
圖10示出了根據(jù)本發(fā)明一個實施例的第二掃描設(shè)備以第五軸為軸進行掃描的示意圖。圖11示出了根據(jù)本發(fā)明一個實施例的第二掃描設(shè)備以第四軸為軸進行掃描的示意圖。
獲取所述第二掃描設(shè)備以第三角速度以所述第二坐標(biāo)系的第五軸為軸進行掃描的第三起始時刻,以及掃描到所述移動設(shè)備的第三截止時刻,獲取所述第二掃描設(shè)備以第四角速度以所述第二坐標(biāo)系的第四軸為軸進行掃描的第四起始時刻,以及掃描到所述移動設(shè)備的第四截止時刻
根據(jù)所述第三截止時刻與所述第三起始時刻的差值與所述第三角速度之積,計算所述第三角度,根據(jù)所述第四截止時刻與所述第四起始時刻的差值與所述第四角速度之積,計算所述第四角度。
在一個實施例中,如圖10所示,第五軸可以是第二坐標(biāo)系的y軸,掃描的方向可以是如圖10所示從x軸正方向到x軸負(fù)方向,也可以是從x軸負(fù)方向到x軸正方向,具體可以根據(jù)需要進行設(shè)置。
在一個實施例中,以y軸為軸掃描的范圍可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為從x軸正方向開始掃描,到z軸正方向停止,也即掃描90°。也可以從x軸正方向開始掃描,到x軸負(fù)方向停止,也即掃描180°。
在一個實施例中,如圖11所示,第四軸可以是第二坐標(biāo)系的x軸,掃描的方向可以是如圖11所示從y軸正方向到y(tǒng)軸負(fù)方向,也可以是從y軸負(fù)方向到y(tǒng)軸正方向,具體可以根據(jù)需要進行設(shè)置。
在一個實施例中,以x軸為軸掃描的范圍可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為從y軸正方向開始掃描,到z軸正方向停止,也即掃描90°。也可以從y軸正方向開始掃描,到y(tǒng)軸負(fù)方向停止,也即掃描180°。
在一個實施例中,在第二掃描設(shè)備中可以設(shè)置有通信模塊,可以將開始掃描的第三起始時刻t0b和第四起始時刻t3b傳輸至移動設(shè)備。
在一個實施例中,在移動設(shè)備上可以設(shè)置有光電傳感器,在接收到第三起始時刻t0b后接收到激光掃描信號時,可以生成電信號,移動設(shè)備中的控制電路可以記錄該電信號的生成時間作為第三截止時刻t2b。以及在接收到第四起始時刻t3b后接收到激光掃描信號時,可以生成電信號,移動設(shè)備中的控制電路可以記錄該電信號的生成時間作為第四截止時刻t5b。
在一個實施例中,第三角速度ω3和第四角速度ω4可以根據(jù)需要進行設(shè)置,既可以將兩者設(shè)置為相等,也可以將兩者設(shè)置為不相等。
圖12示出了根據(jù)本發(fā)明一個實施例的第三角度的示意圖。圖13示出了根據(jù)本發(fā)明一個實施例的第四角度的示意圖。在圖12和圖13中,簡化了移動設(shè)備的示意圖。
在一個實施例中,如圖12所示,以從x軸正方向開始掃描為例,當(dāng)掃描激光以ω3角速度從t0b開始掃描,到t2b掃描到移動設(shè)備,那么掃描過的第三角度θb=(t2b-t0b)*ω3。
在一個實施例中,如圖13所示,以從y軸正方向開始掃描為例,當(dāng)掃描激光以ω4角速度從t3b開始掃描,到t5b掃描到移動設(shè)備,那么掃描過的第四角度φb=(t5b-t3b)*ω4。
確定垂直于所述第二坐標(biāo)系的第六軸和所述第四軸所構(gòu)成的平面,且與所述第四軸的正方向的夾角等于所述第三角度的第三平面,其中,所述第三平面位于所述第二掃描設(shè)備的掃描范圍內(nèi)。
計算所述第三平面的第三法向量。
確定垂直于所述第四軸和所述第五軸所構(gòu)成的平面,且與所述第五軸的正方向的夾角等于所述第四角度的第四平面,其中,所述第四平面位于所述第二掃描設(shè)備的掃描范圍內(nèi)。
計算所述第四平面的第四法向量。
圖14示出了根據(jù)本發(fā)明一個實施例的第三法向量的示意圖。
在一個實施例中,如圖14所示,在圖12所示實施例的基礎(chǔ)上,第二坐標(biāo)系的第六軸可以是z軸,第三平面可以為如圖14所示的b1b2b3b4,第三平面即以y軸為軸的掃描激光在掃描到移動設(shè)備時,掃描激光所處的平面,由于第三平面以y軸為軸轉(zhuǎn)動,因此垂直于xbz平面,并且與x軸正方向成第三角度θb。在確定了第一平面b1b2b3b4后,可以進一步確定第三法向量
其中,
圖15示出了根據(jù)本發(fā)明一個實施例的第二法向量的示意圖。
在一個實施例中,如圖15所示,在圖13所示實施例的基礎(chǔ)上,第四平面可以為如圖15所示的b5b6b7b8,第四平面即以x軸為軸的掃描激光在掃描到移動設(shè)備時,掃描激光所處的平面,由于第四平面以x軸為軸轉(zhuǎn)動,因此垂直于ybz平面,并且與y軸正方向成第四角度φb。在確定了第四平面b5b6b7b8后,可以進一步確定第四法向量
其中,
根據(jù)所述第三法向量和所述第四法向量的第二法向量的叉乘計算在所述第二坐標(biāo)系中從所述第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量
在確定第一待轉(zhuǎn)換向量和第二待轉(zhuǎn)換向量后,可以進一步地,確定第一待轉(zhuǎn)換向量在第三坐標(biāo)系中分別對應(yīng)的第一目標(biāo)向量,以及第二待轉(zhuǎn)換向量在第三坐標(biāo)系中分別對應(yīng)的第二目標(biāo)向量。
在一個實施例中,可以預(yù)先確定第一坐標(biāo)系到第三坐標(biāo)系的第一旋轉(zhuǎn)矩陣ma,以及第二坐標(biāo)系到第三坐標(biāo)系的第二旋轉(zhuǎn)矩陣mb,然后通過旋轉(zhuǎn)矩陣將第一待轉(zhuǎn)換向量和第二待轉(zhuǎn)換向量分別轉(zhuǎn)換至第三坐標(biāo)系。
其中,第一目標(biāo)向量
在一個實施例中,步驟s3,根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置??梢酝ㄟ^如下步驟實現(xiàn)。
步驟s31,計算所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,以及所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量;
步驟s32,根據(jù)所述第一原點在所述第三坐標(biāo)系中的第一坐標(biāo)以及所述第一目標(biāo)向量確定第一直線,根據(jù)所述第二原點在所述第三坐標(biāo)系中的第二坐標(biāo)以及所述第二目標(biāo)向量確定第二直線;
步驟s33,確定所述第三坐標(biāo)系中到所述第一直線和所述第二直線的距離之和最小的坐標(biāo)作為所述移動設(shè)備在所述第三坐標(biāo)系中的坐標(biāo)。
在一個實施例中,經(jīng)過步驟s31實現(xiàn)了通過變換矩陣對坐標(biāo)系之間向量的旋轉(zhuǎn),進一步地,再對向量進行平移即可完成向量的轉(zhuǎn)換,例如根據(jù)旋轉(zhuǎn)得到的第一目標(biāo)向量,確定平行于第一目標(biāo)向量,且通過第一坐標(biāo)orga=(xa0,ya0,za0)的向量,即將第一待轉(zhuǎn)換向量轉(zhuǎn)換到第三坐標(biāo)系后的向量,而該向量所在的第一直線,則通過第一坐標(biāo)和移動設(shè)備所在的位置。
相應(yīng)地,根據(jù)旋轉(zhuǎn)得到的第二目標(biāo)向量,確定平行于第二目標(biāo)向量,且通過第二坐標(biāo)orgb=(xb0,yb0,za0)的向量,即將第二待轉(zhuǎn)換向量轉(zhuǎn)換到第三坐標(biāo)系后的向量,該向量所在的第二直線,則通過第二坐標(biāo)和移動設(shè)備所在的位置。
在一個實施例中,若移動設(shè)備的體積可以忽略,也即移動設(shè)備在第一坐標(biāo)系、第二坐標(biāo)系和第三坐標(biāo)系中可以等同于一個點,那么可以第一直線和第二直線相交于一點,那么可以根據(jù)第一直線和第二直線的交點直接確定移動設(shè)備在第三坐標(biāo)系中的坐標(biāo)。
圖16示出了本發(fā)明一個實施例的第一交點和第二交點的中點的示意圖。
在一個實施例中,若移動設(shè)備的體積不可忽略,那么第一直線和第二直線極小概率相交,可以視為不相交,在這種情況下,可以將第三坐標(biāo)系中到第一直線和第二直線的距離之和最小的坐標(biāo)作為移動設(shè)備在第三坐標(biāo)系中的坐標(biāo),例如將垂直于第一直線和第二直線和第三直線,與第一直線第一交點和與第二直線的第二交點的中點作為移動設(shè)備在第三坐標(biāo)系中的坐標(biāo)。具體可以通過如下算法實現(xiàn)。
設(shè)第一坐標(biāo)對應(yīng)點為p0,第二坐標(biāo)對應(yīng)點為q0,第一目標(biāo)向量簡化表示為
那么q0到p0的向量
通過本實例,可以通過兩個掃描設(shè)備分別進行計算掃描來確定移動設(shè)備的位置,其中處理過程只需涉及坐標(biāo)系中向量的確定,以及坐標(biāo)系之間向量的轉(zhuǎn)換,無需其他復(fù)雜算法,使得計算量較小、延時和成本也較低,并且算法簡單,計算所依據(jù)的物理量可以準(zhǔn)確獲取,從而定位可靠性更高,可以適用于vr、ar等產(chǎn)品,可以給用戶帶來更好的使用體驗。
圖17示出了根據(jù)本發(fā)明一個實施例的另一種移動設(shè)備的定位方法的示意流程圖。如圖17所述,在圖1所示實施例的基礎(chǔ)上,根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置包括:
步驟s31,計算所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,以及所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量;其中,所述第三坐標(biāo)系為以所述移動設(shè)備所在空間的任一點為第三原點的坐標(biāo)系;
步驟s32,根據(jù)所述第一原點在所述第三坐標(biāo)系中的第一坐標(biāo)以及所述第一目標(biāo)向量確定第一直線,根據(jù)所述第二原點在所述第三坐標(biāo)系中的第二坐標(biāo)以及所述第二目標(biāo)向量確定第二直線;
步驟s33,確定所述第三坐標(biāo)系中到所述第一直線和所述第二直線的距離之和最小的坐標(biāo)作為所述移動設(shè)備在所述第三坐標(biāo)系中的坐標(biāo)。
圖18示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。如圖18所示,在圖17所示實施例的基礎(chǔ)上,所述方法還包括:
步驟s4,確定所述第一坐標(biāo)系到所述第三坐標(biāo)系的第一旋轉(zhuǎn)矩陣,以及所述第二坐標(biāo)系到所述第三坐標(biāo)系的第二旋轉(zhuǎn)矩陣;
其中,計算所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,以及所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量包括:
根據(jù)所述第一待轉(zhuǎn)換向量和所述第一旋轉(zhuǎn)矩陣之積,確定所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,根據(jù)所述第二待轉(zhuǎn)換向量和所述第二旋轉(zhuǎn)矩陣之積,確定所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量。
在一個實施例中,步驟s4可以如圖18所示在步驟s2之后執(zhí)行,也可以根據(jù)需要調(diào)整執(zhí)行順序,只要保證在步驟s31之前執(zhí)行即可。
圖19示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。如圖19所示,在圖1所示實施例的基礎(chǔ)上,所述確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度包括:
步驟s111,獲取所述第一掃描設(shè)備以第一角速度以所述二軸為軸進行掃描的第一起始時刻,以及掃描到所述移動設(shè)備的第一截止時刻,獲取所述第一掃描設(shè)備以第二角速度以所述第一軸為軸進行掃描的第二起始時刻,以及掃描到所述移動設(shè)備的第二截止時刻;
步驟s112,根據(jù)所述第一截止時刻與所述第一起始時刻的差值與所述第一角速度之積,計算所述第一角度,根據(jù)所述第二截止時刻與所述第二起始時刻的差值與所述第二角速度之積,計算所述第二角度。
可選地,獲取所述第一起始時刻包括:
記錄接收到所述第一掃描設(shè)備發(fā)出的全方向的第一觸發(fā)信號的時刻作為所述第一起始時刻;
獲取所述第二起始時刻包括:
記錄接收到所述第一掃描設(shè)備發(fā)出的全方向的第二觸發(fā)信號的時刻作為所述第二起始時刻。
在一個實施例中,可以在第一掃描設(shè)備上和第二掃描設(shè)備上分別設(shè)置能夠發(fā)出全方向的觸發(fā)信號的裝置,以便移動設(shè)備無論處在什么方向上,都能夠接收到觸發(fā)信號,從而確定掃描的起始時間。
以第一掃描設(shè)備為例,其上可以配置向全方向發(fā)出預(yù)設(shè)頻率光線的led燈,當(dāng)開始發(fā)射激光掃描信號時,可以觸發(fā)led燈向全方向發(fā)射一次預(yù)設(shè)頻率的光線,移動設(shè)備上的光電傳感器在接收到該預(yù)設(shè)頻率的光線時,可以生成電信號,并記錄生成電信號的時刻,作為第一起始時刻。
可選地,獲取所述第一截止時刻包括:
記錄接收到所述第一觸發(fā)信號后,接收到激光掃描信號的時刻作為所述第一截止時刻;
獲取所述第二截止時刻包括:
記錄所述移動設(shè)備在接收到所述第二觸發(fā)信號后,接收到激光掃描信號的時刻作為所述第二截止時刻。
可選地,上述方法還包括:
在一個實施例中,由于掃描設(shè)備在每個掃描周期中會以第一軸為軸進行一次掃描,再以第二軸為軸進行一次掃描,而在每次掃描開始時,都會發(fā)射一次全方向性的觸發(fā)信號,以供移動設(shè)備記錄掃描其實時間。為了避免每次記錄的掃描截止時間出現(xiàn)混淆,可以將每接收到觸發(fā)信號之后接收到激光掃描信號的時刻作為截止時刻,保證每記錄一次起始時刻之后,記錄一次截止時刻,而不會連續(xù)記錄兩次起始時刻,導(dǎo)致運算出現(xiàn)錯誤。
圖20示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位方法的示意流程圖。如圖20所示,在圖1所示實施例的基礎(chǔ)上,確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量包括:
步驟s121,確定垂直于所述第一坐標(biāo)系的第三軸和所述第一軸所構(gòu)成的平面,且與所述第一軸的正方向的夾角等于所述第一角度的第一平面,其中,所述第一平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);
步驟s122,計算所述第一平面的第一法向量;
步驟s123,確定垂直于所述第一軸和所述第二軸所構(gòu)成的平面,且與所述第二軸的正方向的夾角等于所述第二角度的第二平面,其中,所述第二平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);
步驟s124,計算所述第二平面的第二法向量。
與上述移動設(shè)備的定位方法的實施例相對應(yīng)地,還提出了一種移動設(shè)備的定位裝置的實施例。
圖21示出了根據(jù)本發(fā)明一個實施例的一種移動設(shè)備的定位裝置的示意框圖,該裝置可以應(yīng)用于移動設(shè)備,也可以應(yīng)用于一個獨立的處理設(shè)備。如圖21所示,該裝置包括:
角度確定單元21,用于確定移動設(shè)備相對第一坐標(biāo)系第一軸正方向的第一角度,以及相對第一坐標(biāo)系第二軸正方向的第二角度;
向量確定單元22,用于確定與所述第一軸正方向成所述第一角度的平面的第一法向量,以及與所述第二軸正方向成所述第二角度的平面的第二法向量;
向量計算單元23,用于根據(jù)所述第一法向量和所述第二法向量的叉乘計算在所述第一坐標(biāo)系中從所述第一掃描設(shè)備到所述移動設(shè)備的第一待轉(zhuǎn)換向量;
其中,所述角度確定單元21、向量確定單元22和向量計算單元23還用于根據(jù)確定所述第一待轉(zhuǎn)換向量的方式確定在第二坐標(biāo)系中從第二掃描設(shè)備到所述移動設(shè)備的第二待轉(zhuǎn)換向量;其中,所述第一坐標(biāo)系為以所述第一掃描設(shè)備所在位置為第一原點的坐標(biāo)系,所述第二坐標(biāo)系為以所述第二掃描設(shè)備所在位置為第二原點的二坐標(biāo)系;
位置確定單元24,用于根據(jù)所述第一待轉(zhuǎn)換向量和所述第二待轉(zhuǎn)換向量確定所述移動設(shè)備的位置。
圖22示出了根據(jù)本發(fā)明一個實施例的另一種移動設(shè)備的定位裝置的示意框圖,如圖22所示,在圖21所示實施例的基礎(chǔ)上,所述位置確定單元24包括:
向量轉(zhuǎn)換子單元241,用于計算所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,以及所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量;其中,所述第三坐標(biāo)系為以所述移動設(shè)備所在空間的任一點為第三原點的坐標(biāo)系;
直線確定子單元242,用于根據(jù)所述第一原點在所述第三坐標(biāo)系中的第一坐標(biāo)以及所述第一目標(biāo)向量確定第一直線,根據(jù)所述第二原點在所述第三坐標(biāo)系中的第二坐標(biāo)以及所述第二目標(biāo)向量確定第二直線;
坐標(biāo)確定子單元243,用于確定所述第三坐標(biāo)系中到所述第一直線和所述第二直線的距離之和最小的坐標(biāo)作為所述移動設(shè)備在所述第三坐標(biāo)系中的坐標(biāo)。
圖23示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖,如圖23所示,在圖22所示實施例的基礎(chǔ)上,所述裝置還包括:
矩陣確定單元25,用于確定所述第一坐標(biāo)系到所述第三坐標(biāo)系的第一旋轉(zhuǎn)矩陣,以及所述第二坐標(biāo)系到所述第三坐標(biāo)系的第二旋轉(zhuǎn)矩陣;
其中,所述向量轉(zhuǎn)換子單元241,用于根據(jù)所述第一待轉(zhuǎn)換向量和所述第一旋轉(zhuǎn)矩陣之積,確定所述第一待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第一目標(biāo)向量,根據(jù)所述第二待轉(zhuǎn)換向量和所述第二旋轉(zhuǎn)矩陣之積,確定所述第二待轉(zhuǎn)換向量在所述第三坐標(biāo)系中對應(yīng)的第二目標(biāo)向量。
圖24示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖,如圖24所示,在圖21所示實施例的基礎(chǔ)上,所述角度確定單元21包括:
時刻獲取子單元211,用于獲取所述第一掃描設(shè)備以第一角速度以所述二軸為軸進行掃描的第一起始時刻,以及掃描到所述移動設(shè)備的第一截止時刻,獲取所述第一掃描設(shè)備以第二角速度以所述第一軸為軸進行掃描的第二起始時刻,以及掃描到所述移動設(shè)備的第二截止時刻;
角度計算子單元212,用于根據(jù)所述第一截止時刻與所述第一起始時刻的差值與所述第一角速度之積,計算所述第一角度,根據(jù)所述第二截止時刻與所述第二起始時刻的差值與所述第二角速度之積,計算所述第二角度。
圖25示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖,如圖25所示,在圖24所示實施例的基礎(chǔ)上,所述角度確定單元24還包括:
記錄子單元213,用于記錄接收到所述第一掃描設(shè)備發(fā)出的全方向的第一觸發(fā)信號的時刻作為所述第一起始時刻,以及記錄接收到所述第一掃描設(shè)備發(fā)出的全方向的第二觸發(fā)信號的時刻作為所述第二起始時刻。
可選地,所述記錄子單元還用于記錄接收到所述第一觸發(fā)信號后,接收到激光掃描信號的時刻作為所述第一截止時刻;以及記錄所述移動設(shè)備在接收到所述第二觸發(fā)信號后,接收到激光掃描信號的時刻作為所述第二截止時刻。
圖26示出了根據(jù)本發(fā)明一個實施例的又一種移動設(shè)備的定位裝置的示意框圖,如圖26所示,在圖1所示實施例的基礎(chǔ)上,所述向量確定單元22包括:
平面確定子單元241,用于確定垂直于所述第一坐標(biāo)系的第三軸和所述第一軸所構(gòu)成的平面,且與所述第一軸的正方向的夾角等于所述第一角度的第一平面,其中,所述第一平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);以及確定垂直于所述第一軸和所述第二軸所構(gòu)成的平面,且與所述第二軸的正方向的夾角等于所述第二角度的第二平面,其中,所述第二平面位于所述第一掃描設(shè)備的掃描范圍內(nèi);
向量計算子單元242,用于計算所述第一平面的第一法向量;以及計算所述第二平面的第二法向量。
在上述裝置實施例中,各單元執(zhí)行操作的具體方式,已經(jīng)在相關(guān)的方法實施例中進行了描述,在此不再贅述。
本發(fā)明移動設(shè)備的定位裝置的實施例可以應(yīng)用在網(wǎng)絡(luò)設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖27所示,為本發(fā)明移動設(shè)備的定位裝置所在設(shè)備的一種硬件結(jié)構(gòu)示意圖,除了圖27所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來講該設(shè)備還可能是分布式的設(shè)備,可能包括多個接口卡,以便在硬件層面進行報文處理的擴展。
對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的公開后,將容易想到本發(fā)明的其它實施方案。本發(fā)明旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。