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

2024-02-19 08:20

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

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

初始结构

HUD简介

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

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

系统规格

•虚像距离:2米

•显示当前车速

•机械限制:HUD主要受到仪表板下可用空间的限制,风挡玻璃将充当一个分束器

•眼盒:驾驶员眼睛的位置在宽度为±50毫米、高度为±20毫米的眼盒范围内

•瞳孔:在明亮的光线下直径为2至4毫米,在黑暗中直径为4至8毫米。对于该研究,它被设置为4毫米

•液晶显示器尺寸宽为±12.5毫米,高为±5毫米

•放大倍数=6

设计选择

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

HUD设计流程

•从虚像到显示器:设计在序列模式中反向进行。原因从驾驶员看到的虚像开始进行光学系统建模相对容易。然后可以将光阑表面放置在系统的前部,即眼盒所在的位置。在光阑表面上放置一个矩形孔径,以描述对眼睛位置的限制。

•从显示器到虚拟图像:系统将在序列模式下翻转。允许评估从显示器到虚像的“真实”性能,即正向性能。

•最后,系统将转换为非序列(NSC)模式。这提供了一个更真实的模型,其中用户可以包括杂散光分析。它将显示驾驶员使用抬头显示器看到的真实图像。

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

初始结构

为了方便起见,已经构建了一个模板,其中包含所有的初始结构。在附件中即可看到。初始结构中包含整个风挡玻璃的自由曲面模型。风挡玻璃可视为一个扩展多项式表面。

系统选项:

•孔径:眼盒是系统的光阑面,因此它代表了驾驶员眼睛的位置范围:宽度=±50毫米,高度=±20毫米,所以我们将该尺寸的矩形孔径放置在光阑面。

入瞳直径(EPD)计算可得2 × (20ˆ2 +50 ˆ2) ˆ2 = 108毫米。 

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

视场宽度=±75毫米(6 x 12.5),视场高度=±30毫米(6 x 5)

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

风挡玻璃

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

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

风挡玻璃建模:

风挡玻璃模型:

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

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

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

非序列模式下的矢高分析是ZOS-API的扩展,用于测量CAD零件的矢高。

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

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

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

在设置中,您可以:

•取消勾选“移除XY倾斜”。NSC矢高不会将NSC物体的倾斜设置为0。

•勾选“保留保存的文件”,将.zmx和.zrd文件保存到当前文件夹。

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

定位所有元件

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

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

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

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

现在我们已经完成了对于 HUD 系统的元件定位与设置,下一步我们可以根据当前的系统去评估系统的初始性能以及进行后续优化。

在后续的文章中,我们会进行进一步的介绍。

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



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

相关文章

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用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.