在消费类电子产品领域,工程师可利用激光雷达实现众多功能,如面部识别和3D映射等。尽管激光雷达系统的应用非常广泛而且截然不同,而“闪存激光雷达”解决方案适用于在使用固态光学元件的目标场景中生成可检测的点阵列。

凭借在针对小型封装获取三维空间数据方面的优势,固态激光雷达系统在智能手机和笔记本电脑等消费类电子产品中日益普及。

在这个系列的文章中,我们将探讨如何使用OpticStudio对此类系统进行建模,包括从序列起始点到集成机械外壳的整个流程。该文章为闪光激光雷达系统建模系列文章的最后一篇。点击查看上期文章

下载

联系工作人员获取附件

简介

激光雷达系统在工业界中有着多种场景下的应用,对应于不同种类的激光雷达系统(比如用于扫描元件或确定视野的系统等),本示例将主要探索如何使用衍射光学元件来复制光源阵列在目标场景中的投影。成像透镜系统随后可观察到投影的光源阵列,以获取投射光线的飞行时间信息,进而生成投影点的深度信息。

在第三部分中,我们会介绍如何使用 Prepare for OpticsBuilder 将光学模型转换为 .ZBD 文件。通过转换,我们能够在 OpticsBuilder 中打开光学模型,并用于受支持的 CAD 平台,以生成机械外壳并执行光线追迹验证。

使用Prepare for OpticsBuilder

在前两篇文章中,我们已经在OpticStudio中为闪存激光雷达系统创建了一个完整的端到端模型。

zemax如何设置阵列点光源_microsoft

现在,设计流程的下一步需要构建一些机械外壳,以便将光学元件固定在各自的轨道内(即特定的发射和接收模块)。此外,机械设计还需要一些能够容纳各个模块的封装。Prepare for OpticsBuilder 工具可生成扩展名为 .ZBD 的文件,该文件可以通过 OpticsBuilder 模块读取,以便用于受支持的 CAD 平台,从而帮助光学和光机工程师能够快速地进行文件共享和协作。

首先,我们来看一下之前研究的非序列模式闪光激光雷达模型,我们对它进行了简单的修改,只使用光学元件和单个散射壁面(请注意,在本文中壁面已从矩形探测器更改为矩形 2D 表面)。接下来,我们通过文件选项卡…Prepare for OpticsBuilder(File tab…Prepare for OpticsBuilder)打开 Prepare for OpticsBuilder:

zemax如何设置阵列点光源_java_02

在 Prepare for OpticsBuilder 中,光学工程师可指定一些合适的设置,以检查 ZBD 文件转换是否保留了与原生 OpticStudio 文件相同的性能。对于闪光激光雷达系统的转换,由于我们对光线分束和散射进行了建模,因此我们想要确保在 分析方式(Analyze With)设置中勾选 散射(Scattering)和 光线分束(Ray splitting)框。同样地,在 OpticsBuilder 中是否将文件设为只读也取决于工程师的选择,对于本例,我们将不勾选只读框:

zemax如何设置阵列点光源_microsoft_03

当完成 用户输入(User Inputs)选项卡的编辑后,我们选择 准备(Prepare)以开始转换过程,并让工具检查 ZBD 文件是否能够在允许的增量和公差(在本例中,我们将其保留为默认值)范围内执行。在保存 .ZBD文件(Save .ZBD File)选项卡中单击 保存(Save),以生成 OpticsBuilder 就绪文件。

zemax如何设置阵列点光源_数据库_04

使用OpticsBuilder

一旦创建了 .ZBD 文件,光机工程师就可以将其导入到 OpticsBuilder 中。在安装了 OpticsBuilder 插件的 CAD 程序中(目前仅支持 Creo),通过打开一个新的装配体文件即可完成操作。选择合适的文件后, OpticsBuilder 将开始在您使用的 CAD 程序中生成光学系统:

zemax如何设置阵列点光源_数据库_05

在导入完成后,工程师可以查看完整的光学模型和几何结构,光学管理器(Optics Manager)中将列出相关的光学元件。如果在 Prepare for OpticsBuilder 工具中未勾选 只读?(Read-only?),光机工程师也可对其进行编辑:

zemax如何设置阵列点光源_激光雷达_06

由于保留了 OpticStudio 文件中的设置,我们可以使用 仿真(Simulate)按钮,直接在 OpticsBuilder 中执行与 OpticStudio 中相同的光线追迹。这使得光机工程师能够产生关于外壳整体设计的一些想法:

zemax如何设置阵列点光源_zemax如何设置阵列点光源_07

