在OpticStudio中建立擴增實境頭戴式顯示器

擴增實境(AR)系統為多道光路的架構和自由曲面(free-from optics)的使用提供了良好的示範。這篇文章說明了如何在序列模式中,使用楔形稜鏡(wedge-shaped prism)和自由曲面建立頭戴式顯示器(HMD)。我們將以三個範例檔案演示不同階段的模型建立。

作者 Natalie Pastuszka

附件下载

範例檔案

简介

在設計一個擴增實境(augmented reality, AR)透視頭戴式顯示器(OST-HMD)時,我們會針對兩道光路進行優化: 微顯示器的投影路徑以及供使用者看見外界的透視路徑。為了達到最佳的AR效果,光學設計者必須確保虛擬影像和現實景物能正確結合。此技術可被廣泛應用在軍事和醫療輔助等方面。

考量到實際用途,設計者必須將整個光學系統設計成一個精巧且非侵入式的裝置,同時具備大視角(FOV)和小f-number等優點。這篇文章說明如何使用楔形自由曲面稜鏡和膠合輔助鏡頭(cemented auxiliary lens)建立上述的光學系統。

參考專利

本文的範例參考了專利Patent US 2014/0009845 A1的設計。在範例檔案中,我們針對各表面大量的運用了傾斜(tilt)和偏心(decenter)技巧。在下方的示意圖中,我們可以看到系統使用自由曲面稜鏡(FFS prism)和膠合輔助鏡頭(cemented auxiliary lens, 圖中黃色部分)這兩個光學元件改變入射光的行進方向。FFS的使用增加了設計的自由度,使系統可以較少的光學元件達成目的,大幅減少裝置的重量。另一方面,膠合輔助鏡頭(cemented auxiliary lens)可有效修正畸變,改善透視影像的品質。

下圖參考自專利並稍加修改。

ImageFromPatentModified

設計方針

OST-HMD包含了兩個光學元件: 1)楔形FFS稜鏡 和2) 膠合輔助鏡頭。在OpticStudio中我們會先建立FFS稜鏡,並根據原始規格進行參數設定,接著以微顯示器投影路徑(第一道光路)為目標進行優化。在完成上述步驟後,我們在多重結構編輯器(multi-configuration editor)中建立膠合輔助鏡頭。藉由這個鏡頭的輔助,可以有效減少畸變的影響,並消除光學系統的屈光能力。透過以上的步驟,我們可以改善第二道光路使觀察者看到的外界景物不會扭曲變形。

在模擬環境中,我們顛倒了整個光學系統,使光線路徑與現實情況完全相反。在實際應用上,我們會以微顯示器作為HMD的光源,人眼的視網膜則會是像面。前後者分別作為整個光學路徑的出/入瞳。然而為了精確的架設各個元件且能有效的在OpticStudio中進行優化,我們會將實際的出瞳作為OpticStudio中的入瞳元件,並以微顯示器作為整個系統的像面。在接下來的篇幅,我們都會以光線在OpticStudio中的追跡方向來描述。

關於HMD的建立,首先我們會逐一插入表面以建立稜鏡,並追跡單一視場角(field angle)的一條主光線。接下來,為了傾斜稜鏡使光線按預期的路線行進,我們會在適當的位置插入Coordinate Break表面。此外,我們還需要考慮元件的幾何關係,並為各表面設定適合的材質,使這個光學系統成為一個合理的設計。

由於序列模式(Sequential Mode)無法模擬出全反射(TIR)的現象,我們必須在發生TIR的表面上再覆蓋上一個表面,並定義該表面為具有Pickup solves的鏡面(MIRROR),使追跡光線能符合實際情況。在完成對單一視場的優化之後,我們接著利用多重結構編輯器(Multi-Configuration Editor, MCE)建立第二道光路。最後我們會納入製造上的考量,並對整個系統的表現進行最終的優化。

楔形自由曲面(FFS)稜鏡

