A Smoother Transition from Simulation to Real Hardware: ProSim Fully Embraces ROS 2
Many drone development teams have encountered the same situation: the real aircraft has already migrated to ROS 2, while the simulation environment is still running on ROS 1. Although the algorithms themselves can be reused, the message interfaces, communication links, and launch methods still need to be adapted, leaving a persistent barrier between simulation validation and deployment on real hardware.
PrometheusSim-ROS2 was created precisely to solve this problem.
Our goal is to enable simulation and real hardware to share the same functional code wherever possible. As Prometheus V3 upgraded to Ubuntu 22.04, ROS 2 Humble, PX4 v1.15, and XRCE-DDS, ProSim also completed an upgrade of its underlying technology stack.
The one-click Windows + WSL2 deployment method remains available, while the underlying engine, communication architecture, and control, planning, and vision demos have all migrated to ROS 2. The three original functional modules have been fully retained and adapted and optimized for ROS 2 communication mechanisms and workflows, enabling a smoother transition from simulation validation to real-hardware deployment.
01
Start with the Foundation: What Has Changed?

Technical Highlights
• Say goodbye to the MAVROS translation layer: Communication between the flight controller and ROS no longer passes through MAVLink. PX4's native uXRCE-DDS connects directly to ROS2, shortening the link, keeping messages closer to uORB, and matching the V3 approach to real-hardware communication. The move from MAVROS to DDS upgrades more than the communication protocol: it aligns the complete control, planning, and vision demos with the Prometheus V3 release line and strengthens the practice of sharing functional code between simulation and real hardware.
• Visuals upgraded to UE5: Lighting, materials, and scene details are closer to real-world shooting conditions, increasing confidence in vision-algorithm simulation results.
• Independent WSL subsystem: PrometheusSim-ROS2 and the legacy PrometheusSim-20.04 can coexist without interfering with each other.
02
Control Functions
Familiar Interfaces, Smoother Integration and Debugging
After the upgrade to ROS2, Prometheus did not redesign the control system. Interfaces for position and velocity control in the inertial frame / body frame, trajectory tracking, longitude / latitude / altitude, attitude, and more are all retained. The INIT -> RC_POS -> COMMAND_CONTROL -> LAND state machine also preserves the semantics of the ROS1 version.
The real changes are under the hood: the communication stack and launch method have been upgraded, and the ground-station integration and debugging experience has been improved accordingly.
Basic Flight Control (Takeoff / Landing / Hover)
• Works without a remote controller: For simulation, the ground station can arm and take off with one click.
• Upgraded communication link: Control commands reach PX4 directly via XRCE-DDS, eliminating the MAVROS middleware layer and reducing integration-test latency and resource consumption.
Multi-Frame Control (Inertial Frame / Body Frame / Longitude, Latitude, and Altitude)
• Aligned with the Prometheus V3 release line: Control messages and the state machine run on ROS2 Humble + px4_msgs, in the same generation as the V3 Pioneer, reducing the hidden cost of software that flies in simulation but must be modified for real hardware.
03
Planning Functions
Upgraded ProSim Obstacle Avoidance with Switchable Localization Sources
The ROS2 version fully migrates the Ego Planner obstacle-avoidance pipeline to the ProSim + UE5 simulation front end. Sensor x localization-source combinations have been preconfigured, so each can be loaded directly from the launch menu.
GPS Localization + Depth-Camera Obstacle Avoidance
• Depth images feed directly into Ego Planner: The ProSim depth camera's point cloud is connected to the planner; set a 3D Nav Goal in RViz2 and the vehicle flies to it.
• One-click launch from the ground station: Click the depth-obstacle-avoidance button to start planning + RViz2, eliminating the need to manually assemble launch commands across multiple terminals.

Mid360 LiDAR Localization + Depth-Camera Obstacle Avoidance
• FAST-LIO indoor localization integrated: Mid360 point clouds are used by FAST-LIO for mapping and localization, allowing the system to validate localization and depth-based obstacle avoidance within the same ROS2 pipeline. The localization source can be viewed and switched in the ground station.
• Combined validation of LiDAR localization + vision planning: Troubleshoot localization accuracy and planning responsiveness in the same simulation, better matching real-hardware integration and debugging workflows.

GPS Localization + LiDAR Obstacle Avoidance
• Geometry-based obstacle avoidance using LiDAR point clouds: LiDAR point clouds feed into Ego Planner, providing cleaner geometric constraints and making this setup suitable for validating obstacle avoidance in LiDAR scenarios.
• Shared planning framework with depth-based obstacle avoidance: The same click-to-set interaction in RViz2 is used; switching sensors only requires a different launch configuration, reducing the learning curve.

Mid360 LiDAR Localization + LiDAR Obstacle Avoidance
• End-to-end LiDAR-only pipeline: Mid360 localization + LiDAR obstacle avoidance, with no dependency on GPS or a depth camera, suitable for algorithm validation indoors or in weak-GPS environments.
• One-click switching of localization source and planning: After selecting the Mid360 localization source in the ground station, click LiDAR Obstacle Avoidance to enter the demo directly. The workflow matches that used on real hardware.

04
Vision Functions
The ROS1 vision demos were based on SpireCV, SpireCV-ROS, and UE4 scenes. The ROS2 version integrates SpireCV-Pro + a ROS2 bridge, upgrades the detection model to YOLOv11, and validates the tracking and landing pipelines in a closed loop using UE5's high-fidelity visuals.
YOLO Click-to-Track for People
• LiteTrack + closed-loop control: SpireCV detects people, while prosim_yolov5_tracking computes body-frame velocity from the target's relative position and writes it to the flight command: left-click to lock on, right-click to cancel. Under the hood is a complete detection-tracking-vehicle-control loop, not just drawn bounding boxes.
• Synchronized upgrades to the perception model and engine: UE5's more realistic lighting and motion blur provide tracking algorithms with inputs closer to real-world conditions; one click on "Person Tracking" in the ground station starts the entire pipeline.

General Object Detection
• YOLOv11 GPU detection: Upgraded from YOLOv5 in the ROS1 version to YOLOv11. The detection node processes the simulated video stream and outputs targets and confidence scores in real time.
• ROS2-based perception front end: The detection pipeline runs on the SpireCV-Pro + ROS2 stack and can then feed tracking or mission logic.

Developer Experience and Use Cases
Developer Experience
• Get started in 20 minutes: PromeToolsEX_ROS2, a one-click toolkit for Windows 11+: UE5 simulation runs on Windows, PX4 / ROS2 runs in WSL2, and the installation script automatically configures the PrometheusSim-ROS2 subsystem.
• Commonly used capabilities consolidated into ground-station buttons: Trajectory control, person tracking, LiDAR obstacle avoidance, depth-based obstacle avoidance, and general object detection: connect, take off, and select a function, instead of assembling terminal commands from scratch every time.
Use Cases
• Universities / research: Validate control, planning, and vision algorithms on a ROS2 + V3-generation stack, reducing migration costs.
• Secondary development: Complete, validated, ready-to-run demos are provided for control, planning, and vision. Users can modify and extend them directly without building the simulation pipeline and functional framework from scratch.
Before real-hardware testing: First verify path planning and obstacle avoidance, vision tracking, and QR-code landing in simulation, then use real hardware for the final-mile confirmation.
