A simulation environment built on Gazebo and ROS 2 for testing unmanned surface vehicles in marine scenarios, based on RobotX competition tasks.
MRPT/mvsim
Lightweight 2.5D dynamics simulator for wheeled mobile robots and vehicles, usable standalone, via ROS 1/2, or from C++ and Python.
- Stars
- 421
- Forks
- 64
- Open issues
- 4
- Last commit
- yesterday
What is it?
MVSim, short for MultiVehicle Simulator, simulates wheeled robots and vehicles with dynamics, sensors and multi-agent interaction. Worlds are defined in XML files, so most experiments need no code changes. It runs as a standalone application, as a ROS 2 node, or embedded in a C++ or Python program, and supports headless operation for CI pipelines and Docker containers.
Vehicle models include differential drive, Ackermann steering with kinematic or dynamic control, and articulated trailer-style vehicles. The sensor set covers several 3D and 2D LiDAR models, RGB and RGBD cameras, IMU with noise and bias, and GNSS. Vehicles in the same world can detect each other through LiDAR.
Worlds can include occupancy grid maps, elevation meshes, textured 3D blocks, friction zones and multi-storey environments. Data is exposed through ROS 2 topics, TF and parameters, or through ZMQ and Protobuf for custom clients.
Key features
- 01Vehicle models for differential drive, Ackermann steering and articulated vehicles.
- 02LiDAR, camera, IMU and GNSS sensor simulation with configurable noise.
- 03Multi-vehicle worlds where robots detect each other through LiDAR.
- 04XML-based world configuration with maps, terrain and friction zones.
- 05Standalone, ROS 2, C++ library and Python interfaces, with headless mode.
Use cases
- Testing navigation or control algorithms for wheeled robots before hardware is available.
- Running multi-robot or multi-agent experiments in warehouse or outdoor scenarios.
- Generating simulated sensor data such as LiDAR or RGBD for perception research.
- Running automated simulation tests in CI pipelines or Docker containers.
Quick start
- 1
Install the ROS 2 package via apt
sudo apt install ros-$ROS_DISTRO-mvsim - 2
Launch a standalone demo world
mvsim launch mvsim_tutorial/demo_warehouse.world.xml
Things to know
- Build from source requires the cmake or colcon steps described in the full installation guide.
- The ROS 2 install path depends on your ROS 2 distro, and ROS 1 distros are end-of-life.
In collections
Topics
FAQ
- What is mvsim?
- Lightweight 2.5D dynamics simulator for wheeled mobile robots and vehicles, usable standalone, via ROS 1/2, or from C++ and Python. MVSim, short for MultiVehicle Simulator, simulates wheeled robots and vehicles with dynamics, sensors and multi-agent interaction. Worlds are defined in XML files, so most experiments need no code changes. It runs as a standalone application, as a ROS 2 node, or embedded in a C++ or Python program, and supports headless operation for CI pipelines and Docker containers.
- Is mvsim free to use? What license does it have?
- mvsim is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
- Is mvsim still maintained?
- Actively maintained. The last commit to mvsim was on Nov 6, 2026.
- What can I use mvsim for?
- Testing navigation or control algorithms for wheeled robots before hardware is available. Running multi-robot or multi-agent experiments in warehouse or outdoor scenarios. Generating simulated sensor data such as LiDAR or RGBD for perception research. Running automated simulation tests in CI pipelines or Docker containers.
- How do I install mvsim?
- Install the ROS 2 package via apt: sudo apt install ros-$ROS_DISTRO-mvsim Launch a standalone demo world: mvsim launch mvsim_tutorial/demo_warehouse.world.xml
- Where can I get mvsim?
- The source code and installation instructions are on GitHub: https://github.com/MRPT/mvsim
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Unreal Engine-based simulator for drones, cars and other vehicles, extended by Cosys-Lab with new sensor models and APIs.
Open-source robot simulator for modeling, programming and simulating robots, vehicles and mechanical systems.
An open-source, engine-independent simulator for drones, fixed-wing aircraft and ground vehicles, with optional Unreal Engine 5 rendering.
Open source robotics simulator with physics, 3D rendering, sensor models and a graphical interface, the latest version of Gazebo.
An open-source ROS 2 Jazzy and Gazebo Harmonic simulation stack for autonomous mobile robots, covering mapping, localization and Nav2 navigation.