设计抬头显示器时要使用哪些 OpticStudio 工具?

本文演示了如何使用OpticStudio工具设计分析抬头显示器(HUD)性能,即全视场像差(FFA)和NSC矢高图。

 

作者:Sandrine Auriol   合作翻译:阳普科技 - 王露虹

 

附件下载

文章附件

初始结构

HUD简介

以下为HUD的示意图。液晶显示器作为光源发光,光线被HUD的两个反射镜反射,然后通过风挡玻璃反射,最后进入驾驶员的眼睛。驾驶员将在道路上看到虚拟图像,比如给他指示此时的速度影像的投影。

司机在开车时会转动头部导致视线的偏移,司机的视角我们可以使用眼盒代替。眼盒本质上是一个虚拟方框,表示驾驶员眼睛位置的范围。

HUD SketchSketch

 

系统规格

  • 虚像距离:2米
  • 显示当前车速
  • 机械限制:HUD主要受到仪表板下可用空间的限制,风挡玻璃将充当一个分束器
  • 眼盒:驾驶员眼睛的位置在宽度为±50毫米、高度为±20毫米的眼盒范围内
  • 瞳孔:在明亮的光线下直径为2至4毫米,在黑暗中直径为4至8毫米。对于该研究,它被设置为4毫米
  • 液晶显示器尺寸宽为±12.5毫米,高为±5毫米
  • 放大倍数=6

设计选择

HUD的起始结构是一个折叠系统,在仪表板下保持足够小的尺寸。示例HUD由两个反射镜构成:一个平面,一个自由曲面。反射镜在成像系统中具有不增加任何色差的优点。系统中自由曲面反射镜需要被优化。

HUD设计流程

  • 从虚像到显示器:设计在序列模式中反向进行。原因从驾驶员看到的虚像开始进行光学系统建模相对容易。然后可以将光阑表面放置在系统的前部,即眼盒所在的位置。在光阑表面上放置一个矩形孔径,以描述对眼睛位置的限制。
  • 从显示器到虚拟图像:系统将在序列模式下翻转。允许评估从显示器到虚像的“真实”性能,即正向性能。
  • 最后,系统将转换为非序列(NSC)模式。这提供了一个更真实的模型,其中用户可以包括杂散光分析。它将显示驾驶员使用抬头显示器看到的真实图像

步骤1:从虚像到显示器(逆向设计)

初始结构

为了方便起见,已经构建了一个模板,其中包含所有的初始结构。文件名为“HUD_Step1_StartingPoint.zar”并且可以在文章的顶部下载。初始结构中包含整个风挡玻璃的自由曲面模型。风挡玻璃可视为一个扩展多项式表面。

系统选项:

  • 孔径:眼盒是系统的光阑面,因此它代表了驾驶员眼睛的位置范围:宽度=±50毫米,高度=±20毫米,所以我们将该尺寸的矩形孔径放置在光阑面。
    入瞳直径(EPD)计算可得2 × (20ˆ2 +50 ˆ2) ˆ2 = 108毫米。    

HUD ApertureSystem ExplorerSurface Property

 

  • 视场:视场类型为物高,规格定义为矩形。在实际系统中,LDC显示器上的图像为虚像尺寸的6倍,因为当前的设计是逆向从虚拟图像到LCD显示器的,因此可以计算虚像的大小,并将其用作“视场编辑器”中定义视场大小的物高。液晶显示器尺寸为:宽度=±12.5毫米,高度=±5毫米。因此,物高尺寸应该是此值的6倍。
    视场宽度=±75毫米(6 x 12.5),视场高度=±30毫米(6 x 5)

Field Data Editor

 

  • 波长:LCD显示器将发出0.55微米的波长   

 

风挡玻璃

可以对整个风挡玻璃进行建模,也可以仅对HUD使用的风挡玻璃区域进行建模。

要找到“考察”区域,可以使用Footprint Diagram工具显示叠加在风挡玻璃表面上的光线迹点情况:

Footprint Diagram

 

风挡玻璃建模:

风挡玻璃模型:

