Vortex Studio 2021a Release Notes
What's new?
Vortex Studio gives you the tools you need for Virtual Prototyping and Digital Engineering, and to realize anything from a single seat hardware- and driver-in-the-loop simulator to large-scale deployment of simulations on multiple simulator platforms.
Here's an overview of the exciting upgrades and improvements that come with this version of Vortex Studio.
- Newly added sensors
- Electro-optical sensors (Lidar Sensor, Depth Camera, and Color Camera)
- Kinematics Sensor for easy access to position, orientation, acceleration and velocity of machine components
- Basic support for ROS2 connectivity
- URDF Import functionality
- Connecting Vortex Studio to ROS2 via Python for data communication
- Unity Integration
- Use Unity as a renderer to feature a Vortex Studio simulation with the powerful Unity rendering engine.
- We provide tools that will help you port existing Vortex Studio simulation content to be rendered in Unity.
- Licensing update
- Vortex Studio Create and Activate were redefined to simplify how you use the platform.
More details in the following sections. For a detailed exploration of any of the the features listed here, please consult the documentation.
Modern Sensors for virtual design and rapid prototyping of autonomous machines
The 2021a release is the first to feature a set of simulated electro-optical sensors which are becoming more and more widespread in modern machines and robotics systems. Consequently, engineers need tools to test drive their designs and rapidly iterate, and Vortex Studio is the ideal tool for that!
The sensors added in this release are as follows:
- Lidar Sensor
- Depth Camera
- Color Camera
All sensors will function in a simulation of Vortex Studio alone or in a Vortex Studio simulation with Unreal Engine. The following visuals provide examples of the Lidar Sensor simulation in Vortex Studio, deployed in Unreal Engine. A point cloud visualization displays the Lidar's hit points with the environment as blue dots.
Extensive documentation is provided for these sensors which shows among others how to quickly reproduce the behaviour of specific Lidar sensors available on the market today. Here is a list of these devices:
- Velodyne VLP 16
- SICK LD-MRS400102 HD
- SICK LD-MRS800001S01
- Hokuyo URM-40LC-EW
- Hokuyo YVT-35LX
Finally, all sensors allow accessing their output data via Python efficiently and are thus easy to connect for further data processing, e.g., in a machine learning environment for automation use cases. For how to use Vortex Studio specifically for automation via reinforcement learning, please see the official reinforcement learning tutorial.
As an example, here is the output of a Depth Camera, saved as a png file via the Vortex Studio Python API:
And here is an example of the Depth Camera operating in Unreal with the depth image shown in the top left corner. As you can see, the depth information is affected by the environment dynamically.
For an architectural overview and the data flow for sensors please have a look at the following diagram. It also shows how sensors can interact in a co-simulated environment with Vortex and ROS2, another new feature (see next section).
Finally, the figure presents which connectivity feature are rolled out with 2021a and which are planned for 2021b. So, stay tuned!
Connect Vortex Studio to ROS2, the Robotic Operating System, for virtual prototyping of robotics systems
With 2021a you can now connect Vortex Studio to ROS2 via python scripts. A new ROS2 connectivity tutorial shows you how. Here is a short animation showing the workflow.
On top of that, in 2021a you can now also import your robots from ROS directly into Vortex via URDF files and obtain Vortex assemblies with all relevant robot information such as the rigid body - joint structure, geometries and the mass properties of the robotic links. Among others, this allows you to migrate your Gazebo simulation, which supports URDF files, to Vortex. Here is how this looks:
A new tutorial and the official URDF importer documentation walks you through the process.
Using Unity as Graphics Renderer for your Vortex Studio simulations
With 2021a, Vortex Studio comes with its first official Unity integration.
This is great news for anybody wanting to benefit from Vortex Studio capabilities and Unity advanced graphics rendering.
It is also straightforward to connect your existing Vortex Studio simulations to Unity for high fidelity rendering.
For more information on how to use Unity as renderer and animation engine, while letting Vortex Studio take care of mechanical simulation as well as distributed, synchronized rendering across multiple PCs, please consult Using Unity as Graphics Renderer.
The SDK integration already available in 2020b is officially supported and brings other benefits, see Integrating Vortex Studio with Unity.
Here are a few highlights of the Unity integration as graphics renderer:
- A Vortex Studio package is available to easily integrate with Unity, associate Vortex Objects to Unity Prefabs and customize behaviors with Unity Scripting.
- Scenes and Mechanisms are created with Vortex Studio Editor, graphics assets and animation scripts of the simulation are created with the Unity Editor.
- Scenes and Mechanisms can be mapped to Unity scripting using VHL interfaces.
- Support for Dynamics Terrain with material mapping in Vortex while rendering in Unity.
- Support for Earthwork Systems and Cable Systems (How to associate Vortex Objects with Unity prefabs).
- The Vortex Director is able to define and start a distributed simulation mixing Vortex and Unity applications.
- Scripts are made available to convert existing Vortex graphics content to Unity assets bundles in order to transition smoothly to Unity rendering.
It should be noted that CM Labs is using Vortex Studio simulation combined with Unity as renderer for some of its simulator products.
For more information please have a look at https://www.cm-labs.com/immersive-simulation-products/forestry-equipment-training-simulators/ .
Licensing Improvements
Vortex Studio licensing has been updated in order to simplify the usage of Vortex Studio Create and Vortex Studio Activate.
- The Create Simulator Add-on product has been removed; Vortex Studio Create now enables all Vortex Studio features to create and test content, and build a distributed simulators with no restrictions.
- The Vortex Studio Embed Add-on has been removed; Vortex Studio Activate now allows users to use any application embedding a Vortex Application as part of a simulator.
See also Licensing.
General Usability Improvements
Assets Browser
- Python scripts are now referenced in the assets browser
- When creating a project, there is now a plugins folder to carry your project specifics plugins along side your project.
See Asset Browser for more details.
Content Loader
- The content loader extension can now load content in editing mode and start the simulation without user intervention. See Loading Content at Start Up for more details.
Python 3 API
- As we transition away from Python 2, internal scripts used by the Vortex Console are now using Python 3. See Vortex Console - Prerequisite Python3 Installation for mode details.
- The editor will convert your files to the latest version when opened, and using the "Save all child documents" allow saving all references from a single file to the latest version. But with python, it is now possible to write a script that will go thru all your files and update them to the latest version. See Python 3 API: Upgrading Vortex Files for mode details.
- You can know list factory keys of extensions for reference. See About Extensions and factory keys for more details.
- Extension fields can be created in code rather than with the user interface. See Creating and getting fields in python for more details.
QtTabWindow
- When making a QtTabWindow with a single tab, the tab will be hidden unless the option to show it is checked. See QtTabWindow for more details.
MARIN XRI Hydrodynamics module
- In order to reduce dependencies for generic projects, the Hydrodynamics Module is not added by default anymore. It must be added in the application setup file, at the same level as the dynamics module. See Setting up Vortex for use of MARIN XRI features
System Requirements
Supported Platforms
Vortex Studio 2021a runs on the following platforms:
- Microsoft Windows 10 (x64), version 20H2.
- Linux CentOS 7 or equivalent.
Hardware Requirements
Minimum Configuration | Recommended Configuration |
---|---|
|
|
Any computer running Vortex Studio Create or Activate must support AVX2 instructions set
Supported Graphics Cards
Vortex Studio 2021a has been extensively tested with NVIDIA GeForce RTX 3060 TI, RTX 3060, RTX 2070 and GTX 1070 cards for high performance rendering with 466.27 and 461.40 WHQL drivers.
Other GTX and RTX graphic cards listed in the NVIDIA release notes work with Vortex Studio, however some performance or rendering degradation may occur.
The 466.27 driver may cause issues when running many graphics simulations concurrently on the same computer. While this was only observed in extreme cases, the driver can be downgraded to 461.40 if needed.
Vortex Studio Create 2021a has also been tested with NVIDIA Quadro P5000 graphics cards.
Vortex Studio 2021a supports AMD and Intel graphics cards as a tech preview with limited feature set.
On computers equipped with multiple graphics cards (e.g., laptops with both integrated Intel card and dedicated NVIDIA graphics card), the default configuration of these systems is to auto-select the card to run the application, which might prevent Vortex Studio from running with the NVIDIA card. In the NVIDIA Control Panel, select Manage 3D Settings and change the Preferred graphics processor to High-performance NVIDIA processor and restart the Vortex application.
Some monitors have factory refresh rates set to high frequencies, i.e. 144Hz. Vortex applications will process the graphical information at 60 Hz by default, which might lead to visual artifacts. Please set the monitor refresh rate so it matches the Vortex simulation rate.
Windows Remote Desktop is not supported by Vortex Studio running in OpenGL mode, we recommend using another remoting application that uses the remote graphics card for rendering, e.g. VNC.
Supported VR Hardware
Vortex Studio 2021a supports the following VR hardware via the OpenVR protocol:
- HTC Vive
- HTC Vive Pro
- Vive tracker
A Steam account is needed to configure and use the VR hardware in a Windows 10 environment. Your graphics card must also meet minimal requirements for VR performances.
Mongo DB
Mongo DB is the database engine used in Vortex Activate.
The version supported is Mongo DB 4.2.
Qt
Vortex Studio uses a custom version of Qt 5.15.1.
Python
Python 3.8 is supported. Vortex Studio contains an embedded version of python 3.8.6.
The corresponding Python or Anaconda distribution can also be used to include more modules in the scripts.
Unreal Engine Integration
Vortex Studio 2021a supports integration Unreal Engine version 4.26.
Unity Integration
Vortex Studio 2021a supports integration with Unity 2020.3.11f1.
Supported Compiler
Vortex Studio 2021a supports Microsoft Visual Studio 2015 (VC14) compiler and above.
GCC 7.3 is the supported compiler on Linux.
Simulink/MATLAB
Real-time UDP protocol of Simulink/MATLAB is supported.
Licensing
Vortex uses RLM by Reprise Software™ for licensing.
Altair Partner Alliance (APA) Licensing
Altair license server supported version is 14.5.1.
Vortex Studio Activate is not included in the Altair APA licensing support.
Supported 3D model File Types
The following 3D model file types can be imported into Vortex Studio Editor.
- .cive, .dae, .fbx, .flt, .ive, .obj
- .osg2, .osga, .osgb, .osgs, .osgt, .osgx, .shp
The following CAD file types can be imported into Vortex Studio with the purchase of the CAD Importer add-on.
The CAD Importer add-on is a paid add-on. Contact your CM Labs representative for more information.
- .step, .3dxml, .stl, .catproduct, .stp, .catpart, .vrml, .cgr, .wrl, .jt, .sldasm, .sldprt, .x_t, .x_b
Compatibility Notice
We recommend that you back up your assets before migrating to the latest version. If saved, it will not be possible to open them again in their original version. Assets include any files created with the Vortex Editor, Vortex Director or programmatically with the Vortex SDK, including: code, extensions, legacy parts, assemblies, mechanisms, galleries, scenes, setup files, simulator files and any other proprietary Vortex file.
From any version of Vortex Studio from 2018a up to current version
Files from these versions can be used in the newest release. We recommend that you use the "Save All Child Documents" feature to ensure that all components are properly saved.
Between any Vortex version
Record-and-Playback as well as Key frame files created with previous versions may not work with Vortex Studio 2021a.
From any version of Vortex Studio Academic
Academic can open and run content created with other licenses.
End-of-life Notice
- Python 2.7.13 is supported for legacy systems. It is strongly advised to upgrade to 3.8.
- GCC 4.8.5 is deprecated on Linux up to 2021a HF4 and completely removed in 2021a HF5. GCC 7.3 must be used instead.
Minor Improvements in Vortex Studio 2021a
In addition to features documented in the what's new, minor improvements have been made during the development of Vortex Studio 2021a:
ID | Summary |
---|---|
VP-36310 | As a user, I'd like to have the Content Loader extension load content in editing mode. |
VP-39207 | Upgrade Qt to version 5.15.1 |
VP-41046 | Subclass VxSim::VxApplication::InitializationParameters has been extracted to class VxSim::InitializationParameters |
VP-41175 | The Dynamics module not longer create the hydrodynamics module. To access the hydrodynamics features, the hydrodynamics module must be added to the setup in the same node as the dynamics module. |
Minor Improvements in Vortex Studio 2021a HF1
ID | Summary |
---|---|
VP-41364 | Via the Field<VxFilename> API, a value of type VxFilename supports saving it's value as an absolute path rather than relative to the Vortex Document containing it's value. Part of the refactor impacted the VxFilename type. VxFilename is now its own class rather than a typedef of VxString<512>. Minor API changes for VxFilename API.
|
Fixed Issues in Vortex Studio 2021a (2021.1.0.66)
Various bugs and workflow issues have been fixed during the development of Vortex Studio 2021a:
Fixed Issues in Vortex Studio 2021a HF1 (2021.1.0.73)
ID | Summary |
---|---|
VP-41874 | Vortex Editor: Missing pop-up indicating to restart when the python interpreter is modified |
VP-41878 | Unexpected contacts appear when a cylindrical hole is inserted into another cylindrical hole |
VP-41928 | VortexUnityApp: loading a scenario is slow |
VP-41970 | Unity Integration: Cables don't receive the visible value from Vortex |
VP-41986 | Vortex Setup "Help Forum" link is broken |
Fixed Issues in Vortex Studio 2021a HF2 (2021.1.0.79)
ID | Summary |
---|---|
VP-41790 | Lidar and Depth Camera do not capture soil. |
VP-41898 | Unity Integration: Soil Particles and Cables rendering produce visual artefacts when temporal anti-aliasing is enabled |
VP-41900 | Content Creation Tutorial - part documents should not be generated |
VP-41902 | Performance issue with Unreal Level Streaming |
VP-41991 | Unity Integration: 3D Display extension's inputs Physical Orientation and HUD Rotation values are not working |
Fixed Issues in Vortex Studio 2021a HF3 (2021.1.0.102)
ID | Summary |
---|---|
VP-41610 | Unity Integration: Soil Particles screen space mesh rendering has some transparency glitches |
VP-41972 | Vortex Editor: it should not be possible to save a file while simulating |
VP-41992 | Crash when using multiple Lidars Integration in Unreal |
VP-42004 | Unity Integration: VortexUnityApp does not start in full screen mode |
VP-42046 | Unity Integration: Earthwork - terrain flickering in digging area |
VP-42065 | Unity Integration: VortexUnityApp displays a black screen when license is missing |
VP-42095 | Unity Integration: The SSM particles orientation can flip when the soil particles are moved around |
Fixed Issues in Vortex Studio 2021a HF4 (2021.1.0.112)
ID | Summary |
---|---|
VP-42060 | Altair initialization fails when run outside the Vortex binaries folder |
VP-42192 | Sensors - Cyclone Lidar Visualization Only Works for One Lidar |
Fixed Issues in Vortex Studio 2021a HF5 (2021.1.0.137)
ID | Summary | Support ID |
---|---|---|
VP-41618 | Rendering performance regression | 00008479 |
VP-42054 | Laptops may detect the wrong GPU when launching Vortex Editor ultimately leading to a crash | |
VP-42160 | Unreal Terrain Streaming - Missing Terrain in Remote Debugger | 00009125 |
VP-42206 | Vortex Editor: Selecting an item in the 3D view does not expand the Explorer tree to show the highlighted asset | |
VP-42273 | Unity: SSM flickers on distributed simulator | |
VP-42317 | Vortex Editor: may crash silently if a screen was previously disconnected from the computer | 00009298 |
VP-42318 | Vortex Editor: Terrain cannot be created from File when using the "Ok" button | |
VP-42382 | VortexUnityApp : memory leak causes a crash after some time |
Fixed Issues in Vortex Studio 2021a HF7 (2021.1.0.165)
ID | Summary | Support ID |
---|---|---|
VP-42048 | Displaying constraints is extremely slow | |
VP-42186 | Cylinder hole collision response has issues | 00009200 |
VP-42120 | Monitor doesn't display underwater fog | 00009105 |
Known Issues in Vortex Studio 2021a
ID | Summary | Workaround |
VP-39136 | Vortex Editor shows black screen when running on a laptop with NVIDIA GPU with Optimus technology. | Manually choose the OpenGL renderer in the Vortex Editor options. Alternatively, set an external monitor as primary. |
VP-41437 | When a sound is created such that the listener and the emitter are exactly at the same location, or the listener is moving together with the emitter such that it is precisely above it, the sound that the operator hears becomes garbled. | This happens for monaural sound track when the listener and the emitter are moving in tandem while being either too close or aligned vertically. The workaround is keep the sound emitter and the listener separate and make sure they can't be move in a way where they could align with each other. |