為了簡化一開始的光線追跡過程,我們將系統的入瞳大小訂為6mm(人眼瞳孔尺寸約為2-8mm),並設定單一視場點(field point)。當所有的表面都正確的被建立,且光線能順利的通過稜鏡後,我們可以逐步的擴大FOV和人瞳尺寸。(更多關於FOV的論述可參考後續的”定義視角”段落)

在序列模式中,我們利用多個傾斜或偏心表面建立稜鏡。為了確認各表面的位置和存在必要性,我們必須思考系統中的光線是如何通過稜鏡,並與各表面交互作用的。在下方示意圖中我們可以清楚看到光線的路徑、各表面的作用和編號,這些資訊有助於稜鏡模型的建立。

上方示意圖中的紅色數字代表該表面在鏡頭數據編輯器(Lens Data Editor, LDE)中的表面編號,Coordinate Break的存在已納入考量。至於黑字 ”S#” 則代表了稜鏡的實際表面,可以在本文參考的專利模型中找到對應的表面。(我們也可以在LDE中的Comment欄位看到上述的編號)

舉例,我們可以看到上方紅框中的8-9-10表面代表了示意圖中的表面9,同時也代表了實際稜鏡的S1’表面,即S1的反射面(內表面)。而表面8和10則分別代表了LDE中的表面8和10,並作為表面9的Coordinate Break。

進行以上步驟時,光欄(stop, 在此為系統的入瞳)位置須設為全域座標參考(Global Coordinate Reference)。稜鏡的第一面(S1或是Coordinate Break加入後LDE中的Surface 3)位於光欄後方18.25mm處,等同於Surface 1在LDE中的厚度。而這個距離在實際應用上是作為使用裝置時的適眼距(eye relief)。除了座標的設定之外,我們還需要思考如何設計表面的傾斜或偏心,才能使入射光順利到達像面。專利設計中的參數和示意圖可以在這方面提供不少幫助。

如下方示意圖,可以看到入射光自S1(LDE中的Surface 3)進入稜鏡,接著落在S2(LDE中的Surface 6)上。示意圖中的S2作為一個平面鏡,使進入稜鏡的光線全數反射。在實際應用上S2是一個鍍膜的半反射鏡(half-mirror)。光線在到達該表面後會分成兩個行進路徑: 1)在稜鏡內部發生反射,最後到達上方的微顯示器2)使外界光線順利通過的透射路徑。我們會在稍後的篇幅使用多重結構編輯器建立第二道光路。為了使光線符合示意圖中的行進方向,我們會再次使用傾斜和偏心的功能調整表面的位置。

注意: 為了更完整的呈現光線追跡路徑,我們根據專利中微顯示器的位置對像面進行調整,透過表面的傾斜或偏心使光學元件呈現正確的幾何關係。

檢視光路圖,我們會發現光線須在S1的內表面(即S1’)反射,才能順利抵達微顯示器(像面)。根據專利的說明,前述的光線轉折是由介面的全反射(TIR)所造成。我們在後續的”全反射(TIR)”段落中會提到更詳盡描述,此處僅針對OpticStudio的操作做說明。

由於在序列模式中無法模擬TIR,因此我們需要額外將S1’設為面鏡。此外,將表面的解形態(Solve type)設為Pickup可使此表面更符合S1(LDE中的surface 3)的實際表現,允許入射光同時呈現反射和穿透的現象。我們可以根據下圖完成上述的設定步驟,使各表面對應的參數隨LDE中Surface 9變更。

最後我們以相同的方式在像面(LDE中的Surface 12)前插入一個表面,並設定正確的x-tilt和y-decenter。

定義視角 (FOV)

由於自由曲面的設計會隨視場(field)變化,為了分析系統的FOV我們需要盡可能設定更多的視場點。OpticStudio允許使用者在給定的視場中間分割,並有效率進行優化。此外,這些視場點還必須在X和Y方向給予定義。由於範例檔案中的光學系統並非旋轉對稱(該系統對稱於YZ平面,但對XZ平面是非對稱的),我們無法確保光線在正向和負向均有相同的行進路線。

全反射 (TIR)

