Simulink 3D Animation

在虚拟现实环境中实现动态系统行为可视化

 

Simulink 3D Animation™ 将 Simulink® 模型和 MATLAB® 算法与虚拟现实场景中的三维图形对象相关联。通过在桌面或实时仿真过程中更改位置、旋转、缩放比例和其他对象属性,可以用动画呈现虚拟世界。您还可以感知虚拟世界中的碰撞和其他事件,并将其馈送回您的 MATLAB 和 Simulink 算法中。来自虚拟摄像机的视频可以流式传输到 Simulink 进行进一步处理。

Simulink 3D Animation 包括用于虚拟场景渲染与交互的编辑器和查看器。使用 3D World Editor,您可以导入 CAD 和 URDF 格式的文件,并使用三维对象组装创建详细场景。该工具支持采用立体视觉沉浸式查看三维世界。您可以在 MATLAB 图窗内集成多个三维场景视图,并使用力反馈操纵杆、三维鼠标或其他硬件设备与虚拟世界交互。Simulink 3D Animation 支持 X3D,这是一种 ISO 标准文件格式和运行时架构,用于三维场景和对象的表示和通信。

快速入门:

创建三维世界

使用 3D World Editor 创建和导入虚拟现实世界。

构建三维世界

3D World Editor 提供了构成虚拟世界的 VRML 对象的层级视图。它包含对象、纹理、变换和素材库,均存储在本地以便访问。

3D World Editor 显示登月舱各组件的层级树状视图(左)和场景预览(右)。

使用来自 Web 的三维内容

您可以使用多种三维创建工具构建三维世界,并将其导出为 X3D 或 VRML97 格式,供 Simulink 3D Animation 使用。另外,您可以从 Web 下载三维内容,使用它们组装详细的三维场景。

从 Paint 3D 库导入无人机,另存为 FBX 文件,并加载到三维世界中。

导入 CAD 模型

通过 3D World Editor,您可以操作从大多数 CAD 软件包导入的三维对象,用于开发详细的三维世界,以动画呈现采用 Simscape Multibody™Robotics System Toolbox™ 和 Aerospace Blockset™ 建模的动态系统。Simulink 3D Animation 支持处理由 SolidWorks® 和 PTC Creo™ 等 CAD 工具创建的 X3D 和 VRML 文件。您还可以将 STL、FBX、DAE COLLADA、URDF 和 SDF 文件格式的 CAD 模型导入到 3D World Editor。

浏览图库(共 2 张图)。

查看世界

在虚拟世界中查看、缩放、平移和移动,并可采用立体视觉。

VRML 查看器

Simulink 3D Animation 包括一些查看器,可通过缩放、平移、侧向移动以及围绕关注点(也称视点)旋转,在虚拟世界间导航。您可以建立多个视点,以突出关注区域、引导访客或从不同位置观察运动中的物体。在仿真过程中,您可以在这些视点之间切换。

迷你无人机飞行路线可视化。

构建包含三维世界的用户界面

Simulink 3D Animation 查看器可以集成到 MATLAB 图窗,以便您将虚拟场景与 MATLAB Handle Graphics® 和一个或多个虚拟世界的多个视图相结合。

使用 MATLAB Handle Graphics 创建的图形界面示例。

在 Web 浏览器中远程查看三维世界

您可以在 Web 浏览器中使用 Simulink 3D Animation Web 查看器,以在计算机、手机和平板电脑上显示虚拟世界。您可以在计算机上打开一个虚拟世界,然后在移动设备或计算机上的 Web 浏览器中远程查看该虚拟世界,即使该设备或计算机未安装 Simulink 3D Animation。

在支持 HTML5 的浏览器中显示傅科摆的三维动画。

与世界进行交互

使用双向 MATLAB 和 Simulink 接口与三维世界交互,实现编程方式访问、用户交互和基于三维输入设备的虚拟原型设计。

MATLAB 三维世界接口

您可以通过 MATLAB 读取和更改 VRML 对象的位置和其他属性、从 VRML 传感器中读取信号、利用图形工具创建回调、录制动画并将数据映射到三维对象上。您还可以使用 MATLAB Compiler™ 生成包含 Simulink 3D Animation 功能的独立应用程序。

使用 MATLAB 以编程方式访问的三维场景对象属性。

Simulink 三维世界接口

您可以通过 Simulink 控制场景中虚拟对象的位置、旋转和大小,以可视化其运动和变形。在仿真过程中,您还可以将场景中的对象属性读取到 Simulink 中。您可以相对于对象调整视图,并在虚拟世界中将 Simulink 信号显示为文本。您可将虚拟世界中定义的合成摄像机的二维输出流式传输到 Simulink 以进行视频处理。您还可以跟踪某一对象在其关联虚拟场景中的三维轨迹。

车辆动力学仿真。使用视频处理算法处理汽车上挂装的合成摄像机的二维输出,然后在视频查看器窗口中显示。

三维输入设备

Simulink 3D Animation 提供 Simulink 模块和 MATLAB 对象,支持使用硬件输入设备(包括三维鼠标和力反馈操纵杆)操纵虚拟世界中的对象。您也可以使用这些设备来驱动任何 Simulink 模块或控制基于 MATLAB 的算法。

在这个模型中,使用三维鼠标在虚拟场景中控制操纵器。该设备向 Simulink 提供其摇杆键帽平移和旋转及其按钮状态的信息。

在三维世界中检测碰撞

在您的 MATLAB 和 Simulink 算法中,将碰撞数据用作输入。

碰撞检测

Simulink 3D Animation 支持检测点云、光扇图和原始几何形状与周围虚拟现实对象的碰撞。您可以对超声波、LIDAR 和触碰传感器建模。

带有 LIDAR 传感器的轮式机器人的三维世界。绿线显示与周围物体碰撞点之间的距离。

录制并分享动画

录制场景数据并分享您的成果

录制场景数据

Simulink 3D Animation 支持创建虚拟场景的帧快照(截图),或将动画录制为视频文件。您可以通过调度和配置,将动画数据录制为 AVI 二维视频文件或三维动画 X3D 文件,以供将来回放。三维动画文件支持您以完整的虚拟现实体验查看录制的动画,也就是说,您可以采用立体视觉从不同的视点观察场景。

在同一场景中对两组车辆动力学数据进行仿真。

可视化实时仿真

可视化实时仿真并连接输入硬件。

动画演示实时应用程序

使用 Simulink Coder™ 从 Simulink 模型生成 C 代码,并以此驱动动画。对于连接到实时硬件的动态系统模型,您可以应用此方法进行直观的动画演示,从而增强基于 Simulink Real-Time™ 和 Simulink Desktop Real-Time™ 的硬件在环仿真或快速原型应用程序。

一个 Simulink Real-Time 测试环境的组件,其中包含 Simulink 3D Animation,用于增强快速原型设计和硬件在环仿真。

最新特性

全面支持 X3D

X3D(可扩展 3D)是针对 3D 场景表示的现行 ISO 标准,现已成为 Simulink 3D Animation 的默认格式

字符串

VR Sink 和 VR Source 模块支持字符串数据类型

PROTO 编辑

在 3D World Editor 中直接使用 PROTO 定义

碰撞检测

碰撞传感器节点支持仿真 LIDAR、距离和触碰传感器

视频离屏渲染

流式传输 VR to Video 模块,而无需在仿真过程中保持查看器窗口打开

FBX 文件导入

将 FBX 文件加载为虚拟现实世界中的节点

关于这些特性和相应功能的详细信息,请参阅发行说明