SimVironment™

Robotic Simulation Software

SimVironment™ is a suite of simulation development tools that bridge the systems engineering gap for robotic development. Key elements such as 3D visualization, plug-in vehicle and sensor models, and a robust distributed communication backbone help developers to remain focused on critical path design elements.

  • Easily expandable simulation suite due to its distributed nature
  • Allows users to accurately model their base platforms
  • Supports custom online analysis and dynamic modifications or scripting
  • End-users are not restricted to a single programming language
  • 3D visualization allows users to easily monitor and change their simulation

SimVironment is capable of meeting the needs of unmanned system developers and testers. The use of SimVironment paves the path to achieve more robust and mature software earlier in the development process. The distributed nature allows multiple developers to interact with a simulated world simultaneously, or each developer may maintain their own world, unit testing on a desktop PC. SimVironment can also aide in the testing and validation of an unmanned vehicle by exposing it to a wider range of scenarios in a safer, more cost effective manner. Custom simulation function creation allows the flexibility to deploy nearly any aspect of an unmanned system in an interactive environment, and the built-in visualization makes it easy to monitor and analyze data.

Easily expandable simulation suite due to its distributed nature.

Based on a server-client model, multiple clients connect to synchronized world data storage. Each client may contain multiple simulation elements, each of which in turn can be made up of multiple components. This system-of-systems architecture replicates the layout of most unmanned systems, bolstering its ability to model their behaviors. The built-in simulation backbone handles all inter-process communications and timing between the clients and the server, allowing end-users to focus on developing and testing their autonomy software.  Fusing hardware-in-the-loop, software-in-the-loop, and process simulation, SimVironment can handle even the most complex system integration challenge.

Allows users to accurately model their base platforms

Multiple vehicle models can be instantiated in the environment simultaneously, allowing the user to test heterogeneous vehicle interactions or mission command software. By coupling the vehicle model with exact autonomy code, the virtual autonomous vehicle can be replicated in simulation for improved process simulations.  Running the synchronize simulation faster than real-time entire shifts or missions may be simulated in significantly less time. Additionally, a hardware-in-the-loop test may be created by connecting the base platform directly to SimVironment, where real and simulated objects can be fused.

Capable of supporting custom online analysis and dynamic modifications or scripting

One of the most powerful aspects of SimVironment is the ability to create custom pieces of simulation software. Aside from inserting proprietary autonomy software into a simulated vehicle, other services and functions can be directly added to the environment. Monitoring vehicle parameters such as path tracking, collision detection, or how a vehicle handles degraded sensor data such as a failed GPS or a LIDAR interaction with a dust cloud are easily accomplished within the SimVironment framework.  The built-in scripting engine provides the ability to use the framework to automated tests.

End-users are not restricted to a single programming language

Programs written in C, C++, Labview, Matlab, or Simulink are all easily integrated into the simulated world. For example, a vehicle control program in Labview could send commands to a vehicle in the world written in C, while governed by a physical vehicle model developed in Simulink. With support for Windows, Linux, OSX, and some real-time operating systems, the simulation environment will not limit the development or production path.  Further, the test engineer is free to choose more cost effective or application specific hardware for production testing than other commonly used testing hardware.

Built-in 3D visualization allows users to easily monitor & change their simulated world

The graphical interface provides the capability to directly add or delete objects in the world at runtime. Object properties can be monitored or modified just as easily, allowing users the freedom to adjust the simulation environment as required. Intuitive game environment style camera controls enable dynamic views of the world, as well as the ability to track the movement of any object. The visualization interface can also be used to export the world, allowing a user to reinitialize the world to specific initial conditions.  Beyond simulation, the visualization interface is often used for after-action review of actual data such as LIDAR point-cloud visualization or object classification data.

Building on the simulation tools developed to assist with urban unmanned ground vehicle software development, SimVironment has the features needed to assist in the development, validation, and deployment of unmanned systems.