Simulink 3D Animation

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

 

Simulink 3D Animation™ 提供了可将 Simulink® 模型和 MATLAB® 算法与三维图形对象相关联的应用程序。可以采用标准三维建模语言 X3D 和 VRML97 表示对象。通过在桌面或实时仿真过程中更改位置、旋转、比例和其他对象属性,可以用动画呈现三维世界。您还可以感知虚拟世界中的冲突和其他事件,并将其馈送回您的 MATLAB 和 Simulink 算法中。来自虚拟摄像机的视频可以流式传输到 Simulink 进行处理。

Simulink 3D Animation 包括用于呈现虚拟场景并与之交互的编辑器和观察器。使用 3D World Editor,您可以导入 CAD 和 URDF 格式的文件,并创作根据三维对象组装的详细场景。可以使用立体视觉沉浸式地查看三维世界。您可以在 MATLAB 图形内合并多个三维场景视图,并使用力觉反馈操纵杆、空间鼠标或其他硬件装置与虚拟世界交互。

快速入门:

创作三维世界

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

构建三维世界

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

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

从 Web 导入三维内容

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

导入 CAD 模型

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

采用 Simscape Driveline™ 建模的双离合变速器的动力学特性(顶部)和使用 Aerospace Blockset 中的坐标变换计算的飞行器轨迹追踪(底部)的三维动画。

查看世界

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

VRML 观察器

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

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

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

Simulink 3D Animation 观察器与 MATLAB 图形集成,使您可以将虚拟场景与 MATLAB Handle Graphics® 和一个或多个虚拟世界的多个视图相结合。

使用 MATLAB Handle Graphics 创作的图形界面示例。该屏幕显示了跑道上进行的汽车悬架测试,其中组合了包括速度数据以及方向盘和力三元组可视化在内的多个三维视图(顶部)和用于趋势分析的二维图形(底部)。

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

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

在支持 HTML5 的浏览器中显示一条装配线的三维动画。浏览器选项卡中的 IP 地址指向运行动画的主计算机。

与世界进行交互

使用通往三维世界的双向 MATLAB 和 Simulink 接口。使用三维鼠标和力觉反馈操纵杆等三维输入装置,探索用于实现用户交互和虚拟原型设计的 Simulink 模块和 MATLAB 函数。

通往三维世界的 MATLAB 接口

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

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

通往三维世界的 Simulink 接口

您可以控制场景中虚拟对象的位置、旋转和大小,以可视化其运动和变形。在仿真过程中,还可以将场景中的 VRML 对象属性读取到 Simulink 中。利用一组可实现轴变换的矢量和矩阵实用程序,可将 Simulink 信号与虚拟世界中对象的属性相关联。您可以调节相对于对象的视图,并将 Simulink 信号显示为虚拟世界中的文本。可将虚拟世界中定义的合成摄像机的二维输出流式传输到 Simulink,供进一步的二维视频处理。

您还可以跟踪关联虚拟场景中对象的三维轨迹。例如,可以为航天器的发射执行飞行路线可视化。

车辆动力学仿真。使用视频处理算法(在本例中是简单的边缘检测)处理汽车上挂装的合成摄像机的二维输出,然后在视频观察器窗口中显示。 

三维输入装置

Simulink 3D Animation 提供了 Simulink 模块和 MATLAB 对象,让您能够使用硬件输入装置(三维鼠标和力觉反馈操纵杆)操纵虚拟世界中的对象。但是,这些装置的使用并不局限于虚拟场景中的对象。也可以在更一般的意义上使用这些装置,以驱动任何 Simulink 模块或控制基于 MATLAB 的算法。

在这个模型中,使用空间鼠标来控制操纵器。该装置向 Simulink 提供了有关其控制器帽平移和旋转及其按钮状态的信息。

检测三维世界中的冲突

感知三维对象之间的冲突,将其用作对您的 MATLAB 和 Simulink 算法的输入。

Simulink 3D Animation 允许您检测点云、光扇图和原始几何形状与周围虚拟现实对象的冲突。您可以使用 PointPickSensor、LinePickSensor 和 PrimitivePickSensor 节点对超声波、LIDAR 和触摸式传感器建模。

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

录制并分享动画

录制场景数据并分享您的作品。

录制场景数据

Simulink 3D Animation 使您能够控制虚拟场景的帧快照(采集),或将动画录制到视频文件中。您可以将当前观察器场景的帧快照另存为 TIFF 或 PNG 文件。您可以安排录制动画数据到 AVI 二维视频文件和三维动画 X3D 文件的时间,并对录制操作进行配置,以供将来回放。三维动画文件允许检查录制的动画,获得完整的虚拟现实查看体验——使用立体视觉从不同的视点观察场景。

您可以对帧快照和动画数据使用视频和图像处理技术。利用这些方法,通过与虚拟现实环境的联系而不是物理实验设置,可以使用视觉反馈回路来开发控制算法。

Simulink 3D Animation 播放器显示两辆汽车的已录制三维动画:这两辆汽车使用不同的高级稳定系统控制单元设置来执行车道变换操作。

支持协作环境

Simulink 3D Animation 让您在一台运行 Simulink 的计算机上,或者在本地连接或通过互联网连接的多台联网计算机上,查看仿真的虚拟世界并与之交互。在协同工作环境中,您可以在通过 TCP/IP 协议连接到主机服务器的多个客户端机器上查看动画形式的虚拟世界。当您在单独(非联网)的环境中工作时,您的已建模系统和三维可视化在同一台主机上运行。

可视化实时仿真

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

Simulink 3D Animation 包含用来可视化实时仿真以及连接输入硬件的功能。您可以使用通过 Simulink Coder™ 从 Simulink 模型生成的 C 代码来驱动动画。当您的动态系统模型与实时硬件连接时,此方法通过提供该模型的直观动画效果,在 Simulink Real-Time™ 和 Simulink Desktop Real-Time™ 上增强您的硬件在环仿真或快速原型应用程序。

Simulink 实时测试环境的组成部分,包括用于实现快速原型设计和硬件在环仿真的 Simulink 3D Animation。

最新特性

字符串

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

PROTO 编辑

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

鼠标滚轮导航

使用鼠标滚轮移动三维世界中的摄像机视点

FBX 文件导入

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

坐标变换实用程序

在 VR 世界和 MATLAB 坐标之间转换

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

获取免费试用版

30 天探索触手可及。

马上下载

准备购买?

获取详细价格和并探索相关产品。

您是学生吗?

获得 MATLAB 和 Simulink 学生版软件。

了解更多