Welcome to RoveSoSimulator, an advanced simulation environment designed to aid the Mars Rover Design Team in testing and refining autonomous navigation capabilities. Built on Unreal Engine 5, this cutting-edge simulator provides a realistic virtual landscape for testing various sensors, algorithms, and autonomous behaviors. It's an essential tool for validating software in an efficient, scalable, and repeatable way.
The RoveSoSimulator empowers developers and engineers on the Mars Rover Design Team to push the boundaries of our Rover's autonomous capabilities by providing:
- ๐๏ธ Highly Detailed Virtual Landscapes: Simulate complex Martian terrains, including rugged surfaces, rocky obstacles, and diverse environmental conditions.
- ๐ ๏ธ Full Control of Simulation Parameters: Customize terrain, weather, lighting, and other parameters to recreate various real-world scenarios.
- ๐ฅ Stereoscopic Camera & Point Cloud Support: Generate stereoscopic feeds, point clouds, and depth maps for object detection and path planning.
- ๐ค Autonomous Testing & Validation: Seamlessly integrate with the autonomy software to evaluate navigation algorithms, decision-making, and sensor fusion techniques.
- ๐ Comprehensive Data Logging & Analysis: Collect real-time data on rover behavior for further analysis and performance evaluation.
Experience high-fidelity Martian terrain designed to mimic the conditions your rover will encounter on the actual red planet. From craters to sand dunes, this simulator provides a dynamic testing environment to ensure your autonomy software is prepared for anything.
RoveSoSimulator includes a set of cameras, which outputs both a stereoscopic feed and depth map. This feature enables in-depth testing of the rover's visual navigation capabilities.
Incorporate a variety of sensors into the simulator to test the rover's response to its environment. Simulated LIDAR, IMU, GPS, and other critical sensors are supported.
Test pathfinding algorithms with obstacles and varied terrains. Measure performance, optimize efficiency, and stress-test the roverโs ability to navigate autonomously in difficult scenarios.
Log critical metrics, such as sensor readings, navigation decisions, and performance benchmarks, for post-simulation analysis.
The simulation is fully customizable. Add new environments, tweak sensor configurations, or even modify the physics engine to reflect new experimental conditions.
git clone --recurse-submodules https://github.com/MissouriMRDT/RoveSoSimulator.git
cd RoveSoSimulator
The Content
directory in this project is a submodule that links to our self-hosted OneDev instance for unlimited Git LFS storage. Please be aware that the server has a 1000GB monthly bandwidth limit. Large pushes should be carefully considered as exceeding this limit WILL incur additional costs.
You can access the OneDev repository for the Content
directory here: Content Repository. The Content
directory is very large, so expect a 2-3 hour initial clone time. If you are unable to access the OneDev website please reach out to our software leads for assistance with gaining access to the server.
Make sure you have the following installed:
In order to build the project with RoveComm_CPP, you will need to install the clang compiler and libc++ standard.
```
sudo apt update
sudo apt install libc++-dev libc++abi-dev clang
```
To start the simulator, follow these steps:
- Open the project in Unreal Engine 5.
- Configure the simulation parameters in the settings panel.
- Press the Play button to initiate the simulation.
Results and logs can be found in the /logs
directory. To analyze data, refer to the provided scripts in the /analysis
folder.
Comprehensive documentation on RoveSoSimulator will be found here soon. This includes:
- Full installation guide
- Setup and configuration instructions
- Sensor and environment customization guides
- Data logging and post-analysis tutorials
We welcome contributions to improve RoveSoSimulator! Please follow the steps below to get started:
-
Checkout and pull the latest development branch:
git checkout development git pull origin development
-
Create a new branch for your feature or fix:
git checkout -b feature/AmazingFeature
-
Commit your changes:
git commit -m 'Add some AmazingFeature'
-
Push to your branch:
git push origin feature/AmazingFeature
-
Open a Pull Request targeting the development branch.
RoveSoSimulator is licensed under the MIT License. See LICENSE
for more information.
For more information, questions, or feedback, feel free to reach out to the Mars Rover Design Team at email.