风挡玻璃可以用序列模式表面来描述,如自由曲面或非序列CAD零件。如果将其描述为插入序列系统的非序列CAD零件,则系统变为混合模式。这在从虚像到显示器的逆向系统建模时效果良好,但在正向工作时会出现问题,因为光阑面位于非序列结构表面之后(违反混合模式建模规则)。这也会使光线瞄准更加困难,并可能导致其它光线追迹问题。

一种解决方法是测量CAD零件的矢高,然后使用序列网格矢高表面对其进行建模。通过这种方式,系统保持在纯序列模式,OpticStudio可以将网格矢高表面转换为非球面类型表面。可在 Optimize...Convert Asphere Type 下找到对应转换工具。

Convert Asphere

 

将风挡玻璃转换为网格矢高表面:

非序列模式下的矢高分析是ZOS-API的扩展,用于测量CAD零件的矢高。有关详细信息,请参阅题为 "NSC矢高图用户自定义分析"。

NSC Sag Map

 

该分析使用探测光源光线并记录该探测光线击中NSC物体的位置。文件“HUD_windshield_sag.zar”可以在文章顶部下载。它包含风挡玻璃CAD零件和资源。

NSC Sag Map File

 

风挡玻璃的X和Y尺寸需要在NSC矢高图中进行设置。可以近似使用相机视图结合活动光标位置读取需要设置的X-Y:

Measure the size of the Windshield

 

可以为NSC矢高工具输入以下设置:

mceclip0.png

 

在设置中,您可以:

  • 取消勾选“移除XY倾斜”。NSC矢高不会将NSC物体的倾斜设置为0。
  • 勾选“保留保存的文件”,将.zmx和.zrd文件保存到当前文件夹。

mceclip1.pngmceclip2.png

 

NSC矢高图以伪彩色显示。如果在“设置”下,“显示”选项设置为“文本”,则它也可以显示为文本列表。然后可以保存此文本输出并将其转换为正确的数据格式.DAT,该数据可以用于网格矢高表面。为了简单起见,本示例中风挡玻璃采用扩展多项式曲面进行建模。

 

定位所有元件

这是一个表示所有元件位置的示意图:

Surfaces Placement

 

可以利用以下实用工具将表面进行放置:

  • 坐标间断-返回:坐标间断面可以通过坐标返回来定义表面倾斜和偏心情况,可以在以下位置找到:Surface Properties…Tilt/Decenter。OpticStudio随后将计算该“坐标间断”面的对应参数,以便在该坐标间断面之后,局部坐标与先前序列表面的局部坐标相同。

Coordinate Return

 

  • 主光线计算:计算坐标间断面的倾斜和偏心,使其垂直于主光线并以主光线为中心:

Chief Ray Solve

 

初始性能

增加系统像差的因素是风挡玻璃,我们可以对于像差进行分析。

该系统可以简化为来自无穷远处(眼睛)的光,并被风挡玻璃反射;反射后,点列图可以告诉我们在“真实”风挡玻璃和理想风挡玻璃(平面镜)的情况下的光线角度。

以下是定义文件的不同步骤:

  • 忽略表面6至11
  • 将视场类型转换为角度
  • 将“物面厚度”值设置为“无限”
  • 在风挡玻璃后面添加一个标准表面,作为理想平面风挡玻璃的模型。将材质设置为“MIRROR”。在“Surface 4 Properties”的“Aperture”下,从“Surface 3”中拾取“Aperture”。
  • 创建两种多重结构:一种带有“真正”风挡玻璃,另一种带有理想的平面反射风挡玻璃(表面3和4)
  • 勾选System Explorer…Aperture下的Afocal Image Space。设置单位为角度。

这些修改可以在HUD_Step1_windshield_aberration.zar” 文件中找到

T

Comparison

 

要分析风挡玻璃引入的像差,请单击 Analyze...Aberrations...Full Field Aberration。塞德尔像差工具在此不适用,因为它只描述旋转对称系统中的三阶像差。

全视场像差分析计算波前的Zernike分解项,并显示整个视场的Zernike系数。

整个视场由红色方框的设置定义:

FFA Settings

 

以下是这些视场点的表示:

Field Grid

 

对于每个视场点,软件将波前拟合为一系列Zernike标准多项式,就像在Analyze…Wavefront…Zernike Standard Coefficients下所做的那样。以下设置定义了需要显示的Zernike像差项:

FFA Settings

 

在像差下,根据Zernike标准项5(Z5)和Zernike标准项6(Z6)计算初级像散:

Zernike Terms

 

初级像散定义为:

  • Magnitude = sqrt (Z5^2 + Z6^2)
  • Angle = (1/2)*atan2(y = -Z5 , x = -Z6)

这里,atan2是C语言函数,它给出了(y/x)的反正切。

如果“显示”设置为“图标”,则线的长度将给出大小,方向将给出角度。

 

FFA Astimatism

 

在框架的下方是所选像差的显示范围,这里则为全视场的初级像散。

这个系统的结果为:

  1. 离焦:174.4 waves
  2. 初级像散:平均为80.2 waves

可以看出,该系统最初受到风挡玻璃带来的像散限制光束也会被风挡玻璃稍微聚焦。但是离焦值不是问题,因为设计会将光束聚焦到LCD显示器上。HUD的设计将从校正像散开始。

 

建立评价函数

回到我们的原始文件“HUD_Step1_StartingPoint.zar”,自由曲面反射镜现在可以进行优化,以校正风挡玻璃引入的像差。首先,“优化”下的“快速调整”工具可以用来使我们的自由曲面镜成为球面镜。这是一个很好的起点。

Quick Adjust

 

建立一个默认的评价函数:

可以构建默认的评价函数来优化最小的光斑尺寸(RMS点)。该系统包含孔径,因此将使用矩形阵列方式对光瞳进行采样。

Merit Function Wizard

 

这里可以使用全视场像差来检查视场采样。视场上像差的快速变化可能意味着需要更多的视场点。

然后,可以手动添加其他指标,其中手动添加的操作数位于评价函数的顶部:

  • 放大率:一个规格是关于放大率。可以添加REA*(真实光线坐标)操作数,以检查LCD显示器上光线X和Y的位置。DIVI操作数可用于计算放大率(像面上的主光线高度与物面上的比率)。将在这些DIVI操作数上放置10的权重因子。

Field points to check magnificationDefault Merit Function

 

  • 畸变:最后一个规格是关于畸变。它必须低于2%。
    像畸变这样的近轴计算并不总是能很好地处理具有坐标间断的非对称系统。使用畸变操作数时,请始终验证结果是否合理。可以使用CENX和CENY对视场的四个视场角(视场2至5)手动检查和/或计算质心的位置。

Merit Function Distortion

 

评价函数现已准备就绪。在优化之前,可以将自由曲面反射镜从标准面更改为自由曲面;这里是一个Zernike标准矢高曲面,有11项。

Zernike多项式非常适合优化,但它们可能需要转换回标准多项式,如用于制造的扩展多项式。

Zernike曲面的归一化半径设置为大于半直径的固定值。在优化过程中,如果该半径不是固定的,则每次更新时,都会在优化期间在评价函数上产生一些变动。

Zernike Standard Surface

 

优化之前的文件称为“HUD_Step1_MF_before_optim.zar”。

变量:

Z1是Piston项;它不会被使用。

Z2和Z3是倾斜项。LCD显示器等元件的不同位置是固定的,因此不会使用倾斜项。

系统包含两个变量:后焦距的长度,自由曲面反射镜的曲率半径。

在进行第一次局部优化后,可以检查全视场像差:

Optimization

FFA Settings

 

整个视场的平均值:

Defocus:  7.8 waves

Primary Astigmatism: 25.0 waves

Primary Coma: 7.4 wave

 

Z4是离焦/场曲,并设置为变量。

Z5和Z6是主初级像散,并且设置为变量。

优化后,整个视场的平均值为:

Defocus: 15.0 waves

Primary Astigmatism: 9.1 waves

Primary Coma:  6.9 wave

 

Z7和Z8是初级彗差,并且设置为变量。

Z9和Z10是彗差,并且被设置为变量。

Z11是平衡的初级球差,并且被设置为变量。

然后是一分钟的Hammer优化:

Hammer Global Optimization

 

优化后的文件称为“HUD_Step1_MF_after_opti.zar”。

 

 

优化结果