现在可以使用CAD软件来添加机械元件。在自上而下的设计中创建机械元件时,可以参考导入的光学元件几何结构。默认情况下,光学元件是固定的,但新创建的机械元件可以通过指定配置属性进行约束。此外,您还可以使用之前构建的现成部件,这些部件可以插入到装配体中并使用配置进行定位。最后,还可以将新引入元件的光学定义(例如膜层和散射配置文件数据)包括在内。例如,在每个轨道的光学元件之间添加机械垫片:

zemax如何设置阵列点光源_激光雷达_08

下一个添加的机械元件是用于容纳每个单独模块的筒:

zemax如何设置阵列点光源_java_09

对于所有这些物体,可以在光学管理器(Optics Manager)选项卡中,通过右键点击相关物体并选择编辑表面属性(Edit Surface Properties)来指定光学属性:

zemax如何设置阵列点光源_microsoft_10

在OpticsBuilder中验证系统性能

完成机械封装后,我们可以开展另一个仿真,以便查看添加的外壳如何影响整个光学系统的光线追迹。假设我们已经准备好以下用于验证的机械设计:

zemax如何设置阵列点光源_microsoft_11

要运行另一个仿真,我们将导航至 OpticsBuilder 选项卡,然后单击 仿真(Simulate)。添加新的机械元件后,OpticsBuilder 可以评估探测器在光斑尺寸、光束遮挡和像面污染等名义性能上的任何变化:

zemax如何设置阵列点光源_zemax如何设置阵列点光源_12

因此,有了这些机械元件,我们系统的主要变化是在光束遮挡方面。在该模型中,光斑尺寸可报告整个探测器性能的变化,即意味着它根据衍射光栅创建的点阵列来报告光斑尺寸,而这和现在的情况不太相关。像面污染可测量到达探测器的多余光线,这仍然相关并且保持在我们准备 OB 的初始步骤中定义的允许增量范围内。通过单击 “光斑尺寸(Spot size)”区域,然后单击 显示探测器…(Show Detectors…),可以查看在添加机械元件之前和之后的探测器结果:

zemax如何设置阵列点光源_java_13

此外,还可以通过 “打印(Print)” 按钮生成 OpticsBuilder 报告来查看这些结果:

zemax如何设置阵列点光源_java_14

为了进一步研究,OpticsBuilder会根据光线是否污染探测器或是否被新的几何结构遮挡来保存光线。通过右键点击相应的光线集,我们可以显示被遮挡的光线,同时定义要隐藏的其它光线集(“像面污染(Image contamination)”和“所有光线(All Rays)”):

zemax如何设置阵列点光源_zemax如何设置阵列点光源_15

从这个角度对光线进行更仔细的检查,可以对某些光束遮挡的光源进行一些诊断。工程师可以检查整个外壳的性能,也可以通过在仿真中包含或去除单个机械元件来评估任何添加几何结构组合的潜在干扰。例如,将外壳安装到发射模块末端的衍射光栅元件上会造成光源遮挡。光线与外壳的这一部分相互作用,随后被捕获在外壳中:

zemax如何设置阵列点光源_java_16

利用这些详细信息,机械工程师可以在修改外壳设计时做出明智的决策,以降低光束遮挡的情况。

OpticsBuilder 与 OpticStudio 之间的迭代

如果需要将此设计迭代发送给光学工程师进行进一步审核,光机工程师可以从OpticsBuilder导出.ZBD文件,以便在OpticsBuilder选项卡中轻松实现CAD程序和OpticStudio之间的文件传输。工程师可以选择将部件保存为所用CAD程序的原生元件,但请注意,这需要光学工程师拥有Premium OpticStudio许可证,并可以访问相同的CAD软件。此外,用户还可以选择将元件保存为静态STEP/IGES/SAT文件:

zemax如何设置阵列点光源_激光雷达_17

由于.ZBD文件类似于OpticStudio .ZAR存档文件,因此可以在OpticStudio中将其打开,并完全再现由光机工程师添加的光学和机械元件。 

zemax如何设置阵列点光源_数据库_18

zemax如何设置阵列点光源_zemax如何设置阵列点光源_19

值得注意的是,在撰写本文时,需要为散射壁面重新定义第二部分中定义的重点采样(Importance Sampling)设置,以实现如上所示的光线追迹。

在本篇文章中,我们演示了OpticStudio和OpticsBuilder之间的转换过程,从而为我们的光学模块创建机械封装。将光学模型整合到所选的兼容CAD程序后,OpticsBuilder可以使用与OpticStudio相同的光线追迹核心来仿真光线追迹,以检查光斑尺寸、光束遮挡和像面污染方面的变化。这些光线集的隔离有助于评估机械或光学设计可能需要在哪些方面进行修改。最后,光学和光机工程师可以通过在OpticsBuilder和OpticStudio之间共享.ZBD文件来实现其设计的无缝迭代。