当前位置: 首页 > news >正文

Ansys Zemax|在设计抬头显示器(HUD)时需要使用哪些工具?

图片

附件下载

联系工作人员获取附件

汽车抬头显示器或汽车平视显示器,也被称为HUD,是在汽车中显示数据的透明显示器,不需要用户低头就能看到他们需要的重要资讯。这个名字的由来是由于该技术能够让飞行员在头部“向上”并向前看的情况下查看信息,而不是斜着眼睛看下面的仪表。

这篇文章节选了在设计和分析抬头显示器(HUD)的性能时所使用的 OpticStudio 工具。

HUD 概述

下面是 HUD 的简图。液晶显示器(LCD)会发光,这些光被构成 HUD 的两个镜子反射,然后再被挡风玻璃反射,最后进入驾驶员的眼睛。驾驶员看到的是位于道路上的虚像,该虚像为驾驶员提供例如速度等信息。

驾驶员在驾驶过程中会移动头部改变视角。视窗(eyebox)是一个虚拟空间,代表驾驶员在该空间内都能看到虚像。

图片

图片

让我们来看一个 HUD 系统示例,其规格参数如下。

  • 虚像距离: 2 m

  • 显示车辆当前的行驶速度

  • 结构限制:HUD 将主要受到仪表盘下可用空间的限制。挡风玻璃将充当分光镜。

  • 视窗: 驾驶员眼睛的位置将位于一个宽度为 ± 50mm,高度为 ± 20mm的空间内。

  • 人眼瞳孔:在亮光下为2至4毫米,在黑暗中为4至8毫米。在本示例中,它将被设定为4毫米。

  • LCD 显示屏尺寸为宽 ± 12.5mm,高 ± 5mm。

  • 放大倍数 = 6

设计 HUD 的步骤

从虚像到显示器:设计是在序列模式下反向进行的。为什么呢?因为从驾驶员看到的虚像开始模拟很方便。这样就可以将光阑面放置在系统前方,即视窗所在的位置。在光阑面放置矩形孔径以表述对眼睛位置的约束。

从显示器到虚像:之后在序列模式下将系统反转,这将能够“真实”模拟人眼在汽车前进方向上看到的画面的成像质量。

最后,系统将被转换为非序列(NSC)模式,该模式下,用户可以进行杂散光分析,从而实现更加真实的模拟。在该模式下,将显示驾驶员使用 HUD 看到的真实图像。

第一步:从虚像到显示器(反向)

  • 设计选择:

HUD 的初始设计是一个折叠系统,这保证了它在仪表盘下可以保持足够小的尺寸。HUD 由两面镜子组成:一面平面镜,还有一面是自由曲面。镜子的优点在于不会在成像系统中引入任何色差。自由曲面的镜子还需要进行优化。

为了方便起见,我们建立了一个模板,其中包含了所有初始元素以及整个挡风玻璃的自由曲面模型。挡风玻璃由扩展多项式面型模拟。让我们一起来看看这个文件是如何建立的。

  • 系统选项:

孔径:视窗为系统光阑,它表明了驾驶员眼睛位置可移动的范围:宽度 = ± 50mm,高度 = ± 20mm,这个尺寸的矩形孔径被放置在光阑面。

然后计算入瞳直径 (EPD) 为 2 x (sqrt (20^2+50^2)) = 108 mm。

图片

  • 视场:

视场类型被设置为物高,归一化被定义为矩形。在实际系统中,LCD显示器上的图像被放大了6倍以形成虚像。因为目前的设计是反向的,从虚像到LCD显示器,虚像的尺寸可以被计算出来,并作为物高在视场数据编辑器里面定义视场大小。LCD显示器尺寸为: 宽度 = ± 12.5mm,高度 = ± 5mm。因此,物面尺寸应该是这个尺寸的6倍:

图片

波长: LCD 显示器发光波长为0.55µm。

  • 挡风玻璃

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

为了找到这个“有效”区域,可以使用光迹图(Footprint Diagram)工具,该工具可以在分析菜单栏下的光线迹点(Rays & Spots)中找到。它显示了光束在挡风玻璃表面上叠加的光迹:

