ZEMAX 高級應(yīng)用——光學(xué)逆向工程及服務(wù)

——感謝上海醇風(fēng)光電科技有限公司提供此技術(shù)資料

在工程領(lǐng)域,有很多需要做逆向工程的場合;比如光學(xué)領(lǐng)域,光學(xué)零件的圖紙丟了或者損壞了,還有諸如其它不可描述的原因,需要對光學(xué)零件、鏡頭裝配等進(jìn)行逆向還原。

(詳情:請關(guān)注我們的智能光學(xué)設(shè)計培訓(xùn):http://yingxinshiye.cn/activity_detail.php?activity_id=28)

本文通過自定義的模塊及Zemax,以案例的形式來介紹幾個應(yīng)用場景:

應(yīng)用1:對裝配體光學(xué)元件的坐標(biāo)系及面型的精確逆向還原

很多時候,我們手上有光學(xué)元件的3D文件(比如標(biāo)準(zhǔn)機(jī)械格式的.STP,.IGS文件),卻無法獲得該元件的精確的坐標(biāo)位置(如偏心,旋轉(zhuǎn)等)以及精確的面型數(shù)據(jù)(矢高表達(dá)式)。

如果我們要對該零件或系統(tǒng)進(jìn)行加工、裝配,必須要精確還原坐標(biāo)位置及面型數(shù)據(jù)。

舉例1::在Zemax非序列模式里輸入任意的一個非球面透鏡,如下:

假設(shè)上述所有數(shù)據(jù)未知,我們僅從示意圖上知道該零件具有旋轉(zhuǎn)對稱特性。那么如何精確還原上述光學(xué)零件的坐標(biāo)位置/轉(zhuǎn)向及面型數(shù)據(jù)?

Step 1:我們先在Zemax非序列模式,從全局坐標(biāo)原點(或其他任意點)采集點云數(shù)據(jù),該步驟可以通過一個ZPL宏來實現(xiàn)。

Step 2: 新建一個序列模式文件,加載點云數(shù)據(jù)及逆向工程模塊,該步驟也通過一個ZPL宏來實現(xiàn)。

因為我們知道,該零件具有旋轉(zhuǎn)對稱特性,我們先從球面開始進(jìn)行擬合還原,然后采用偶次非球面(因為比較常用)逐步添加高次項系數(shù),進(jìn)行還原直至擬合殘差比較小。

序列模式我們采用的逆向擬合模塊界面(自定義面型UDS)如下。

以下是擬合的結(jié)果:可以看到經(jīng)過4次的擬合嘗試,面型及坐標(biāo)系已經(jīng)精確還原出來啦,還原的精度在nm量級。

應(yīng)用2:評價一下CAD導(dǎo)出精度

CAD文件格式比如.STP/.IGS格式最初源于機(jī)械CAD軟件的文件交互,后來擴(kuò)展到比如光學(xué)領(lǐng)域, 在機(jī)械領(lǐng)域: 微米甚至十幾微米級別的精度控制對于絕大多數(shù)應(yīng)用基本足夠;但在光學(xué)領(lǐng)域,尤其在成像方面,光學(xué)面型的精度往往要控制到波長、納米量級。CAD本身的精度是否足夠,需要打一個大大的問號?

舉例2:利用Zemax里邊的CAD導(dǎo)出功能,將一個非球面透鏡導(dǎo)出生成.STP文件,然后重新加載該CAD文件,然后將CAD文件進(jìn)行逆向還原(還是利用我們的自定義模塊)。
Step 1: 將例1中的非球面透鏡,導(dǎo)出生成CAD零件

Step 2:將該CAD零件重新加載回非序列模式

Step 3:利用ZPL宏采集點云數(shù)據(jù)
Step 4:在序列模式里加載點云數(shù)據(jù)及逆向擬合模塊,對面型進(jìn)行擬合,并還原坐標(biāo)位置,結(jié)果如下: 擬合的RMS殘差比例1略大一些,但最大偏差仍然控制在nm量級,十分接近,Zemax CAD導(dǎo)出 的精度也非常高。

應(yīng)用 3:如果利用CAD軟件對光學(xué)表面進(jìn)行建模,然后導(dǎo)入到光學(xué)軟件中,其精度怎么樣呢?

舉例3:在Solidworks里邊設(shè)計一個離軸橢球面,然后將該CAD導(dǎo)入到Zemax非序列模式進(jìn)行光學(xué)仿真。

我們采用ZEMAX官網(wǎng)知識庫(Knowledge Base)里邊的一篇文章:How to Model an Off-Axis Ellipsoidal Mirror at Finite Conjugates,作為對比,我們下載該文章的附件部分,打開其非序列文件,如下:

上圖是與序列模式離軸橢球面等價的CAD文件非序列追跡,只從上圖光線的聚焦情況來看,該CAD精度應(yīng)該比較差,因為對于理想橢球面(比如序列模式下),兩個共軛點(焦點)應(yīng)該是點對點理想成像,但上圖明顯不是。

Ok,利用我們的逆向還原模塊,對其進(jìn)行逆向還原,看看精度差別多大。步驟類似,從略,只貼一下CAD擬合結(jié)果:

可以看到該CAD模型與期望值(序列模式下的參數(shù))差別很大,最大偏差竟然超過1mm.沒有任何的橢球面或者偶次非球面可以嚴(yán)格擬合該CAD面型,但用非對稱的自由曲面(擴(kuò)展多項式面)可以將擬合殘差降低的比較小(<100nm)。Solidworks本身肯定沒有這么大的偏差,可能原作者在用Solidworks建模的時候,建模的方式有問題。

因此在用機(jī)械軟件本身對光學(xué)表面進(jìn)行建模的時候必須格外小心,并要進(jìn)行驗證,否則可能會出現(xiàn)比較大的偏差,尤其對非球面必須十分小心;另外,復(fù)雜的菲涅耳面型,如果在機(jī)械軟件里建模,精度更難以得到保證,因此建議是:能利用光學(xué)軟件進(jìn)行建模的盡量利用光學(xué)軟件本身建模,機(jī)械軟件的像拉伸,旋轉(zhuǎn),拖拽等操作可能會引入比較大的累積或者舍入誤差,對光學(xué)零件來講可能是靠不住的。

應(yīng)用 4:對自由曲面進(jìn)行逆向還原及擬合,加速光學(xué)設(shè)計過程

舉例4:對汽車前風(fēng)擋玻璃進(jìn)行自由曲面逆向還原及擬合,將得到的面型嵌入到前裝HUD設(shè)計中去。汽車玻璃供應(yīng)商一般提供給下游車廠或者汽車電子供應(yīng)商風(fēng)擋玻璃的CAD文件,如果將CAD文件直接嵌入到混合非序列模式,一方面參數(shù)調(diào)整比較困難,另一方面光線追跡及優(yōu)化速度會慢很多,效率很低。比較高效的方法是將該CAD文件擬合為光學(xué)軟件內(nèi)置的自由曲面,然后將該自由曲面直接用在HUD設(shè)計中去,調(diào)整及優(yōu)化效率會高很多。

將風(fēng)擋的CAD文件導(dǎo)入到非序列模式,然后采集點云,并在序列模式下用自定義模塊進(jìn)行擬合,過程從略,注意只采集小的有效區(qū)域即可。采用擴(kuò)展多項式面型(Extended Polynomial)最高次4階對坐標(biāo)位置及面型擬合的結(jié)果如下:

擴(kuò)展多項式面型從XY,X^2,Y^2項開始,旋轉(zhuǎn)項已經(jīng)在擬合的時候移除。

截取并擬合的面型在序列模式顯示如下:

X,Y方向均呈現(xiàn)出非對稱特性。

舉例5:高級延伸應(yīng)用:汽車玻璃供應(yīng)商一般提供的風(fēng)擋玻璃是”殼”的CAD結(jié)構(gòu),非實體結(jié)構(gòu)。前裝HUD設(shè)計中為消除重影,一般風(fēng)擋玻璃會嵌入一楔層(參考寶馬),用于玻璃前后表面反射消重影。

如何實現(xiàn)風(fēng)擋玻璃及楔形層的實體化建模?

現(xiàn)在我們利用例4擬合的自由曲面,搭配我們的自定義逆向工程模塊,來實現(xiàn)這一貌似困難重重的任務(wù)。

利用我們的逆向工程模塊進(jìn)行自由曲面的平移及旋轉(zhuǎn)在序列模式下很容易實現(xiàn)如下風(fēng)擋的楔層結(jié)構(gòu),然后進(jìn)行建模及光線追跡即可。或者導(dǎo)出為CAD格式加載到非序列模式下。這樣即可實現(xiàn)了風(fēng)擋楔形結(jié)構(gòu)建模,對于重影的仿真及消除更加準(zhǔn)確。另外,注意楔形的旋轉(zhuǎn)參考點可以根據(jù)實際任意進(jìn)行設(shè)置。

應(yīng)用 6:加工、裝配上的考慮,利用我們的逆向模塊可以還原坐標(biāo)位置,將自有曲面(如澤尼克,擴(kuò)展多項式、切比雪夫面型)中的平移及旋轉(zhuǎn)量移除掉,這樣對加工、裝配極為有利,并且可以大大改善測量的精度,大大的降低測量不確定度,從而保證光學(xué)設(shè)計及加工質(zhì)量。




逆向工程模塊的優(yōu)勢:

1. 對CAD光學(xué)部件進(jìn)行坐標(biāo)系統(tǒng)的復(fù)原,這有利于解析光學(xué)設(shè)計的空間方位結(jié)構(gòu)。

2. 對面型進(jìn)行精確復(fù)原,支持球面、圓錐曲面、離軸拋物面/橢球面,角錐面、柱面、偶次非球面及更為一般的自由曲面:擴(kuò)展多項式面型。

3. 方便加工、裝配、測量,保證自由曲面的精度,減少不確定度。

4. 當(dāng)然,我們也提供工程逆向服務(wù),如有需要可以聯(lián)系我們。

對此逆向工程服務(wù)及模塊感興趣的,請關(guān)注我們的智能光學(xué)設(shè)計培訓(xùn)課程:



本文版權(quán)歸上海醇風(fēng)光電科技有限公司所有