自2021R2发布以来,Speos可以管理包括时间在内的仿真模拟,可以应用于系统传感器,激光雷达和相机。在2024R2中,这个概念也被扩展到光源,通过定义一个时间轴输入到Surface Source中,模拟光源的频闪特性。以下是如何为系统传感器和光源使用时间轴特性的工作流。

为了逼真地模拟运动模糊和滚动快门效果,必须考虑物体的运动。这包括了场景中物体运动的速度,轨迹,以及它们如何与光和传感器相互作用。通过Speos LightBox功能在场景中对移动对象进行建模,LightBox能够使分配的对象拥有一个运动轨迹。 LightBox可以在相对XYZ坐标中存储网格几何形状和光源,是一种特定的二进制格式,只能由Speos读取,也可以通过密码黑盒进行数据保护。
LightBox特性有两个选项:
Export Speos LightBox允许将CAD几何图形转换为LightBox网格体。如果必须保密地共享这些几何图形,可以添加密码保护,输出生成的文件具有. speoslightbox扩展名。
导入Speos LightBox允许将LightBox文件导入Speos模型。如果文件受密码保护,则在Definition选项卡中有一个特殊的密码字段需要设定输入,以便访问网格几何形状。
1. 进入lightsimulation 选项工具>
组件选项卡>
LightBox >
导出Speos LightBox。
2. 在Component节点下的Speos树中创建Lightbox导出项。
3. 选择原点和方向轴系统。
4. 选择几何图形。
5. 选择光源(或不选择光源)。
6. 右键单击导出Lightbox option>以访问Speos网格参数。
7. 在3D视图中按“Compute”计算图标(或右键单击计算)。
8. 在项目的输出文件output file中生成一个. Speoslightbox。
LightBox管理多个CAD几何图形转换。例如,如果要移动的对象是一辆汽车,由车轮、车身和车门几何形状组成,那么所有这些几何形状都可以分组到一个LightBox中。在多辆车的情况下,建议每辆车使用自己的LightBox。
1. 进入lightsimulation 选项工具>
组件选项卡>
LightBox >
导入Speos LightBox。
2. 选择在前面的“导出LightBox”操作中生成的.speoslightbox。
3. 定义原点轴系统。
4. [Trajectory file]导入JSON轨迹文件。JSON轨迹文件的生成将在以下讲述如何生成和管理。
5. 按“计算”。
6. 在inverse仿真模拟中,可以在geometry选项下,选择simulation模拟树>
组件节点>
导入LightBox,则所有的网格数据都被列出,可以选择作为Speos模拟的几何形状。
注意:建议选择与物体开始移动的位置相对应的轴。如果需要,可以生成一个新的轴系统。
下图展示了导入LightBox并加载Trajectory file 运动轨迹文件的全过程。
生成轨迹曲线主要有两个步骤:创建轨迹CAD样条曲线,创建一个包含轨迹坐标和物体速度的JSON文件。JSON文件是通过Python脚本生成的。
首先创建轨迹样条:
1. 进入草图Sketch模式。
2. 选择«Spline»样条曲线工具。
3. 在“选项选择”中,确保“自动合并”未激活。
4. 一定要画很多点,这样调整样条会更容易。
5. 一旦样条被创建,建议将它移动到一个命名为“Trajectory”组件,用来存储所有的轨迹曲线,方便数据管理。
6. 重新命名样条曲线的名字。
其次创建一个JSON轨迹文件。
1. 打开“设计”选项卡中的“脚本”。
2. 复制并粘贴Ansys文档中的Python脚本到脚本编辑器中。
3. 确保注释好标题中的所有行-要同时注释多行,请使用“ctrl + k”键盘快捷键。
4. 确保脚本可以找到正确的安装bin文件夹路径—在标准安装的情况下,只需更改v2XX, v241 = 2024R1。
5.具体的脚本内容可以在Speos user guide找到。
6. 保存为“Trajectory.py”
7. 运行脚本。
7.1 运行脚本会有如下请求输入的信息:选择参考起始坐标,选择运动样条线,输入选项下的运动速度和采样点的个数。
7.2 脚本将对每个采样位置计算,可以通过查看3D视图来跟踪进度。坐标系统是在3D视图中移动的。
7.3脚本的输出是一个.json文件。
7.4它保存在项目文件夹中。
7.5 JSON文件由时间戳和沿轨迹的坐标系位置和方向组成。下面的文本块描述了脚本生成的轨迹JSON文件结构:
最后将轨迹JSON文件链接到移动对象:
1. 编辑想要移动的导入LightBox。
2. 在“轨迹文件”中导入.json文件。确保应用在移动对象上的轴系统方向与用于样条生成的方向相同。否则,灯箱的轨迹将使网格体向错误的方向移动。
轨迹JSON文件有一个开始和一个结束,Moved Lightbox将在JSON文件中的最后一个时间戳位置停止移动。
激光雷达通过其旋转和扫描类型考虑时间。这两种类型都需要作为输入扫描和旋转序列文件来管理收发器(Tx)波束方向。
激光雷达扫描和旋转模型也可以随着时间的推移而移动,就像Lightbox几何形状一样,通过链接JSON轨迹文件作为输入参数。下图显示了输入参数在LiDAR模型定义中的位置。
激光雷达仿真,在光学仿真>仿真>系统中找到,包含一个时间轴特征。一旦激活,就可以访问开始时间和结束时间。注意:LiDAR(Timeline或非Timeline)仿真与CPU和HPC兼容。
Camera也在模型和仿真定义两个层面考虑时间。在Light Simulation > Sensors > System中,Camera Model将以秒为单位定义的积分和滞后时间作为输入。
相机传感器模型也可以在Speos模拟中随时间移动,就像Lightbox几何图形一样,通过链接一个轨迹.json文件作为输入参数。
逆向模拟,用于相机传感器,并在光模拟>模拟中找到,包含一个时间轴特征。一旦激活,就可以访问开始时间。逆向模拟时间轴仿真兼容CPU、GPU和HPC。
如何建立一个考虑时间方面的光源模型,从2024R2版本开始,Surface Source将受益于时间轴特性。光源的通量可以按照自定义模式随时间变化。该模式由嵌入到JSON文件格式中的离散值组成。用Surface Source输入的JSON文件格式与用于移动几何图形的JSON文件格式不同。用于Surface Source的JSON文件的结构在Speos User guide中有详细说明。
JSON文件可以通过几种方式生成:
手动模式通过直接编辑JSON文件或使用excel先格式化数据。JSON文件可以手动编辑,因为该结构非常容易处理。下图说明了该文件的结构。
编写脚本:通过从输入创建JSON文件。Speos用户指南提供了一个脚本示例,说明如何设置用于信号生成的脚本。这个例子必须启动到Speos界面,因为它依赖于Speos图形用户界面API。下面是详细说明所需输入的表格:
为了便于理解Surface Source的时间轴特性,例如想实现一个矩形模式,如下所示:
如何在Surface Source中设置时间轴参数:
1. 生成一个surface source。
2. 在定义>选项>时间轴。
3. 导入按照前面的建议/指导创建的.json文件,光源时间轴仅与逆仿真时间轴兼容。

通过Timeline的设定,可以将Speos的仿真应用到具有运动效应的仿真验证中, Speos camera传感器允许考虑场景动态和相关效果,例如卷帘快门和运动模糊,camera传感器采集可以感知到的另一个效应是光源通量的时间变化 LED 闪烁,在inverse仿真中,激活timeline,可以使的运动效应仿真成为可能。
相关阅读
Speos Camera传感器机器视觉示例
如何在Speos中创建和使用测量模板-XMP measurement template
Speos 如何设置和使用physics camera sensor
Speos SSS 传感器特性与EMVA1288标准以及Lumerical传感器验证
运行你的第一个Camera Sensor后处理,体验Speos SSS解决方案
Speos 如何设置和使用physics camera sensor