當前位置:
首頁 > 科技 > 燈塔激光定位技術——多人大空間交互體驗的最優選擇

燈塔激光定位技術——多人大空間交互體驗的最優選擇

——映維網——

國際影響力VR信息數據平台

聲明:本文系第三方稿件,非映維網官方稿件,望讀者知悉。本文內容涉及任何法律問題均與映維網無關。禁止以「來源映維網(YiVian)」名義轉載本文。

空間定位是VR 市場中一個非常關鍵的技術,當今排名前列的VR硬體設備廠商(HTC/Vive和Oculus)分別採用了不同的空間定位方案

Oculus 的 Constellation 系統紅外攝像頭定位

HTC/Vive、大朋VR的 燈塔激光定位系統

儘管這兩種定位方式都採用了PnP解算,但都有各自的局限性和適應的場景,下文將逐一詳細分析。

Oculus Constellation定位系統

Oculus採用的是基於Camera的定位方案,被稱為Constellation。在Oculus頭盔和手柄上都布滿了紅外sensor,以某個固定的模式在閃爍。

通過特製的camera以一個固定的頻率(Oculus CV1是60fps)拍攝,得到一組圖片。系統通過這些點在圖片上的二維位置,以及已知的頭盔或者手柄的三維模型,反推出點在三維空間中的位置。這個過程可以進一步的細分成以下的步驟,

首先,為了確保準確的定位到頭盔和手柄上的LED,PC端的Oculus Camera軟體/驅動程序通過HID介面發送某個命令點亮LED,該亮度足以被Camera捕捉到,同時這些LED以某個特殊的模式閃爍。這樣能確保即使有遮擋的情況下,在不同的角度下,只要有足夠多的LED被拍攝到,整個的tracking系統就能正常工作,不會被環境中的其他雜訊信號所影響。

然後是記錄下每一個被捕捉到的LED的位置和方向

當然,為了做好定位,Oculus camera本身並不需要LED的顏色,只需記錄每個點的明暗,所以 Oculus Camera固件中記錄下的的圖像為 752×480像素, 像素格式為 Y8灰階,每一幅圖看起來如下

