AR 光波導結構優化案例

AR 光波導顯示技術

光學穿透式頭戴顯示(AR眼鏡)作為AR技術的主要硬體載體,近年來,受到了科學界和產業界的廣泛關注。其中以光波導的形式體積最薄,關於各式波導結構有許多相關的研究,但如何優化出最佳的光柵炸結構已達到設計需求會是困難點,本文以AR光波導技術為例,說明如何利用Lumerical/Zemax/Optialang來進行AR的光波導結構優化設計。

Zemax光路結構設計與優化目標

在Zemax中建立光柵的結構分布,波長為530nm,X與Y的視場分別為12度與9度,X有11個點位Y有15個點位,共165視場點為均勻性優化的目標,光柵結構分布為機密文件,不公開說明。

光源打到光波導結構後,轉折置上方出瞳,為考慮到眼動範圍與括瞳效果。使用25個透鏡和接收器來觀測成像目標,預期結果為25個接收器(眼位)觀測結果都是各點均勻。

Optislang與Zemax優化Workflow

ANSYS的Optislang是強大的優化與分析工具,有高級的優化算法,尋優快速、正確,且能與其他軟體工具進行互動,例如參數抓取與計算目標等等。使用python的語法將Zemax的光柵參數,輸入到Optislang並設定為優化變數。在Optislang 2023R2的新功能中已具備跨平太串接功能,而不需要額外的Python語法。

 

之後在Optislang中設定優化目標及流程,設定變數的上下限範圍,再利用python和Zemax的結果對對接,並執行優化程序。

Optislang設定變數及範圍

利用python來進行進階的變數設定:
1. 將同一列的轉向光柵或同一行的耦出光柵用函數描述,每組3個變數。
2. 設定隨其他參數變化的變數範圍。
這次設定的優化變數為79項,包括各部位的光柵結構與距離等等。

Optislang設定優化流程

設定多進行目標的敏感性分析(AMOP),多目標全域優化(one click optimization)與單目標局域優化(Evolutionary Algorithm)做為尋優的演算法,Optislang可從大量的優化變量與多項的優化目標中,建構出參數與目標間的響應曲面,並分析出高敏感性參數,設定優化的流程與目標方法如下:

Optislang優化結果分析

AMOP(目標的敏感性分析)

AMOP可得出響應面,篩選出影響較大的參數,並預估較有可能成功的分布。

One-Click Optimization

One-Click Optimization會自動分析並從候選的優化法中選擇合適的優化法。當有多個優化目標時會計算Pareto front得出較好的幾個結構。

Evolutionary Algorithm

Evolutionary Algorithm可進行全域及局域的混合優化。本案例中作為單目標(contrast)的優化器使用,會將前次模擬的pareto front作為起始點,進行局部優化。

優化模擬結果

在優化的時候為了快速找到趨勢與減少模擬時間與記憶體的佔用,我們使用較少的光跡數(30rays),與較差的解析度(165視場點)來進行模擬。當優化完成之後,我們可以提升更多的光跡數(20,000rays)和475個視場點,來提高視覺效果,優化的結果如下:

不同接收器位置與不同優化結果: