ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器
好酷屋教程网小编为您收集和整理了ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器的相关教程:扩增实境(AR)系统为多道光路的构架和自由曲面(free-fromoptics)的使用提供了良好的示范。这篇文章说明了如何在序列模式中,使用楔形棱镜(wedge-shapedprism)和自由曲面
扩增实境(AR)系统为多道光路的构架和自由曲面(free-from optics)的使用提供了良好的示范。这篇文章说明了如何在序列模式中,使用楔形棱镜(wedge-shaped prism)和自由曲面建立头戴式显示器(HMD)。我们将以三个示例档案演示不同阶段的模型建立。
下载
联系工作人员获取附件
简介
在设计一个扩增实境(augmented reality,AR)透视头戴式显示器(OST-HMD)时,我们会针对两道光路进行优化:微显示器的投影路径以及供使用者看见外界的透视路径。为了达到最佳的AR效果,光学设计者必须确保虚拟图像和现实景物能正确结合。此技术可被广泛应用在军事和医疗辅助等方面。
考察到实际用途,设计者必须将整个光学系统设计成一个精巧且非侵入式的装置,同时具备大视角(FOV)和小f-number等优点。这篇文章说明如何使用楔形自由曲面棱镜和胶合辅助镜头(cemented auxiliary lens)建立上述的光学系统。
参考专利
本文的示例参考了专利Patent US 2014/0009845 A1的设计。在示例档案中,我们针对各表面大量的运用了倾斜(tilt)和偏心(decenter)技巧。在下方的示意图中,我们可以看到系统使用自由曲面棱镜(FFS prism)和胶合辅助镜头(cemented auxiliary lens,图中黄色部分)这两个光学元件改变入射光的行进方向。FFS的使用增加了设计的自由度,使系统可以较少的光学元件达成目的,大幅减少装置的重量。另一方面,胶合辅助镜头(cemented auxiliary lens)可有效修正畸变,改善透视图像的质量。
下图参考自专利并稍加修改。
设计方针
OST-HMD包含了两个光学元件:1)楔形FFS棱镜和2)胶合辅助镜头。在OpticStudio中我们会先建立FFS棱镜,并根据原始规格进行参数设定,接着以微显示器投影路径(第一道光路)为目标进行优化。在完成上述步骤后,我们在多重结构编辑器(multi-configuration editor)中建立胶合辅助镜头。藉由这个镜头的辅助,可以有效减少畸变的影响,并消除光学系统的屈光能力。透过以上的步骤,我们可以改善第二道光路使观察者看到的外界景物不会扭曲变形。
在模拟环境中,我们颠倒了整个光学系统,使光线路径与现实情况完全相反。在实际应用上,我们会以微显示器作为HMD的光源,人眼的视网膜则会是像面。前后者分别作为整个光学路径的出/入瞳。然而为了精确的架设各个元件且能有效的在OpticStudio中进行优化,我们会将实际的出瞳作为OpticStudio中的入瞳元件,并以微显示器作为整个系统的像面。在接下来的篇幅,我们都会以光线在OpticStudio中的追迹方向来描述。
关于HMD的建立,首先我们会逐一插入表面以建立棱镜,并追迹单一视场角(field angle)的一条主光线。接下来,为了倾斜棱镜使光线按预期的路线行进,我们会在适当的位置插入Coordinate Break表面。此外,我们还需要考虑元件的几何关系,并为各表面设定适合的材质,使这个光学系统成为一个合理的设计。
由于序列模式(Sequential Mode)无法模拟出全反射(TIR)的现象,我们必须在发生TIR的表面上再覆盖上一个表面,并定义该表面为具有Pickup solves的镜面(MIRROR),使追迹光线能符合实际情况。在完成对单一视场的优化之后,我们接着利用多重结构编辑器(Multi-Configuration Editor,MCE)建立第二道光路。最后我们会纳入制造上的考察,并对整个系统的表现进行最终的优化。
楔形自由曲面(FFS)棱镜
为了简化一开始的光线追迹过程,我们将系统的入瞳大小订为6mm(人眼瞳孔尺寸约为2-8mm),并设定单一视场点(field point)。当所有的表面都正确的被建立,且光线能顺利的通过棱镜后,我们可以逐步的扩大FOV和人瞳尺寸。(更多关于FOV的论述可参考后续的”定义视角”段落)
在序列模式中,我们利用多个倾斜或偏心表面建立棱镜。为了确认各表面的位置和存在必要性,我们必须思考系统中的光线是如何通过棱镜,并与各表面交互作用的。在下方示意图中我们可以清楚看到光线的路径、各表面的作用和编号,这些信息有助于棱镜模型的建立。
上方示意图中的红色数字代表该表面在镜头数据编辑器(Lens Data Editor,LDE)中的表面编号,Coordinate Break的存在已纳入考察。至于黑字”S#”则代表了棱镜的实际表面,可以在本文参考的专利模型中找到对应的表面。(我们也可以在LDE中的Comment字段看到上述的编号)
举例,我们可以看到上方红框中的8-9-10表面代表了示意图中的表面9,同时也代表了实际棱镜的S1’表面,即S1的反射面(内表面)。而表面8和10则分别代表了LDE中的表面8和10,并作为表面9的Coordinate Break。
进行以上步骤时,光栏(stop,在此为系统的入瞳)位置须设为全局坐标参考(Global Coordinate Reference)。棱镜的第一面(S1或是Coordinate Break加入后LDE中的Surface 3)位于光栏后方18.25mm处,等同于Surface 1在LDE中的厚度。而这个距离在实际应用上是作为使用装置时的适眼距(eye relief)。除了坐标的设定之外,我们还需要思考如何设计表面的倾斜或偏心,才能使入射光顺利到达像面。专利设计中的参数和示意图可以在这方面提供不少帮助。
如下方示意图,可以看到入射光自S1(LDE中的Surface 3)进入棱镜,接着落在S2(LDE中的Surface 6)上。示意图中的S2作为一个平面镜,使进入棱镜的光线全数反射。在实际应用上S2是一个镀膜的半反射镜(half-mirror)。光线在到达该表面后会分成两个行进路径:1)在棱镜内部发生反射,最后到达上方的微显示器2)使外界光线顺利通过的透射路径。我们会在稍后的篇幅使用多重结构编辑器建立第二道光路。为了使光线符合示意图中的行进方向,我们会再次使用倾斜和偏心的功能调整表面的位置。
注意:为了更完整的呈现光线追迹路径,我们根据专利中微显示器的位置对像面进行调整,透过表面的倾斜或偏心使光学元件呈现正确的几何关系。
检视光路图,我们会发现光线须在S1的内表面(即S1’)反射,才能顺利抵达微显示器(像面)。根据专利的说明,前述的光线转折是由界面的全反射(TIR)所造成。我们在后续的”全反射(TIR)”段落中会提到更详尽描述,此处仅针对OpticStudio的操作做说明。
由于在序列模式中无法模拟TIR,因此我们需要额外将S1’设为面镜。此外,将表面的解形态(Solve type)设为Pickup可使此表面更符合S1(LDE中的surface 3)的实际表现,允许入射光同时呈现反射和穿透的现象。我们可以根据下图完成上述的设定步骤,使各表面对应的参数随LDE中Surface 9变更。
最后我们以相同的方式在像面(LDE中的Surface 12)前插入一个表面,并设定正确的x-tilt和y-decenter。
定义视角(FOV)
由于自由曲面的设计会随视场(field)变化,为了分析系统的FOV我们需要尽可能设定更多的视场点。OpticStudio允许使用者在给定的视场中间分割,并有效率进行优化。此外,这些视场点还必须在X和Y方向给予定义。由于示例档案中的光学系统并非旋转对称(该系统对称于YZ平面,但对XZ平面是非对称的),我们无法确保光线在正向和负向均有相同的行进路线。
全反射 (TIR)
在实际的光学系统中,从微显示器出发的光线会在S1’面发生TIR。当光线从高折射率的介质射向折射率较低的介质,且入射角大于临界角时,此现象可能会发生在两介质的交界面。TIR的临界角如下所示:
ni代表光线入射的介质,而nr代则是发生折射的介质。在本示例中,光线自PMMA(n=1.492)射向S1’表面。此时S1’表面的外侧为空气,因此nr=1。由以上的关系式我们可以得到TIR发生的临界角(θc)为42.09度。实际的光线入射角会成为优化过程中的约束条件。
产生矩形光圈
我们可以在LDE的semi-diameter字段调整表面和面上的光圈(aperture)大小。考虑现实中楔形棱镜的几何关系,本示例中会以矩形光圈的形式呈现。矩形光圈可被定义在棱镜的任何表面上,我们可以在Surface Property…Aperture Type中将光栏改为Rectangular Type。(由于Coordinate Break是虚拟表面,这些表面不会对光线行进造成任何改变,因此我们无法在此定义光圈。)
优化
系统针对RMS波前(wavefront)进行优化,并且以质心(centroid)为参考点。我们可以逐步增加光瞳采样(Pupil Integration)中的环(ring)和臂(arm)以改良设计。以上步骤均可在优化函数编辑器(Merit Function Editor)中完成。至于约束条件的部分,我们可以选择以有效焦距(EFL)、厚度、全局坐标、光线路径长度、倾斜/偏心参数、角度和畸变等物理量作为限制。
首先,我们需要使用全局坐标约束条件(GLCX/GLCY/GLCZ)确保S1和S1’表面(LDE中的Surface 9和3)对齐,毕竟在实际应用上这两个面本来就是一体的。这些操作数(operand)将被用在surface 9和3的pickup参数上。
为了使整体光学构架更为简洁,我们可将光线路径长度作为约束条件。特别是从S3到像面以及S1’到像面的距离,针对这两个长度进行限制可确保像面被放在合理的位置。
对表面的倾斜/偏心参数进行限制可使棱镜在优化过程中保持正常的形状,避免出现其中一个表面异常远离其他表面的现象。一开始所有表面的型态为标准透镜(Standard Lens),在优化的过程中会渐渐的变成偶数型非球面(Even Asphere),部分表面最后将变为自由曲面型态。在本案例中,S1、S1’和S3表面(LDE中的surface 3,9,12)会以Extended Polynomial的型态呈现,surface 2则会是Even Asphere。
设定多重结构编辑器(Multi-Configuration Editor)
到目前为止,第一道光路(投影路径)的优化已大致完成。接下来我们将进行第二道光路(透视路径)的建立和优化。在这个阶段中,我们主要针对S2表面上的辅助镜头(auxiliary lens)进行设计。
下图为FFS棱镜优化完成后的LDE,参数可能会因为优化的过程和视场的添加而存在些微的差异。我们可以在最终的示例档案中得到非球面和自由曲面系数。
注意:在进行优化后,各表面在LDE中会呈现不同的颜色。我们也可以根据偏好在surface property中对颜色进行变更。
在进行辅助镜头的建构时,我们首先将S4加入已建立的FFS棱镜模型中。此时多重结构编辑器(Multi-Configuration Editor,MCE)可以帮助我们将整个系统一分为二。如下图,我们可以看到投影路径和透视路径清楚的呈现。
在根据光路对光学系统进行划分前,我们需要先在像面前加入S4表面(在实际应用上,S4会是第二道光路的光线在到达像面前的最后一个表面)。在LDE中加入S4和对应的Coordinate Break后的结果如下(surface 14,15,16为新增的字段)。
接下来我们会以多重结构编辑器(Multi-Configuration Editor,MCE)对光学系统进行划分。在明确的分割系统后,我们可针对不同目标和表面特性对单一光路进行优化。举例而言,设计者可以在针对FFS棱镜以RMS波前和有限像面优化的同时,对辅助镜头和透视光路以散焦(afocal)为目标进行相同操作。在透视路径中,我们希望能在配戴装置的情况下仍可清晰看到外界景物,因此像面在这道光路中不会是位于焦点上的。为了使HMD的存在不影响使用者正常观看周遭环境,在模拟中我们必须使无穷远出发的图像光线能顺利映像在人眼的角膜(cornea)上。同时,我们还需要对辅助镜头进行优化,减少透视光路的畸变并消除光学系统的屈光效果。关于MCE的设定,我们可以在Help Files中找到许多有用的信息。(推荐阅读“Multiple Configuration Editor”和“Multi-Configuration Operands”这两个段落)
观察上方个别光路的示意图和LDE,可以发现第一道光路包含了LDE中surface 0到surface 13的所有元件,以及像面(surface 17,18)。第二道光路则涵盖了S1和S2表面,但不包括S1’和S3表面。因此在针对此光路进行设计和优化时,S1’和S3及相对应的Coordinate Break均会被忽略,仅会考虑Surfaces 0-7,14-16和18。同时,像面的Coordinate Break也会被忽略,因为我们希望像面可以垂直于Z轴,正如实际应用上的外界入射光。
在上方的MCE中,我们可以看到在configuration字段的”1”,代表该操作数是有效的,而”0”则代表了该操作数不会对优化结果造成影响。透过操作数IGNR的设置,我们可以决定哪些表面会真正影响模拟结果,而哪些表面则是要被忽略的。举例而言,观察MCE我们可以发现surface 14到16(第3到5横列)不会对第一道光路造成影响。
此外还有一点特别重要的是操作数GLSS的使用,我们利用这个操作数将Surface 6(FFS棱镜的S2)材质改为玻璃。该表面在一开始的第一道光路中被当作镜面,为了模拟第二道光路,我们必须赋予该表面可被穿透的特性,以便在序列模式下同时模拟出透射和反射的效果。此外,多重结构操作数AFOC可使第二道光路中的”散焦像空间(Afocal Image Space)”效果被启用。
在优化多重结构的过程中,MCE和LDE的参数均可被调整以改进结果。我们可以藉由操作数CONF将操作数归类到多重结构的其中一种结构中,这些操作数只会对该结构造成影响。在CONF后方的”Cfg#”输入结构的编号,例如本例的第一道光路即输入”1”,MCE会将此横列下方的所有操作数纳入该结构的优化计算,直到下一个CONF出现为止。
分析
我们可以利用MCE或者其他工具栏的功能对系统的表现进行分析。由于本示例中的模型使用了自由曲面且具有缺乏旋转对称的特性,我们使用了Huygens PSF的分析方法。
如果想在分析的过程中加入矢高(sag)和曲率(curvature)的考察,我们可以在上方工具栏中依序选择分析(Analyze)…表面(Surface)…矢高图(Sag)/曲率图(Curvature)。更多细节上的变更可以在设定(Settings)菜单中完成。
视场光焦图(Field Map)是另一个我们可以选用的分析工具,我们可以在分析(Analyze)…PAL/Freeform中找到这个功能。在设定菜单中我们可以针对各种特性进行分析,例如特定表面的曲光率(power)。在本示例中,我们使用该功能评价在透视路径(see-through path)中光线抵达像面时所受到屈光的影响。要达到使人眼无法辨别差异的程度,设计者必须尽可能减少光学系统的屈光能力(约小于0.5D),才可降低使用时的疲劳和不适感。
以上就是好酷屋教程网小编为您收集和整理的ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/IT/63a479fbbc08510b53070168.html
相关推荐
热门专题
PS快捷键_PS快捷键大全
经典的Photoshop快捷键大全,如果你是入门阶段的水平,熟读此文并掌握,马上进阶为中级水平。matlab怎么换行?matlab换行教程
今天小编为大家带来的是matlab换行的教程,想知道怎么换行的小伙伴来看看接下来的这篇文章吧,相信一定会帮到你们的。matlab怎么换行?matlab换行教程1、首先在matlab主页面板中点击【Matlab求矩阵的乘积的操作方法
很多用户在使用Matlab的时候,不是很熟悉其中怎么求矩阵的乘积的?本期为你们带来的教程就描述了Matlab求矩阵的乘积的操作方法。Matlab求矩阵的乘积的操作方法打Matlab,在命令行窗口分区工具diskgenius强制删除文件的具体使用流程
很多人不知道分区工具diskgenius如何强制删除文件?今日为你们带来的文章是关于分区工具diskgenius强制删除文件的具体含义讲解,还有不清楚小伙伴和小编一起去学习一下吧。分区工具diskggoldwave怎么启用延迟录制计时器?goldwave启用延迟录制计时器教程
很多小伙伴在使用goldwave的时候,想知道怎么启用延迟录制计时器,下面小编就为大家分享教程,感兴趣的小伙伴不要错过哦!goldwave怎么启用延迟录制计时器?goldwave启用延迟录制计时器教pycharm使用技巧
今天小编给大家讲解pycharm使用技巧,有需要或者有兴趣的朋友们可以看一看下文,相信对大家会有所帮助的。pycharm使用技巧使用PyCharm软件需要python运行环境,这里我已经下载好。CAD看图软件哪个好用?如何使用CAD看图软件
在CAD中,大家都知道CAD图纸是使用CAD制图软件来绘制完成的,那保存的格式就是为dwg格式和dxf格式的。那需要对图纸内容进行查看的时候,就要适用到CAD看图软件。但看图软件有很多,那么CAD看图diskgenius怎么将分区中的文件复制到指定目录?diskgenius将分区中的文件复制到指定目录方法
使用diskgenius的时候,很多小伙伴不知道怎么将分区中的文件复制到指定目录,下面小编就给大家带来方法,有需要的小伙伴不要错过哦。diskgenius怎么将分区中的文件复制到指定目录?diskg分区工具diskgenius将硬盘合并分区的详细流程
说起分区工具diskgenius伙伴们都不陌生,那么使用怎么使用分区工具将硬盘合并分区呢?下面一起看看关于分区工具diskgenius将硬盘合并分区的详细流程吧。分区工具diskgenius将硬盘合MathType中公式与文字错位的处理方法
最近有很多朋友向我咨询关于MathType中公式与文字错位的问题,今天就为大家介绍MathType中公式与文字错位的处理方法,希望能够帮助到大家。MathType中公式与文字错位的处理方法方法一