在實際的光學系統中,從微顯示器出發的光線會在S1’面發生TIR。當光線從高折射率的介質射向折射率較低的介質,且入射角大於臨界角時,此現象可能會發生在兩介質的交界面。TIR的臨界角如下所示:

Equation

ni 代表光線入射的介質,而nr 代則是發生折射的介質。在本範例中,光線自PMMA(n=1.492)射向S1’表面。此時S1’表面的外側為空氣,因此nr=1。由以上的關係式我們可以得到TIR發生的臨界角(θc)為 42.09度。實際的光線入射角會成為優化過程中的約束條件。

產生矩形光圈

我們可以在LDE的semi-diameter欄位調整表面和面上的光圈(aperture)大小。考慮現實中楔形稜鏡的幾何關係,本範例中會以矩形光圈的形式呈現。矩形光圈可被定義在稜鏡的任何表面上,我們可以在 Surface Property…Aperture Type中將光欄改為Rectangular Type。(由於Coordinate Break是虛擬表面,這些表面不會對光線行進造成任何改變,因此我們無法在此定義光圈。)

優化

系統針對RMS波前(wavefront)進行優化,並且以質心(centroid)為參考點。我們可以逐步增加光瞳採樣(Pupil Integration)中的環(ring)和臂(arm)以改良設計。以上步驟均可在優化函數編輯器(Merit Function Editor)中完成。至於約束條件的部分,我們可以選擇以有效焦距(EFL)、厚度、全域座標、光線路徑長度、傾斜/偏心參數、角度和畸變等物理量作為限制。

首先,我們需要使用全域座標約束條件(GLCX/GLCY/GLCZ)確保S1和S1’表面(LDE中的Surface 9和3)對齊,畢竟在實際應用上這兩個面本來就是一體的。這些操作數(operand)將被用在surface 9和3的pickup參數上。

為了使整體光學架構更為簡潔,我們可將光線路徑長度作為約束條件。特別是從S3到像面以及S1’到像面的距離,針對這兩個長度進行限制可確保像面被放在合理的位置。

對表面的傾斜/偏心參數進行限制可使稜鏡在優化過程中保持正常的形狀,避免出現其中一個表面異常遠離其他表面的現象。一開始所有表面的型態為標準透鏡(Standard Lens),在優化的過程中會漸漸的變成偶數型非球面(Even Asphere),部分表面最後將變為自由曲面型態。在本案例中,S1、S1’和S3表面(LDE中的 surface 3, 9, 12)會以Extended Polynomial的型態呈現,surface 2則會是Even Asphere。

設定多重結構編輯器(Multi-Configuration Editor)

到目前為止,第一道光路(投影路徑)的優化已大致完成。接下來我們將進行第二道光路(透視路徑)的建立和優化。在這個階段中,我們主要針對S2表面上的輔助鏡頭(auxiliary lens)進行設計。

下圖為FFS稜鏡優化完成後的LDE,參數可能會因為優化的過程和視場的添加而存在些微的差異。我們可以在最終的範例檔案中得到非球面和自由曲面係數。

注意: 在進行優化後,各表面在LDE中會呈現不同的顏色。我們也可以根據偏好在surface property中對顏色進行變更。

在進行輔助鏡頭的建構時,我們首先將S4加入已建立的FFS稜鏡模型中。此時多重結構編輯器(Multi-Configuration Editor, MCE)可以幫助我們將整個系統一分為二。如下圖,我們可以看到投影路徑和透視路徑清楚的呈現。

  

在根據光路對光學系統進行劃分前,我們需要先在像面前加入S4表面(在實際應用上,S4會是第二道光路的光線在到達像面前的最後一個表面)。在LDE中加入S4和對應的Coordinate Break後的結果如下(surface 14, 15, 16為新增的欄位)。

