MRPT/mvsim
Vehicle and mobile robotics simulator. C++ & Python API. Use it as a standalone application or via ROS 1 or ROS 2
What it solves
MVSim provides a lightweight yet realistic 2.5D dynamics simulator for mobile robots and multi-agent research. It bridges the gap between overly simplistic simulators and computationally heavy ones, allowing researchers to run large-scale experiments with multiple vehicles while maintaining accuracy in dynamics and sensor simulation.
How it works
The simulator uses XML world files for configuration, meaning users can set up environments and robot fleets without changing the source code. It supports various vehicle dynamics models (differential, Ackermann, and articulated) and implements realistic friction models (Coulomb, Ward-Iagnemma, and ellipse). For sensing, it simulates 2D/3D LiDARs, RGB and RGBD cameras, IMUs, and GNSS/GPS.
It can be operated in several ways:
- Standalone: Running as a dedicated application.
- ROS 2 Node: Integrating directly into the Robot Operating System 2 ecosystem.
- Embedded: Used as a C++ or Python library within a custom application.
- Headless: Running without a GUI for CI/CD pipelines or Docker containers.
Who it’s for
Researchers and developers working on mobile robotics, multi-agent systems, and sensor research who need a fast, configurable simulator that integrates with ROS 2.
Highlights
- Multi-Agent Support: Robots can sense each other via LiDAR in shared environments.
- Diverse Dynamics: Includes car-like Ackermann steering and trailer-style articulated vehicles.
- Comprehensive Sensor Suite: Simulates industry-standard hardware like Velodyne and Ouster LiDARs.
- Flexible Integration: Supports ROS 2, ZMQ/Protobuf, Python, and C++ interfaces.
- Environment Variety: Supports occupancy grids, elevation meshes, and custom 3D meshes.
Related
- Project
- Project
- Project
- Project
- Project