优化的结果可以看出,该系统尚未翻转,因此性能不是“真实”性能,而是“翻转”性能。

  • 光斑大小(RMS):光斑的RMS半径低于200微米。它没有提供太多信息;当系统翻转时,检查角度大小将更令人感兴趣。
  • 像散与彗差:可以再次检查全视场像差,以查看优化是否降低了初级像散。除了像散之外,最有可能影响HUD成像质量的Zernike项是彗差和球差。用于以下结果的视场是总视场,它表示驾驶员看到的最大角度范围,允许头部在HUD眼盒内垂直和水平移动。它还显示了两只眼睛所看到的视差。

整个视场的平均值为:

Defocus: -3.6 waves

Primary Astigmatism: 10.7 waves

Primary Coma: 2.2 wave

像散的范围从80减少到11 waves。下图使用的是相对比例(显示设置),从绝对值中减去平均值。它可以更好地了解整个视场的像差变化:

FFA DefocusFFA AstigmatismFFA Coma

 

  • 畸变:略高于2%

HUD Distortion

 

步骤2:从显示器到虚像(正向)

翻转系统

翻转系统不是直接一步到位的。镜头数据编辑器中的元件翻转工具有一些限制,HUD系统肯定会破坏这些限制,因为该系统包含坐标间断和非标准表面。

HUD Reverse

 

棘手的部分是Z轴是“翻转的”。对于像HUD这样的非对称系统,该工具无法正常工作。

Reverse Coordinates

 

另一种解决方案如下所述:

  • 在镜头数据编辑器中,选择Make Double Pass工具:

Make Double PassMake Double Pass Window

该系统在表面12上包含一个反射面,该反射就是LCD。只有我们系统的之后部分才值得关注。

  • 表面24是新的STOP表面。首先可以固定表面24的半直径,将“孔径”更改为“按光阑大小浮动”,然后将“STOP”表面设置为表面24。

Change Stop

 

  • 系统需要整理:删除从“虚像”到“显示器”中定义的所有表面;从表面1到11。设计结果可以在表面13上移除,表面13的厚度是固定值2000mm。“物面厚度(表面0)”设置为0mm。
  • 表面13即STOP面可以设置为全局坐标参考表面。系统如下所示:

Global Coordinate Reference SurfaceHUD Set up

 

  • 现在,视场数据编辑器中的视场必须重新定义为LCD视场尺寸:

LCD Fields

 

文件“HUD_Step2_reverse.zar”可以在文章顶部下载。

 

系统性能

 

  • 光斑尺寸(模糊):可以在Afocal image Space中检查图像清晰度,STOP的大小等于白天的瞳孔尺寸,它的直径是4毫米。

光斑的模糊低于2',1’大约是人眼的分辨率。

  • 图像模拟:HUD将对车辆的速度进行成像。图像模拟工具可以让用户了解HUD系统图像质量:

Image Simulation Step 1

Image Simulation Step 2

Image Simulation Step 3

 

  • 发散/会聚(双目视差):驾驶员的双眼将通过光学系统观看虚像。每只眼睛看到同一图像点的方向之间通常有一个很小的角度差异。垂直(上/下)角度差被称为双会聚。水平(左/右)角度差称为收敛。可以使用结果文件“HUD_Step1_MF_after_optim_2_eyes.zar”进行检查。瞳孔直径为4mm,瞳孔间距设置为50mm。对于视觉系统,这些值的典型极限在1.0 mrad的数量级上,因此系统在该极限范围内。

 

步骤3:非序列模式

 

直接转换为NSC组(非序列组)

系统现在已准备好导出到非序列进行进一步分析。

初始的文件名为“HUD_Step2_reversed.zar”

OpticStudio有一个内置工具“转换为NSC组”,可以将序列表面转换为非序列元件;或者将整个序列系统转换为非序列系统。转换反射镜时,如果基板厚度大于0,则会将反射镜转换为复合透镜物体,其厚度等于反射镜基板厚度。因此,在这个文件中,我们将反射镜4、6、8和11的厚度设置为5毫米。该文件现在已准备好进行转换。

Mirror Substrate

NSC Conversion

 

一旦转换了文件,就需要进行一些整理。下面的列表说明了不同的步骤。最后的非序列文件可以在文章的顶部下载:   

