在消費類電子產品領域,工程師可利用激光雷達實現眾多功能,如面部識別和3D映射等。盡管激光雷達系統的應用非常廣泛而且截然不同,但是 “閃光激光雷達” 解決方案通常都適用于在使用固態光學元件的目標場景中生成可檢測的點陣列。憑借具有針對小型封裝結構但可獲取三維空間數據方面的優勢,固態激光雷達系統在智能手機和筆記本電腦等消費類電子產品中日益普及。在這個系列的文章中,我們將探討如何使用 Ansys Zemax OpticStudio 對此類系統進行建模,包括從序列初始設計到集成機械外殼的整個流程。該文章為閃光激光雷達系統建模系列文章的第二篇。
01 簡介
激光雷達系統在工業界中有著多種場景下的應用,對應于不同種類的激光雷達系統(比如用于掃描元件或確定視野的系統等),本示例將主要探索如何使用衍射光學元件來復制光源陣列在目標場景中的投影。成像透鏡系統隨后可觀察到投影的光源陣列,以獲取投射光線的飛行時間信息,進而生成投影點的深度信息。
在本文中,我們將介紹如何將上篇的序列模式起始結構進行轉換,并向非序列模型中添加更多細節。我們還將應用 ZOS-API 在閃光激光雷達系統中生成一些時間飛行結果。
02 初始轉換至非序列模式
為了觀察這兩個模塊結合成為整個系統將如何工作,我們可以在每個系統中使用 “轉換至非序列模式組” 工具(可以在文件選項卡…轉換至非序列模式組中找到)來生成照明和成像子系統的非序列模型。在照明模塊(清除多重結構編輯器,只保留一種結構)和成像模塊中,轉換至非序列模式組工具將使用以下設置:
以下為非序列模式下各子系統的轉換輸出結果:
03 組合模塊
在此階段,我們可以進行一些編輯,以更輕松地組合模塊。在最終裝配中,我們假設照明模塊的光源和成像模塊的傳感器在同一個平面上,因為我們可以想象它們在整個系統中共享同一個電路板。我們在非序列模式中采用的總體方法是:
對于照明模塊而言:
重新定義模塊中物體的布局,使光源位于全局 Z 位置原點
在模塊的 “像平面” 上移除三個探測器中的兩個,增加其余探測器的尺寸,并應用鏡面材料(因為這最終會起到散射壁面的作用)
刪除三個光源中的兩個,因為我們很快會編輯剩余的光源作為二極管光源陣列
對于成像模塊而言:
從模塊中移除光源
移除三個檢測器中的兩個,并根據序列模式文件的尺寸增加其余檢測器的尺寸
重新定義像平面的物體參考擺放情況
包含上述修改的示例文件,已作為本文章附件添加至附件下載部分。示例文件分別為:“FlashLidar_Emitter_DiffGrat_PostEdit.ZAR” 以及 “FlashLidar_Receiver_PostEdit.ZAR”。
調整后,我們可以通過復制和粘貼將成像模塊物體插入到照明模塊的非序列元件編輯器中。粘貼后,我們需要確保為插入后的物體重新編號 “參考物體 (Reference Object)” 參數,以指向新的物體編號(如適用的話),例如我們的成像模塊光學元件現在需要指向組合模型中的 “物體10”(“成像模塊參考” 為空物體)。然后使用參考空物體編輯 X 位置來確定模塊的布局:
04 完整裝配體的最終細節
為了確定模型,我們首先需要更新光源定義,以整合關于陣列和發射特性的其他詳細信息。我們使用以下參數將光源從橢圓光源(Source Ellipse)轉換到二極管(Source Diode)光源物體:
參考物體:1
X-/Y-發散角:5°
X-/Y-超高斯系數:0
X’/Y’-數量:5
Delta-X/Y:32mm
在我們的場景中生成完整的光斑陣列需要修改衍射光柵(Diffraction Grating)物體的物體屬性(Object Properties)。對于每個衍射光柵,我們通過衍射(Diffraction)選項卡中的 “分裂” 設置來定義衍射級次,使用 “按以下表格分裂” 實現每個衍射級次的理想、均勻傳輸。為簡單起見,將 I.99999999 的理想膜層定義放在兩個模塊所有元件的前后表面上。通過這些修改,一旦允許在 3D視圖(3D Viewer)中分裂光線,我們就可以查看完整的投影點陣列:
為了使壁面物體作為散射表面,在 “散射壁面” 探測器上應用了朗伯散射配置文件。同樣,我們還通過設置 I.0 膜層(確保100%反射)和散射分數(Scatter Fraction)值為1,使壁面成為理想的反射和散射表面。然而,在當前定義中,由于廣角散射,散射光線很少能追跡到成像模塊。因此,重點采樣(Importance Sampling)可用于迫使光線向任何指定物體的頂點散射(參閱文章“如何利用重點采樣進行高效的散射建模” (英文原文),了解關于重點采樣工作原理的更多詳情)。我們將使用的目標是 “物體11”,即成像模塊的物理孔徑,尺寸值為 0.7 mm。
當瞄準目標物體時,由于重點采樣會降低散射光線的功率(以考慮光線從表面法線散射時的實際功率降低),因此需要降低ZUI小相對光線強度(Minimum Relative Ray Intensity),以允許 OpticStudio 追跡這些較低能量的光線。在這種情況下,設置為 1e-8 可以追跡光線,我們可以看到光線現在可以離開照明模塊,由成像模塊捕獲。應該注意的是,在兩個模塊之間引入了一個吸收矩形物體,以防止照明系統的雜散光影響成像透鏡探測器。
現在,我們可以觀察投影到壁面上的點列圖案以及通過成像透鏡觀察到的點列圖案。該步驟的示例文件已經保存為:“FlashLidar_FullSystem.ZAR”:
05 時間飛行考慮
激光雷達系統通過測量光到達探測器時的飛行時間來獲得場景的深度信息。例如,傳感器通常是時間門控的,以捕獲從觀察到的場景中散射的入射光束的信息。
通過利用 ZOS-API 來構建用戶分析(User Analysis),我們可以獲得落在最終矩形探測器上的每條光線的飛行時間數據;通過解析 ZRD 文件并分析落在成像模塊傳感器上的光線路徑長度,從而獲得所觀察場景的深度。知識庫文章 “如何使用ZOS-API創建飛行時間用戶分析”包含了構建這類用戶分析的更多信息,我們將直接使用該分析。
“如何使用ZOS-API創建飛行時間用戶分析”https://support.zemax.com/hc/zh-cn/articles/1500005577762
在閃光激光雷達系統中,添加了一些相關的幾何結構用例,例如一個小型桌子模型和一個用作手勢識別的(極為簡化)拳頭大小的球體。
在運行用戶分析(User Analysis)之前,需要先進行光線追跡,并且需要在光線追跡控制(Ray Trace Control)窗口中保存光線追跡數據。然后,用戶分析將能夠讀取保存的.ZRD文件。在分析中使用以下設置,我們可以獲得以下深度輸出:
有了這些結果,我們可以區分場景中的不同特性以及它們在不同深度的位置。例如,我們粗略的 “拳頭” 示意球體位于用戶分析輸出的左上角,而位于桌子模型頂部的杯子則位于場景右上角稍遠一些的位置。為了進行演示,我們用矩形光源(Source Rectangle)使光源的全部區域發光,使場景充滿照明,從而更容易看到整個場景的深度信息:
通過設計閃存激光雷達系統的照明模塊和成像模塊,我們可以在最終的探測器平面上求解所投影的點陣列,并利用 ZOS-API 創建用戶分析,以獲取點陣列所到達的幾何結構的深度信息。能夠求解所觀察場景的特征并檢索距離信息,意味著這些信息能夠傳送至計算軟件生成圖像供用戶查看,并利用用戶的運動數據在計算機生成的場景中產生一些變化。
06 結論
在本文章中,我們已經介紹了序列模式下的閃光激光雷達照明和成像模塊是如何轉換到非序列模式的。我們還演示了如何改進模型,以及將兩個模型合并到單個 OpticStudio 文件中的一些方法。此外,還定義了光源的其他細節,并定義了遠距離壁面上的散射屬性,以驗證穿過整個系統的光線追跡。最后,我們討論了 ZOS-API 中內置的自定義用戶分析的用法,該分析返回了全閃光激光雷達系統的時間飛行數據。
審核編輯:湯梓紅
-
建模
+關注
關注
1文章
313瀏覽量
60853 -
激光雷達
+關注
關注
968文章
4025瀏覽量
190403
原文標題:使用OpticStudio進行閃光激光雷達系統建模(中)
文章出處:【微信號:光電資訊,微信公眾號:光電資訊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論