拿到頭盔上的LED在二維圖片上的位置,又有頭盔上Sensor的三維模型,有什麼辦法可以估算出這些點的三維位置?這本質上是一個Pnp解算的問題 (https://en.wikipedia.org/wiki/Perspective-n-Point):有了n個3D點的模型(就像上面提到的LED點在頭盔上的3D分布), camera拍攝下來的n個2D點的集合,再加上camera本身的內部的參數,可以推算出這些點的位置坐標(X,Y,Z) 以及姿態(Yaw,Pitch,Roll)。

這個點的集合到底有多大?這是一個尋求最優解的問題,常見的做法是n>=3,也就是圖片上只要拍到三個以上的LED,就能夠解算出相關的姿態和位置。考慮到遮擋或者拍攝的照片不夠清楚等因素,實踐中看,至少要拍攝到4-5個點,整個頭盔的姿態和位置才能被正確的算出,這也是為什麼在Oculus的頭盔上布滿了很多LED點的一個重要原因。

算出來的數據有誤差怎麼解決?一個常見的辦法是得到6DOF的數據之後,用該數據再做一次投影,產生新的2D圖像,把該圖像和我們開始用來計算的圖像進行比較,得到一個誤差函數,應用該函數來進行校準。不過這帶來另外一個問題:點進行比較的時候,你怎麼知道3d模型上的點,和拍攝到的二維圖像上的點之間的匹配關係?如果做一一對應的全匹配計算的話,計算量太大。所以Oculus採用的辦法是採用不同的閃爍模式,來快速匹配3d模型上的點和拍攝到的圖像上的點。

進一步,在姿態估計的問題上面,通過光學(camera圖片)得到的姿態會有誤差,而這種誤差主要來自於物體快速移動時捕獲到的照片上的點識別的困難。為了減少這種誤差,需要通過IMU信息來進行一步校準通過PnP解算得到的姿態,這就是所謂的Sensor數據融合。

從上面的描述可以看出來,基於camera的光學定位技術,安裝配置比較簡單,成本也比較低,但是圖像處理技術較為複雜,物體移動較快時識別物體的位置有比較大的困難,同時容易受到自然光的干擾。

另外,基於Camera的定位精準度受到Camera本身解析度的限制,比如Oculus Rift的Camera為720p,比較難以提供亞毫米級的精準定位。

最後,Camera自身能夠捕捉到的照片的距離比較近,不能應用到很大的房間位置,一般都只能提供桌面級別的VR定位。當然最近Oculus提供了三個Camera的方案,試圖在room scale級別和燈塔定位技術一較高下。

燈塔激光定位技術

反之,htc,大朋等企業提供的燈塔激光定位技術,避免了Camera定位技術的高複雜度,具有定位精度高,反應速度快,可分散式處理等優勢,能夠允許用戶在一定的空間內進行活動,對使用者來說限制小,能夠適配需要走動起來的遊戲,真正實現Room Scale級別的vr定位。

下面從燈塔定位的原理解釋為什麼在大空間的應用中燈塔激光定位是一個更好的選擇。

HTC的燈塔定位系統中有兩個基站,每個基站上面有兩個馬達,其中一個馬達往水平方向掃射,另外一個朝垂直方向掃射。

基站刷新的頻率是60赫茲,基站a上面的馬達1首先朝水平方向掃射,8.33毫秒之後,第二個馬達朝垂直方向上掃射(第二個8.33毫秒),然後基站a關閉,接著基站b重複和基站a一樣的工作……

這樣只要在16ms中,有足夠多的sensor點同時被垂直和水平方向上的光束掃到,這些sensor點相對於基站基準面的角度能夠被計算出來,而被照射到的sensor點在投影平面上的坐標也能夠獲得。同時,靜止時這些點在空間中的坐標是已有的,可以作為參考,這樣就能夠計算出,當前被照的點相對於基準點的旋轉和平移,進一步的得出這些點的坐標,這其實也是一個PnP問題。

進一步的,再融合IMU上獲得的姿態,就能夠較準確的給出頭盔或者手柄的姿態和位置

在上一步中計算出來的頭盔/手柄的位置和姿態信息,通過RF傳遞到和PC相連的一個接收裝置,該裝置再通過USB介面,把數據上傳到PC端的driver或者OpenVR runtime,最後上傳到遊戲引擎以及遊戲應用中。

大朋VR定位方案

相比HTC的定位技術,大朋在激光定位方面做了進一步的創新,在每個基站上面加入了三個馬達,從上到下編號,一號馬達從垂直方向上掃描,2號馬達從水平方向掃描,3號馬達從垂直方向掃描。

每一個馬達掃描的時間間歇是4ms,該馬達在工作的時候,其他馬達都處於關閉狀態,基本時序如下:

基站上面的馬達1首先發送同步光信號給頭盔/手柄上的sensor點,sensor點清零計數器,馬達1接著朝垂直方向掃射;4毫秒之後,第2個馬達朝水平方向上掃射(第二個4毫秒),然後是第3個馬達朝垂直方向上掃射(第3個4毫秒)。

被照射到的sensor點可以比較容易的得到被照射時的時間,以及每一個號馬達開始掃描的時間。馬達的轉速是固定的,這樣就可以得到sensor點相對於掃射平面的角度,而該角度編碼後通過RF傳送到PC端,再做進一步的姿態融合之後,PC端就能容易的拿到6DOF的數據。

在指定時間裡增加掃描的次數,大大減少所需要的sensor數量。從實際測試中看,在大朋的最新款的E3P中,最後需要的感測器數量大概是Lighthouse的四分之一左右(Lighthouse用了幾十個感測器),頭盔和手柄所需要的感測器都是個位數,頭盔手柄都變得更輕便。這不僅大大增加了整個定位系統的穩定性,也讓sensor在頭盔或手柄上的布局也更加的簡單。

進一步的,由於每次掃描的時間間隔更短,所以手柄的姿態等信息能夠以更快的頻率(每4ms一次)傳送到PC端,更及時的更新到VR遊戲中。

在玩vr遊戲或者應用的時候,難免會出現各種各樣的遮擋,為了讓用戶能夠在房間級別的空間中暢玩,必須要讓燈塔在360度各角度方位都能夠照射到頭盔和手柄,大朋vr的解決方案和htc一樣,也是雙基站。雙基站的工作時序和單基站一樣,唯一的區別是,主基站工作的時候,從基站是關閉的,反之亦然

大朋VR激光定位固有的定位穩定,需要的sensor點少這些特點,使得該定位方案能夠非常好的應用到教育行業和多人聯機對戰中。

聯機多人對戰也是大朋VR定位版擅長的領域

比如以下的場景中,只需要一到兩個基站可以覆蓋多台網吧電腦,大大降低成本。

綜上來看,相較於紅外方案,激光定位在大空間多人聯機的應用上具有較明顯的優勢。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 YiViAn 的精彩文章:

華為專利暗示研發Envizion 360度全景VR相機
真機圖疑似泄漏,三星或在研發Windows MR頭顯
Steam Dev Days或暫停兩年,下代SteamVR或仍無突破

TAG:YiViAn |