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