作為VR頭盔空間定位的代表,HTC Vive一直以其Lighthouse激光定位傲視群雄。也許Oculus、PSVR分別在用戶體驗(yàn)和內(nèi)容上有自己的優(yōu)勢(shì),但要說到房間尺寸(Room-Scale)定位,則已經(jīng)推出一年的HTC Vive,至今在全世界還沒有對(duì)手,這也可以看出它激光定位方案的強(qiáng)大。
先給不玩VR的科普下(不玩VR你看這個(gè)文章干啥?),所謂Room-Scale,指的就是用戶能否自由地在VR里行走。其實(shí),所謂的VR三大硬件(HTC Vive、Oculus Rift、PSVR)都能實(shí)現(xiàn)一定程度的Room-Scale體驗(yàn),但Oculus、PSVR采用攝像頭為主的方案,效果并不怎么好,大多數(shù)情況下還是坐著不動(dòng)玩更舒服。
而HTC Vive的激光方案,才讓玩家真正能比較自由地在VR里行走,穩(wěn)定性和行走范圍均遠(yuǎn)遠(yuǎn)優(yōu)于另外兩者??梢哉f,HTC Vive啥都能黑,就是這個(gè)定位黑不得。
在2017年的CES上,國內(nèi)硬件廠商大朋帶來了雙目激光定位方案Polaris,似乎是要以自研技術(shù)和硬件,對(duì)HTC Vive發(fā)出挑戰(zhàn)。三月末又召開了發(fā)布會(huì)邀行業(yè)人現(xiàn)場(chǎng)體驗(yàn)。經(jīng)過現(xiàn)場(chǎng)測(cè)試,大朋的雙目激光定位方案反饋還不錯(cuò)。
但是我們?nèi)匀灰獑?,大朋的雙目激光定位原理為何?如何實(shí)現(xiàn)?相比HTC Vive又有哪些好處?本著刨根問底的精神,青亭網(wǎng)專門采訪了大朋CEO陳朝陽,首次詳細(xì)獨(dú)家揭示大朋的技術(shù)奧秘。
首先,要想明白大朋比HTC Vive好在哪里,我們就必須得再詳細(xì)闡述一下HTC Vive的定位方案(熟悉的小伙伴可以跳過這部分,直接看大朋的)。這一方案使用的是兩個(gè)名為光塔(Lighthouse)的基站,對(duì)角擺放,拉出一塊空間,不斷發(fā)射激光來掃描空間里的HTC Vive和手柄。
那么,基站具體是怎么運(yùn)作的?現(xiàn)在我們來拆解一下。
打開基站,會(huì)發(fā)現(xiàn)由三個(gè)部分組成,分別是LED燈陣列和兩個(gè)電機(jī)。電機(jī)分別用于打出一橫一豎兩個(gè)激光面。
如下圖,其中紅色面為豎直的激光面,掃動(dòng)方向是水平的,藍(lán)色為水平激光面,掃動(dòng)方向?yàn)樯舷麓怪睊邉?dòng),紅色陰影部分位于藍(lán)色面下方。
每當(dāng)一個(gè)激光面遇到傳感器,就會(huì)停止掃描并記錄角度。假如兩個(gè)面停止位置如圖所示,則可以確定傳感器位于兩面相交線,即圖中細(xì)紅線上。
這樣得到的位置信息是不全面的,因?yàn)橹恢傈c(diǎn)在哪條線上,不知道具體在線上什么位置,就像去某個(gè)地方,只知道在某條街上卻不知道門牌號(hào)碼。因此需要安裝多個(gè)傳感器。
所以聰明的你可能已經(jīng)猜到了,HTC Vive的傳感器都放在頭盔和手柄上,坑坑洼洼、如同月球表面的頭盔上,每一個(gè)小坑都是一個(gè)傳感器。并且傳感器是固定的,不能移動(dòng)。
實(shí)際上,系統(tǒng)并不需要確定每個(gè)傳感器的位置。而只需要確定傳感器所在的直線就好了。這就好像吃烤雞腿,用手拿著可以直接確定雞腿的位置,也可以拿幾根簽子穿著固定住,雞腿的位置同樣是確定的。
也就是說,確定位置并不一定需要傳感器的點(diǎn),還可以僅用足夠多的線來確定頭盔位置。只要知道頭盔尺寸,依據(jù)下圖就能確定位置了。
兩個(gè)激光面掃描完一次,確定的是頭盔上一個(gè)傳感器距離基站的直線方程。只知道掃描到的傳感器在這條直線上,但并不知道詳細(xì)距離。
這個(gè)時(shí)候就需要知道頭盔的尺寸了。然后通過專門的算法,明白在確定幾條直線、并已知頭盔大小的情況下,頭盔唯一有可能的方位在哪里。
在兩個(gè)激光面掃描完一個(gè)傳感器后,該傳感器就會(huì)關(guān)閉,以免下次再被掃到。等到掃到五個(gè)傳感器后(Valve官方給出的數(shù)字),頭盔定位完成。所有傳感器重新打開,開始新一輪的掃描,如此反復(fù)。
新版Lighthouse基站的LED陣列排列有變化
從上所述,理論上傳感器只需要五個(gè)就夠了。然而,實(shí)際上定位時(shí)由于光線接受可能被遮擋,傳感器之間又為了防止串?dāng)_信號(hào)必須保持距離,因此最后采用的傳感器有幾十個(gè)。所以不要再苛責(zé)你頭盔為什么長那么丑了,滿滿的都是愛啊……
重點(diǎn)來了,如何實(shí)現(xiàn)完整的數(shù)據(jù)流程,完成從用戶的移動(dòng)到他們的頭盔圖像的變化呢?
我們要先確定關(guān)鍵的數(shù)據(jù)和采集方法。兩個(gè)激光面能確定一條線(也就是上文所說的,傳感器點(diǎn)所在的直線)。那么橫豎激光兩個(gè)面的位置怎么算?只需要角度就能知道了——角度是電機(jī)的角速度(轉(zhuǎn)速)和用時(shí)的乘積,角速度是恒定的,相當(dāng)于已知,因此記錄下時(shí)間就能求出來。
下面是具體實(shí)現(xiàn)步驟了,對(duì)于不學(xué)理科的同學(xué)來說,可能還是有點(diǎn)復(fù)雜,打起精神!
首先基站會(huì)和傳感器進(jìn)行一次溝通,同步閃光(sync light),這樣傳感器會(huì)告訴傳感器的控制芯片,讓它把計(jì)時(shí)器(類似于秒表的功能)歸零,接下來的10毫米內(nèi),會(huì)有一個(gè)激光面掃過,這個(gè)激光面接觸到傳感器的時(shí)候,傳感器就會(huì)發(fā)出信號(hào),計(jì)時(shí)器就停了,記錄下時(shí)間,然后歸零。緊接著另一個(gè)激光面掃過,再次記錄時(shí)間,歸零。
這個(gè)過程看似復(fù)雜,實(shí)際上兩個(gè)電機(jī)只要以20毫秒轉(zhuǎn)一圈的速度(也就是每秒50轉(zhuǎn))穩(wěn)定運(yùn)行,而電機(jī)上的激光發(fā)射器“此起彼伏”地出現(xiàn)就行了。時(shí)間值隨后會(huì)來到傳感器的集線器,再到數(shù)據(jù)收集芯片,通過WiFi信號(hào)以某種數(shù)據(jù)包形式和協(xié)議(如UDP)發(fā)送到基站的計(jì)算部分。
這樣得到了兩個(gè)時(shí)間值能轉(zhuǎn)化為角度值,再轉(zhuǎn)為兩個(gè)面的方程,求出交線,就能獲得一個(gè)之前說到的傳感器所在的直線方程。然后諸多方程合并起來,通過算法算出一個(gè)頭盔上傳感器方位對(duì)應(yīng)的位置,就是對(duì)頭盔完成了定位。這個(gè)定位數(shù)據(jù)隨后會(huì)由基站更新到計(jì)算機(jī)或主機(jī),在3D引擎內(nèi)修改攝影機(jī)位置,重新計(jì)算畫面,發(fā)送到頭盔顯示器,完成一幀的顯示。
說完了HTC Vive,終于輪到我們今天的正主兒——大朋了!根據(jù)青亭網(wǎng)對(duì)大朋CEO陳朝陽的采訪,再加上觀察和HTC Vive的Lighthouse原理推斷,大朋Polaris結(jié)構(gòu)應(yīng)該類似這樣:
畫工丑了點(diǎn),將就點(diǎn)吧……是的,你沒看錯(cuò),大朋的基站里是三組電機(jī),比Vive多一組。分別為兩個(gè)打出橫激光面的電機(jī)和一個(gè)打出豎激光面的電機(jī)。
如下圖,三個(gè)激光面會(huì)形成三條交線,實(shí)際上只任意用兩條(比如紅和藍(lán))就能確定交點(diǎn),該點(diǎn)即為要確定的傳感器位置。也就是說,三個(gè)掃描面的時(shí)候,不是確定傳感器所在直線,而是直接把傳感器所在位置確定了。
顯然,這樣定位方式比起Lighthouse的定位只能確定傳感器所在直線位置要更加有效率。只要釘死三個(gè)點(diǎn)就能確定位置,也就相當(dāng)于頭盔上最少三個(gè)傳感器就夠了。(當(dāng)然為了保證精確,實(shí)際上不止三個(gè))
不過,實(shí)際中設(shè)計(jì)的時(shí)候?yàn)榱朔乐箼M向兩個(gè)面靠太近,影響精度(就像人要靠兩眼間存在距離才好定位一樣)。最好的辦法就是,把兩個(gè)橫向電機(jī)放在縱向電機(jī)的上下兩個(gè)位置。
這樣傳感器的數(shù)量比起Lighthouse大約能減少一半。但是存在問題是,如果激光面照不到傳感器就沒有效果了,為了實(shí)現(xiàn)無死角,最簡(jiǎn)單的方式就是在基站的另一面再放一個(gè)基站,就能覆蓋到了,這樣雙基站的設(shè)計(jì)能讓傳感器數(shù)量再減一半。大概像這樣:
最后需要的傳感器數(shù)量大概是Lighthouse的四分之一左右(Lighthouse用了幾十個(gè)傳感器)。事實(shí)上,大朋官方也是這樣宣傳的,即頭盔所需傳感器相對(duì)Vive較少,僅需六個(gè)。頭盔得以更輕便,而相對(duì)的,大朋的基站就要比Lighthouse體積更大。
實(shí)際工作順序如下:
首先LED陣列發(fā)出閃光,與傳感器控制芯片同步一次,然后開始計(jì)時(shí)。如果能做到16毫秒左右延遲的話,總周期應(yīng)該是15毫秒以內(nèi)。
這里假設(shè)是15毫秒。則閃光后第一個(gè)5毫秒內(nèi),第一個(gè)橫向激光面掃過,傳感器發(fā)信號(hào)之后記錄時(shí)間;第二個(gè)5毫秒內(nèi),縱向激光面掃過,傳感器發(fā)信號(hào)后記錄時(shí)間;第三個(gè)5毫秒內(nèi),第二個(gè)橫向激光面掃過,傳感器發(fā)信號(hào),記錄時(shí)間,然后WiFi信號(hào)傳輸時(shí)間數(shù)據(jù)包給基站進(jìn)行位置計(jì)算,上傳到計(jì)算機(jī)或主機(jī)完成位置數(shù)據(jù)更新。
其實(shí)和HTC Vive很類似,只是多出一步橫激光面的掃描,定位的不是點(diǎn)所在的直線,而是點(diǎn)的坐標(biāo)。
陳朝陽的在讀完青亭網(wǎng)的原理解析后,表示認(rèn)可:“原理上已經(jīng)寫的很好了。沒什么好補(bǔ)充的了?!?但他也強(qiáng)調(diào):“95%的難度在工程實(shí)現(xiàn)上,太多細(xì)節(jié)要考慮了。”
國內(nèi)專注于大空間多人定位的公司ZVR CEO郭偉也對(duì)青亭網(wǎng)指出,激光方案主要是工程方面的問題,在具體的電機(jī)調(diào)校、產(chǎn)品量產(chǎn)、供應(yīng)鏈方面會(huì)有很多坑。
綜上,我們對(duì)大朋的定位方案進(jìn)行了解讀。但是聰明如你,一定還有一些疑惑。是的,關(guān)于大朋的定位方案,從原理上來說,我們萌生了這幾個(gè)問題(見文末附錄)。
青亭網(wǎng)就這些問題對(duì)陳朝陽進(jìn)行求證,對(duì)方給出了可以理解的答復(fù):“目前還沒到開源我們的所有原理的時(shí)候”。
筆者期待,作為國產(chǎn)硬件中少數(shù)采用自研技術(shù)方案的廠商,大朋的定位方案能夠走出一條自己的路,用體驗(yàn)說話,在未來能夠?qū)@些問題作出完美的解答。
文章來自: 咸寧新聞網(wǎng) http://www.xnnews.com.cn
原文參考:http://news.xnnews.com.cn/qyxc/201704/t20170421_2642108.shtml
鄂ICP備2020021375號(hào)-2
網(wǎng)絡(luò)傳播視聽節(jié)目許可證(0107190)
備案號(hào):42010602003527
今日湖北網(wǎng)版權(quán)所有
技術(shù)支持:湖北報(bào)網(wǎng)新聞傳媒有限公司
舉報(bào)電話:027-88568010
運(yùn)維監(jiān)督:13307199555