图片

  • 挡风玻璃建模:

挡风玻璃可以通过序列模式下面型表征,例如自由曲面面型,或者也可以被看作非序列 CAD 零件。如果它被表征为一个非序列 CAD 零件插入到一个序列模式下的系统中,那么系统就变成了混合模式。当对系统反向建模时,即从虚像到显示器,这样做效果很好,但在正向建模时就会出现问题,因为光阑面现在位于非序列组件表面之后,这使得光线瞄准更加困难,也可能导致其他光线追迹问题。

在本例中,挡风玻璃是使用扩展多项式面型建模的。

  • 定位所有元素

所有元素的位置布局如下图所示:

图片

  • 每个面的放置是通过一些便利的工具来完成的:

坐标断点返回:坐标断点面可以使用表面属性下的倾斜/偏心中的坐标返回来定义。OpticStudio 之后将计算该坐标断点面的参数,以便在该坐标断点面之后,局部坐标(“返回”至)与之前的序列面型的局部坐标相同。

图片

  • 主光线求解:该求解会计算坐标断点面的倾斜和偏心,使其垂直于主光线并以其为中心。

图片

因为篇幅关系,本次推文节选了部分内容,了解更多关于如何完成这一工作,以及如何将设计导出到非序列模式进行进一步分析,请联系工作人员获取全文和附件。

相关文章:

Ansys Zemax|在设计抬头显示器(HUD)时需要使用哪些工具?

附件下载 联系工作人员获取附件 汽车抬头显示器或汽车平视显示器,也被称为HUD,是在汽车中显示数据的透明显示器,不需要用户低头就能看到他们需要的重要资讯。这个名字的由来是由于该技术能够让飞行员在头部“向上”并向前看的情况下查看信息…...

Linux系统移动光标类命令

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

Vitis Accelerated Libraries 学习笔记--Vision 库的组织结构

1. 简介 Vision 库的组织结构如下: ├── L1/ │ ├── README.md │ ├── examples/ │ ├── include/ │ ├── lib/ │ └── tests/ ├── L2/ │ ├── README.md │ ├── examples/ │ └── tests/ ├── L3/ │ ├── R…...

HTML+CSS 彩色浮雕按钮

效果演示 实现了一个彩色按钮特效,包括一个按钮(button)和一个前景色(::before)。按钮具有四种不同的颜色,当鼠标悬停在按钮上时,前景色会出现渐变效果,并且按钮的颜色、文本阴影和边…...

ChatBI开源实现: 基于SuperSonic的AI+BI的产品设计

产品起源 为什么要做这样的产品?文章《ChatBI开源实现: AIBI的产品设计》中有介绍 为什么要自己做这样的产品?1、低成本试错;2、未来数据生态入口; 为什么要基于Supersonic做? 开源协议友好:可魔改商用 社区…...

【嵌入式Linux】i.MX6ULL 外部中断服务函数的初始化

文章目录 1. Cortex-A7 中断系统1.1 分析1.2 具体处理流程 2. 外部中断服务函数的初始化2.1 基本流程分析2.2 具体代码分析2.2.1. 定义中断处理类型和结构体2.2.2. 初始化中断系统2.2.3. 注册中断处理函数2.2.4. 具体的中断处理逻辑2.2.5. 默认的中断处理函数 3. 完整代码 本文…...

线性代数、矩阵计算

一、线性代数 1、对于向量,若a是标量,为a的绝对值乘以b的向量长度。 2、点乘 3、范数:向量或者矩阵的长度 L1范数:(对向量)每个元素的绝对值求和 L2范数:(对向量)torch.…...

PostgreSQL 高级功能(五)

