Ansys Zemax | 设计抬头显示器时要使用哪些工具 – 第三部分

2024-02-19 08:20

本文主要是介绍Ansys Zemax | 设计抬头显示器时要使用哪些工具 – 第三部分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文为使用OpticStudio工具设计优化HUD抬头显示器系统的第三部分,主要包含演示了如何使用OpticStudio非序列模式工具正向分析HUD系统的性能以及后续可能的扩展分析。

上两篇文章中(第一部分点此查看,第二部分点此查看),我们主要介绍了如何以逆向方式对于HUD系统进行建模,以及根据分析系统的初始性能,并结合具体设计指标了解如何对系统进行控制与优化。本篇文章将主要结合OpticStudio非序列模式功能进行正向HUD系统性能的整体评估。(联系我们获取文章附件)

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

翻转系统

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

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

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

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

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

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

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

•表面13即STOP面可以设置为全局坐标参考表面。系统如下所示:

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

系统性能

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

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

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

•发散/会聚(双目视差):驾驶员的双眼将通过光学系统观看虚像。每只眼睛看到同一图像点的方向之间通常有一个很小的角度差异。垂直(上/下)角度差被称为双会聚。水平(左/右)角度差称为收敛。可以使用结果文件“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毫米。该文件现在已准备好进行转换。

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

“HUD_Step3_NONSEQ_after_tidying_up.zar”

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

 

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

•逆追迹光线:

•删除在序列模式中对翻转系统有用的表面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,使得最终图像在右方向上显示。

•将检测器25更改为矩形光源,并将注释更改为“虚像”。添加-8度的“倾斜X”,并将“Y位置”更改为275 mm,以使其位于探测器的中心。

20条布局光线,X半宽=1000mm,Y半宽=500mm,光源距离=2000,翻转光线。

•删除所有其他探测器(16至24)。

在这一点上,来自LCD窗口的布局光线似乎与风挡玻璃没有相互作用。风挡玻璃是一个布尔原生对象:它是矩形体积和由2个扩展多项式曲面组成的复合透镜。

要了解发生了什么,让我们通过取消勾选“Do Not Draw Object”选项卡中的“不绘制对象”选项来绘制矩形体积:

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

 

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

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

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

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

•光源14(LCD显示器):功率=1W,分析射线数=1E6

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

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

结论

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

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

除此之外

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

这篇关于Ansys Zemax | 设计抬头显示器时要使用哪些工具 – 第三部分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/724083

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可