Unity ASV Simulator

I’m “releasing” a project I built for simulating surface vehicles in Unity (with ROS).

Here’s the project: GitHub - edvart-ros/unity_asv_sim: Simulation platform for Unmanned/Autonomous surface vehicles implemented in Unity, with ROS 2 integration.
The project is meant as a way to get started with ASV simulation in Unity, and is somewhat barebones, though it has a few features which makes setting up your own ASV simulation pretty easy, in my opinion. Since it’s Unity, its very easy to extend the simulator with custom behaviour using C# scripts.
Generally, I’ve found Unity to be quite nice to work with for robotics simulation, though there’s stuff Gazebo gives you for free that Unity doesn’t.

Key points and features:

  • Uses the Unity High Definition Rendering Pipeline (HDRP), making it easy to create realistic looking scenes with physically-based environments.
  • The HDRP Water System (quite new) is used to simulate the ocean
  • Includes a simplified water interaction implementation (water physics) which can be applied to custom vehicle models
  • Includes a variety of sensors, all publishing proper ROS data (lidar, RGB and depth camera, IMU)
  • Simple configurable propulsion system for automatic control


5 Likes

Very cool! Congratulations on the official release! What surface vehicles have you done testing with/are currently supported?

I’ve used the WAM-V for most of the development. I’ve tested a bunch of other vessels too, though. It’s easy to make stuff float, but I haven’t validated any of the hydrodynamics with real data. I wouldn’t use this simulator to tune a control system, but it’s useful for higher-level testing.

In this picture there’s 4 different vessels:

In the wiki, there’s a quick guide on how to setup a custom surface vehicle: Set up a custom scene with a custom USV · edvart-ros/unity_asv_sim Wiki · GitHub

1 Like

Looks great! Really appreciate the documentation. How can you change the wave parameters?

Thats all in the ocean object. Check Unity’s “HDRP Water System” docs Use the Water System in your Project | High Definition RP | 14.0.11

1 Like