How to Configure MAK ONE’s VR-Engage Virtual Simulator with Accurate Vehicle Dynamics based on an Existing Model

By Len Granowetter

MAK’s VR-Engage virtual simulator application, part of the MAK ONE suite, includes a built-in vehicle dynamics simulation, using Vortex, by CM Labs. Vortex is a mature and powerful COTS physics and dynamics engine that provides a simple authoring UI, allowing users to model at whatever fidelity is desired – including modeling of multi-axle drive and steering systems, dynamic loads, wheeled and tracked systems, physics of turrets and other parts, etc. However, the MAK ONE platform is also capable of using pre-existing dynamics models and external code that is not based on the Vortex physics engine. Here's how to configure VR-Engage with accurate vehicle dynamics based on an existing model. 

If you are starting with specifications of the dynamics parameters of a vehicle (torque tables, gear ratios, transmission parameters, shock absorption parameters, etc.): Our typical recommendation would be to use the Vortex Studio editor to build a Vortex “mechanism” based on those parameters. The Vortex Editor also allows you to import the 3D model of the vehicle, and match physics parameters to the geometry appropriately, e.g. create an efficient convex hull that approximates the vehicle geometry, indicate which pieces of geometry represents each wheel, etc. This is the approach we have taken on the Australian Army’s Land Systems Core (LS Core) 2.0 program, among others.

If you are starting with existing vehicle dynamics code: If you wish to continue to use existing validated dynamics models for certain vehicles, those models (i.e. existing vehicle dynamics code) can be plugged into VR-Engage even if they do not use Vortex. Our API allows developers to build custom “actuators” that receive the same user inputs as our existing actuators (steering, brake, gear, etc.) and compute position, velocity, acceleration, orientation, and other outputs such as wheel and turret offsets based on custom code. These custom actuators essentially replace our built-in Vortex-based actuators.  Dynamics models can even be built in MATLAB (or a similar tool), and then exported as C++ code that can be integrated into VR-Forces/VR-Engage through our plug-in APIs.

If your existing vehicle dynamics code isn’t in C++, or doesn’t run on Windows (e.g. if Linux is required by a specific real-time motion platform), then the approach would still be to write a custom actuator as a plug-in to VR-Engage, but to have that actuator call the external dynamics model through network messages rather than through direct API calls. We took this approach on the US Army STE CSE program (albeit for aircraft rather than ground vehicles). An existing validated model from the AVCATT program was built on a 3rd party COTS flight dynamics engine from Advanced Rotorcraft Technologies. That engine ran on a dedicated Linux machine that was synchronized with high-fidelity Electronic Control Loading hardware but was integrated with a custom VR-Engage plug-in using the GRPC (Google Remote Procedure call) networking protocol.

If your model doesn’t exist in code form *or* as low-level dynamics parameter, but rather as a set of tables or collected data that describes the external performance of the vehicle (top speed around a track, acceleration rates, etc.) then the approach would likely be as follows: Build a model in Vortex (as in the first option above) based on the best available source of information for the low-level physics parameters; then test the model in a scenario, and iteratively adjust the low-level physics parameters in the model until the output performance matches the real-world performance data.

How does VR-Engage integrate with motion platforms? Regardless of what vehicle dynamics engine is used to simulate the vehicle, integration with a motion platform is quite straightforward: As the dynamics model calculates output parameters such as orientation, acceleration, and velocity each frame, those values as passed to the API provided by the motion platform vendor. If the dynamics code runs directly within a VR-Engage plug-in (or uses the built-in Vortex engine), the calls to the motion platform API can be made directly from the VR-Engage application (or from its plug-in). If the dynamics code is running in a separate executable connected to VR-Engage through a networking protocol, then it may make sense for the dynamics application to call the motion platform API directly.

Several engineers in MAK’s Training Solutions division have extensive experience working on full motion system ground and air simulators including Common Driver Trainer, AH/MH-6 LASAR LittleBird, H60 Seahawk, and the Flight School XXI UH-60A/P Blackhawk and CH-47C Chinook. MAK worked with D-BOX to successfully integrate VR-Engage with their motion simulation platform in a matter of days – this was demonstrated at D-BOX’s I/ITSEC booth. UMS, a prime contractor in Australia, built and deployed a modular crew training system on a room-size centrifuge based around the MAK ONE suite, and used VR-Engage to drive the motion platform using the techniques described above.

ST Engineering

ST Engineering