接下來我們會以多重結構編輯器(Multi-Configuration Editor, MCE)對光學系統進行劃分。在明確的分割系統後,我們可針對不同目標和表面特性對單一光路進行優化。舉例而言,設計者可以在針對FFS稜鏡以RMS波前和有限像面優化的同時,對輔助鏡頭和透視光路以散焦(afocal)為目標進行相同操作。在透視路徑中,我們希望能在配戴裝置的情況下仍可清晰看到外界景物,因此像面在這道光路中不會是位於焦點上的。為了使HMD的存在不影響使用者正常觀看周遭環境,在模擬中我們必須使無窮遠出發的影像光線能順利映射在人眼的角膜(cornea)上。同時,我們還需要對輔助鏡頭進行優化,減少透視光路的畸變並消除光學系統的屈光效果。關於MCE的設定,我們可以在Help Files中找到許多有用的資訊。(推薦閱讀 “Multiple Configuration Editor” 和 “Multi-Configuration Operands” 這兩個段落)

觀察上方個別光路的示意圖和LDE,可以發現第一道光路包含了LDE中surface 0到surface 13的所有元件,以及像面(surface 17, 18)。第二道光路則涵蓋了S1和S2表面,但不包括S1’和S3表面。因此在針對此光路進行設計和優化時,S1’和S3及相對應的Coordinate Break均會被忽略,僅會考慮Surfaces 0-7, 14-16 和 18。同時,像面的Coordinate Break也會被忽略,因為我們希望像面可以垂直於Z軸,正如實際應用上的外界入射光。

在上方的MCE中,我們可以看到在configuration欄位的”1”,代表該操作數是有效的,而”0”則代表了該操作數不會對優化結果造成影響。透過操作數IGNR的設置,我們可以決定哪些表面會真正影響模擬結果,而哪些表面則是要被忽略的。舉例而言,觀察MCE我們可以發現surface 14到16(第3到5橫列)不會對第一道光路造成影響。

此外還有一點特別重要的是操作數GLSS的使用,我們利用這個操作數將Surface 6(FFS稜鏡的S2)材質改為玻璃。該表面在一開始的第一道光路中被當作鏡面,為了模擬第二道光路,我們必須賦予該表面可被穿透的特性,以便在序列模式下同時模擬出透射和反射的效果。此外,多重結構操作數AFOC可使第二道光路中的”散焦像空間(Afocal Image Space)”效果被啟用。

在優化多重結構的過程中,MCE和LDE的參數均可被調整以改進結果。我們可以藉由操作數CONF將操作數歸類到多重結構的其中一種結構中,這些操作數只會對該結構造成影響。在CONF後方的”Cfg#”輸入結構的編號,例如本例的第一道光路即輸入”1”,MCE會將此橫列下方的所有操作數納入該結構的優化計算,直到下一個CONF出現為止。

分析

我們可以利用MCE或者其他工具列的功能對系統的表現進行分析。由於本範例中的模型使用了自由曲面且具有缺乏旋轉對稱的特性,我們使用了Huygens PSF的分析方法。(若想了解更多關於MTF分析的使用,請參考這篇文章"Why are FFT and Huygens MTF results different on tilted image surfaces?")

如果想在分析的過程中加入矢高(sag)和曲率(curvature)的考量,我們可以在上方工具列中依序選擇分析(Analyze)...表面(Surface)...矢高圖(Sag)/曲率圖(Curvature)。更多細節上的變更可以在設定(Settings)選單中完成。

視場光焦圖(Field Map)是另一個我們可以選用的分析工具,我們可以在分析(Analyze)...PAL/Freeform中找到這個功能。在設定選單中我們可以針對各種特性進行分析,例如特定表面的曲光率(power)。在本範例中,我們使用該功能評估在透視路徑(see-through path)中光線抵達像面時所受到屈光的影響。要達到使人眼無法辨別差異的程度,設計者必須盡可能減少光學系統的屈光能力(約小於0.5D),才可降低使用時的疲勞和不適感。

参考资料

1. Cheng, Dewen, Hong Hua, and Yongtian Wang. “Optical See- Through Free- Form Head- Mounted Display.” U.S. Patent 0009845. 9 January 2014

KA-01334

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助

评论

0 条评论

文章评论已关闭。