AR 光波導結構優化案例
AR 光波導顯示技術
光學穿透式頭戴顯示(AR眼鏡)作為AR技術的主要硬體載體,近年來,受到了科學界和產業界的廣泛關注。其中以光波導的形式體積最薄,關於各式波導結構有許多相關的研究,但如何優化出最佳的光柵炸結構已達到設計需求會是困難點,本文以AR光波導技術為例,說明如何利用Lumerical/Zemax/optiSLang來進行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來進行進階的變數設定:
- 將同一列的轉向光柵或同一行的耦出光柵用函數描述,每組3個變數。
- 設定隨其他參數變化的變數範圍。
這次設定的優化變數為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個視場點,來提高視覺效果,優化的結果如下:
不同接收器位置與不同優化結果: