RoveSoSimulator

Autonomous Rover Testing Simulator in Unreal Engine 5

View the Project on GitHub MissouriMRDT/RoveSoSimulator

Return to RoveSoDocs Guides for Today, Tomorrow, and Forever.

Project Knowledge Base: Attempted & Concept Initiatives

This document serves as a “Project Legacy & Repository of Knowledge” for the Mars Rover Design Team’s Simulator sub-team. It outlines major initiatives that were either fully implemented, partially attempted, or kept as future concepts.

The goal is to prevent “re-inventing the wheel” and to provide future developers with the specific technical roadblocks that halted certain paths. Please add your unfinished projects, moonshots, and or anything else to this list so other people can reference it in the future.

Section 1: High-Fidelity Cinematic Rendering (Attempted/Pivoted)

1.1 Overview of the Technology

To produce a high-quality video for competition, we explored Unreal Engine’s professional cinematic pipeline:

1.2 Methodology

  1. Recording: We used Take Recorder to “record” the rover performing search patterns and arm interactions.
  2. Cinematography: We created a Master Sequence, dragged the recorded data into it, and added CineCameraActors with low apertures (f/2.8) for realistic depth of field.
  3. Overrides: We implemented Game Overrides in the MRQ settings to ensure our custom GameMode was used during the render.

1.3 Roadblocks & Technical Challenges

1.4 Conclusion & Current Path

Status: Abandoned in favor of OBS High-Bitrate Viewport Capture. Reasoning: For a technical demonstration, the “True Physics” and “Live UI” visible in a real-time session are more valuable than cinematic lighting. We shifted to using OBS with CQP 16 encoding and enabled Camera Lag in the SpringArm component to simulate the smooth motion of the professional renderer without the technical overhead.


Section 2: Linux-to-Windows Cross-Compilation (Failed)

2.1 Overview

The goal was to allow developers working in the Arch Linux environment to build and package .exe files for Windows users directly from their Linux machines.

2.2 Roadblocks

2.3 Conclusion & Current Path

Status: Failed/Infeasible. Alternative: We implemented a Self-Hosted GitHub Action Runner on a dedicated Windows machine. Linux developers push code to the repo, and the Windows “Build Mule” automatically packages the .exe and uploads it.


Section 3: Sentry Editor-Mode Filtering (Implemented)

3.1 Overview

We integrated Sentry for crash reporting but found that it captured too many “false positives” from developers purposefully stopping the editor or encountering minor bugs during iteration.

3.2 Implementation

We created a C++ helper function IsRunningInEditor() using the WITH_EDITOR macro. This was used in a Blueprint gate within the BP_GameInstance.

3.3 Conclusion

Status: Successful. Result: Sentry only initializes if the sim is running as a standalone packaged build, unless a manual “Debug Reporting” toggle is checked in the GameInstance.


Section 4: VR Immersive Teleoperation (Concept)

4.1 Overview

The concept is to use a Meta Quest 2 headset to provide arm operators with actual depth perception. The operator would see the ZED camera feeds in 3D and use the Quest’s “head tracking” to move a gimbal-mounted camera on the rover.

4.2 Proposed Workflow

4.3 Known Hurdles


Notes for Future Developers