1. 存储过程与函数 1.1 创建存储过程 存储过程是一组预编译的SQL语句,可以简化复杂的操作。以下是一个简单的存储过程示例: CREATE OR REPLACE FUNCTION add_user(username VARCHAR, email VARCHAR) RETURNS VOID AS $$ BEGININSERT INTO users (use…...

食品企业仓储式批发零售一体化解决方案

食品企业需要有效应对日益复杂的市场挑战和消费者需求的快速变化的挑战并提升市场竞争力,仓储式类的批发零售一体化需求应运而生。这一全新的商业模式不仅整合了传统的批发和零售模式,还优化了供应链管理和客户体验,成为食品行业发展的新引擎…...

chrome插件,修改对应URL的http请求的header头,包括ajax请求

要创建一个可以灵活修改HTTP请求头的Chrome扩展,包括一个用户界面来动态设置头部名称和值,可以按照以下步骤进行。我们会用到 chrome.storage API 来保存用户的设置,并在后台脚本中使用这些设置来修改请求头。 文件结构 my_chrome_extensio…...

C语言 | Leetcode C语言题解之第191题位1的个数

题目: 题解: int hammingWeight(uint32_t n) {int ret 0;while (n) {n & n - 1;ret;}return ret; }...

【C++11(二)】lambda表达式和可变参数模板

一、可变参数模板 C11的新特性可变参数模板 能够让您创建可以接受 可变参数的函数模板和类模板 // Args是一个模板参数包&#xff0c;args是一个函数形参参数包 // 声明一个参数包Args...args&#xff0c;这个参数包中可以包含0到任意个模板参数。 template <class ...Arg…...

昇思25天学习打卡营第2天|张量Tensor

张量Tensor 创建张量张量的属性张量索引张量运算 稀疏张量 总结 简单讲讲张量&#xff0c;数学和物理学界以一种方式定义张量&#xff0c;机器学习上则是以另一种方式定义张量&#xff0c;这里的张量也与神经网络联系紧密&#xff0c;神经网络需要进行大量的数学计算&#xff0…...

[leetcode]valid-triangle-number. 有效三角形的个数

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int triangleNumber(vector<int>& nums) {int n nums.size();sort(nums.begin(), nums.end());int ans 0;for (int i 0; i < n; i) {for (int j i 1; j < n; j) {int left j 1, righ…...

java SQL server 多实例的情况

而对于java&#xff0c;对付多个数据库实例就有些要注意的了&#xff1a; 首先&#xff0c;同样连接字符串上加上“\实例名”&#xff1a; jdbc:sqlserver://127.0.0.1\\mssqlserver2008;DatabaseNameLPT; 此处应去掉端口1433。因为连接数据库自命名实例的url中没有端口号1433…...

html--404页面

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <title>404 错误页面不存在&…...

[word] Word如何删除所有的空行? #职场发展#学习方法

Word如何删除所有的空行&#xff1f; 很多网友从网页复制文字粘贴到word文档后发现段落之间有空行&#xff0c;如果文字不多&#xff0c;手动删除这些空行也没有多少工作量&#xff0c;但是如果文字的字数达到成千上万&#xff0c;一个个手动删除这些空行还是很繁琐的。那么&a…...

【CSS】深入探讨 CSS 的 `calc()` 函数

深入探讨 CSS 的 calc() 函数 calc() 是一个 CSS 函数&#xff0c;用于在样式表中进行数学计算&#xff0c;从而动态地设置 CSS 属性值。它允许开发者在指定长度、百分比、数值等时&#xff0c;进行加减乘除运算。通过 calc() 函数&#xff0c;我们可以实现更灵活和响应式的设…...

MongoDB异地备份数据文件脚本(带日志打印,便于排查)

此脚本是以文件夹的形式备份&#xff0c;非压缩包形式 如需备份成加密压缩包&#xff0c;可用此脚本&#xff1a;MongoDB定时异地备份所有数据库为加密压缩包-CSDN博客 1.可以直接下载本文件使用&#xff0c;将其放到mongo安装目录的bin目录下&#xff08;可手动执行&#xf…...

论文导读 | Manufacturing Service Operations Management近期文章精选

编者按 在本系列文章中&#xff0c;我们梳理了顶刊Manufacturing & Service Operations Management5月份发布有关OR/OM以及相关应用的文章之基本信息&#xff0c;旨在帮助读者快速洞察行业/学界最新动态。 推荐文章1 ● 题目&#xff1a;Robust Drone Delivery with Weath…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...