High Fidelity Physics-Based Simulation of Construction Equipment, 09-R8365
Inclusive Dates: 01/07/13 – 05/07/13
Background — Recognizing the value of construction equipment simulators, the U.S. Army put out a request for proposals for a program with the potential to develop up to 592 construction equipment virtual trainers (CEVT) simulating five different types of construction equipment. SwRI construction equipment simulators have many of the basic requirements for the draft System Requirements Document (SRD) released for the potential RFP, but significant advances to equipment/terrain modeling and 3D rendering techniques are necessary to meet the full set of requirements. SwRI's construction simulators were made using SwRI's Graphics Interface Library (GraIL). GraIL became dated and more expensive to maintain and extend than to replace. The CEVT SRD requires a significant increase in visual and physical modeling fidelity beyond the capabilities of GraIL and SwRI's current simulators. The objective of this research was to obtain the necessary information required to reduce uncertainty in future development of the existing simulators. To fulfill this objective, SwRI systematically investigated and evaluated commercial game engines in two primary areas – equipment modeling and dynamic terrain.
Approach — Before this effort, it was determined that the two best options for game engine evaluation were Unity and Havok. The engines were evaluated by attempting to model an excavator and dynamic, diggable terrain using both engines.
Accomplishments — Using Unity, a simple application was built that simulates an excavator digging in the ground. The PhysX engine was used to model the vehicle dynamics, and digging was accomplished by modifying the Unity terrain height-map. Points on the height map were modified based on their proximity to the bucket of the excavator. This approached worked, but may be impractical on a large scale. The Unity terrain, while modifiable, is optimized based on the assumption that it will rarely change. The approach used for this study may not be expandable to a large-scale terrain that could be modified at any point. Using a trial version of the Havok physics engine, an existing tank demo was modified to add an articulated arm and bucket to the tank body. The Havok physics engine also uses a heavily optimized height map to model terrain, but it cannot be modified during run-time using Havok physics calls. Havok does include classes for their graphical editor that do allow the terrain to be edited. Fortunately, the classes used to modify terrain within the Havok editor can also be used during simulations. It was determined that the Unity engine is both cheaper and easier to use than the Havok engine. It also has a large user community, allowing access to many sample projects and code. While the capabilities are not as substantial as Havok's, the ability to quickly define and test approaches interactively in the Unity editor is a major plus. Unity is the more cost-effective game engine for commercial applications such as SwRI's current equipment simulators. However, a large military effort may require Havok. While the learning curve is significantly steeper, having full access to the source code will make it easier to interface with other existing software such as after-action review and/or scenario-generation tools. The ability to load and modify large terrain databases, such as those used in military simulators, and the ability to more easily integrate military networking protocols to support joint exercises will be a significant consideration.