“HUD_Step3_NONSEQ_after_tidying_up.zar”

  • 在全局坐标系中定义所有的物体:

Modify Reference Object

 

  • 只保留一个光源:以视场1为中心,第4行的椭圆光源。删除所有其它光源(第1行至第3行和第5行至第12行)。将该光源更改为“矩形光源”,其宽度为±12.5mm,尺寸为±5mm。将布局光线的数量设置为10:

Source Rectangle

 

  • 逆追迹光线:

Reverse Rays

 

  • 删除在序列模式中对翻转系统有用的表面2以及表面3。删除所有空物体。
  • 删除平面反射镜:在非序列模式下只需要一个平面反射镜(删除第10-14行)。
  • 将风挡玻璃的材料改为N-BK7(第14行)。
  • 将Eyebox(第15行)更改为Detector Color(检测器颜色),并添加约为-8度的Tilt(倾斜)X。速度将显示在Detector Color的底部。眼盒尺寸为X半宽=50mm,Y半宽=20mm。将X中的像素数设置为400,将Y中的像素数目设置为200。此外,Detector Color半角设置为X 20度和Y 10度,并且添加了180度的倾斜Y和倾斜Z,使得最终图像在右方向上显示。

Detector Color

 

  • 将检测器25更改为矩形光源,并将注释更改为“虚像”。添加-8度的“倾斜X”,并将“Y位置”更改为275 mm,以使其位于探测器的中心。
    20条布局光线,X半宽=1000mm,Y半宽=500mm,光源距离=2000,翻转光线。

Source Rectangle

 

  • 删除所有其他探测器(16至24)。
    在这一点上,来自LCD窗口的布局光线似乎与风挡玻璃没有相互作用。风挡玻璃是一个布尔原生对象:它是矩形体积和由2个扩展多项式曲面组成的复合透镜。
    要了解发生了什么,让我们通过取消勾选“Do Not Draw Object”选项卡中的“不绘制对象”选项来绘制矩形体积:

Do Not Draw

 

三维布局显示“光源”位于矩形体积内,矩形体积是布尔体的父对象之一。在这种情况下,需要启用Source的Inside Of f标识才能指向布尔对象。还需要在NSCE(非序列数据编辑器)中的布尔物体之后定义光源,以便内部能正常工作。

Issue with the Ray Tracing

 

  • 在第1行剪切矩形光源物体,并将其复制到风挡玻璃下方。更改Inside Of flag。现在光线在风挡玻璃上散射了。

Inside Of flag

 

  • 添加一个幻灯片物体作为LCD显示屏上显示速度的源图像,并将其放在LCD光源的前面。将“X全宽”设置为26 mm,将“纵横比”设置为1.0。

Slide

 

  • 虚拟图像处的矩形光源(物体#17)将用于模拟建立太阳光照射。添加一个幻灯片物体以表示司机看到的背景场景(Object Properties >Sources> Raytrace> Reverse Rays,以便光线向探测器发射)。将“幻灯片X全宽”设置为2000 mm,将“纵横比”设置为1.0。

Slide 2

 

  • 在第17行设置矩形光源的光谱,以匹配太阳光谱。

Color Temperature

 

  • 光源14(LCD显示器):功率=1W,分析射线数=1E6
  • 光源17(照明背景):功率=10W,分析射线数=1E7

整理后,NSC实体模型中的最终系统如下所示。

Shaded Model

 

结论

可以使用Detector Viewer显示驾驶员看到的模拟图像。首先单击 Analyze > Ray Trace 执行光线追迹,然后设置“光线追迹控制”,如下所示。然后通过单击 Analyze > Detector Viewer 来查看探测器查看器。在“设置”菜单下,设置“显示为:真彩色”和“显示数据:角度空间”。角度空间是序列非无焦像空间设置的非序列同等形式设置。这里使用它是因为人眼模型没有在这个系统中建模。

Ray Trace

 

探测器查看器现在以真彩色显示驾驶员将使用设计的HUD系统看到的内容:

True Color

 

除此之外

在非序列模式下,用户可以执行其他分析,例如Straylight Analysis(杂散光分析),或由驾驶员头部移动引起的图像观察亮度变化等。

KA-01801

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

评论

0 条评论

文章评论已关闭。