I keep seeing this question come up, so here’s a quick rundown based on what I’ve used and what I’ve heard from others:
Gazebo-based (best ROS integration):
-
VRX — surface vehicles, most mature, active community
-
LRAUV — long-range AUV with DVL, deep-sea scenarios, very vehicle-specific
-
Orca4 — lightweight, BlueROV2 model
-
DAVE — built on UUV Simulator + WHOI’s ds_sim, focused on manipulation. Now has a ROS 2 Jazzy / Gazebo Harmonic port.
-
SUAVE — self-adaptive underwater vehicles
Non-Gazebo:
-
Stonefish — C++ library, better underwater rendering than Gazebo, popular in European labs
-
OceanSim — GPU-accelerated perception sim from Michigan
-
HoloOcean — UE5, multi-agent with acoustic comms modeling
-
SMaRCSim — Unity-based, multi-domain (underwater + surface + aerial)
My rough decision tree: if you need tight ROS integration and your focus is control/planning, go Gazebo. If you’re doing perception work and need realistic underwater visuals, look at Stonefish or OceanSim. If you need multi-agent with comms modeling, HoloOcean or SMaRCSim.
I would love to hear other people’s thoughts on simulation? What’s missing? Are there better tools out there?