SODA.Sim is designed for seamless software validation of any vehicle, covering the entire process from initial concept through certification to aftermarket updates.
By simulating vehicles at the level of atomic components, such as sensors, vehicle systems, and electronic control units SODA.Sim is not only a perfect tool for AD/ADAS development, but also a virtual proving ground for validation and certification of all vehicle functions.
SODA.Sim is empowered by SODA Validation Library. You can choose available tests or craft your bespoke scenarios in real-time. Be the first to access SODA Validation Library with a built-in AI scenario generator and AI scenario mixer.
Now we support UnrealEngine 5.4.
Full list of features see here.
All documentation is here
Create a new UProject with SODA.Sim is here
Quick start here
This repository is plugin for UnrealEngine. You can clone this repo to the UnrealEngine's plugins folder or to the project plugins folders. Then you need to follow the next steps: Setup a New UProject
Note
- The repose includes LFS files. Make sure you clone LFS files as well.
See more information about Working with Plugins in Unreal Engine.
- Windows
- Linux (not tested)
- [soda-sim-uproject] (https://github.com/soda-auto/soda-sim-uproject) - Just an example of UnreanEngine project for building the SODA.Sim.
- soda-sim-ros2 - support ROS2 capabilities for the SODA.Sim
- soda-sim-ros2-ws - scripts for build ROS2 for SODA.Sim ROS2 for Windows and Linux.
- soda-sim-proto-v1 - implementation of the generic snesors messages serialization for the SodaSim.
- soda-sim-remote-ctr - HTTP Python client for Remote Control implementing Remote Control API HTTP
- soda-sim-city-sample-vehicles - additional GhostVehicles library based on City Sample Vehicles
- Integration with Project Chrono for accurate vehicle physics simulation.
- Analog/Digital Input/Output hardware interface. We have almost finished developing our own hardware, which will allow virtual Analog/Digital Input/Output to be mapped to real hardware for HIL purpose.
- Realtime Python Scripts. Support Unreal Editor Python to work in game mode.
- Simulink Model Importing. Ability to develop vehicle components using Simulinks and import them into the simulator.
- LIN interfce support.
- City Traffic Generation based on the Summo.
- Support of the OpenScenario.
- Distributed simulation. Horisontal parallelization of simulation on multiple computers to simulate more vehicle sensors.
Please feel free to provide feedback or ask questions by creating a Github issue. For inquiries about collaboration, please email us at sim@soda.auto.
Copyright © 2023 SODA.AUTO UK LTD. ALL RIGHTS RESERVED.
This software contains code licensed as described in LICENSE.
Please ensure to comply with the respective licenses when using these third-party components in your project. Lists the licenses for third-party software used in this project:
- dbcppp - Licensed under the MIT License.
- libzmq - Licensed under the Mozilla Public License 2.0.
- mongodb Licensed under the Server Side Public License v1.0. MongoDB drivers are available under the Apache License v2.0.
- mongodb-cxx - Licensed under the Apache License, version 2.0.
- opendrive_reader - Licensed under the MIT License.
- pugixml - Distributed under the MIT License.
- quickhull - Licensed under the BSD-2-Clause license.
- 3D models - Licensed under the CC-BY License.
- Unreal Engine - Dependencies Associated with the Unreal Engine EULA.