mvsim
Vehicle and mobile robotics simulator. C++ & Python API. Use it as a standalone application or via ROS 1 or ROS 2
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, sciencedirect.com -
✓Committers with academic emails
1 of 9 committers (11.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords
Repository
Vehicle and mobile robotics simulator. C++ & Python API. Use it as a standalone application or via ROS 1 or ROS 2
Basic Info
- Host: GitHub
- Owner: MRPT
- License: bsd-3-clause
- Language: C++
- Default Branch: develop
- Homepage: https://mvsimulator.readthedocs.io/
- Size: 9.81 MB
Statistics
- Stars: 337
- Watchers: 11
- Forks: 51
- Open Issues: 8
- Releases: 8
Topics
Metadata Files
README.md
MultiVehicle simulator (MVSim)
Lightweight, realistic dynamical simulator for 2D ("2.5D") vehicles and robots. It is tailored to analysis of vehicle dynamics, wheel-ground contact forces and accurate simulation of typical robot sensors (e.g. 2D and 3D lidars).
This package includes C++ libraries, standalone applications, and ROS 1 and ROS 2 nodes.
License: 3-clause BSD License Copyright (C) 2014-2025 Jose Luis Blanco jlblanco@ual.es (University of Almeria) and collaborators
Please, refer to the MVSim SoftwareX paper (or the ArXiV preprint) for a gentle introduction to the project architecture. If you want to cite MVSim in your work, please use:
@article{blanco2023mvsim,
title = {MultiVehicle Simulator (MVSim): Lightweight dynamics simulator for multiagents and mobile robotics research},
journal = {SoftwareX},
volume = {23},
pages = {101443},
year = {2023},
issn = {2352-7110},
doi = {https://doi.org/10.1016/j.softx.2023.101443},
url = {https://www.sciencedirect.com/science/article/pii/S2352711023001395},
author = {José-Luis Blanco-Claraco and Borys Tymchenko and Francisco José Mañas-Alvarez and Fernando Cañadas-Aránega and Ángel López-Gázquez and José Carlos Moreno}
}
ROSCon talk
Spanish talk with English slides and subtitles (slides here):
Installation
See installation documentation for all the details and options.
The easiest way to install if you already have ROS 1 or ROS 2 is:
sudo apt install ros-$ROS_DISTRO-mvsim
Then jump to next steps to see how to launch some of the demo worlds.
Demo videos
https://github.com/user-attachments/assets/766db164-2d16-44f4-acbf-2f15b73c1ab3

Build matrix status
| Distro | Build dev | Build releases | Stable version |
| --- | --- | --- | --- |
| ROS 2 Humble (u22.04) | | amd64
arm64 |
|
| ROS 2 Jazzy @ u24.04 |
| amd64
arm64 |
|
| ROS 2 Kilted @ u24.04 |
| amd64
arm64 |
|
| ROS 2 Rolling (u24.04) |
| amd64
arm64 |
|
| EOL distro | Stable version |
| --- | --- |
| ROS 1 Melodic (u18.04) | |
| ROS 1 Noetic (u20.04) |
|
| ROS 2 Foxy (u20.04) |
|
| ROS 2 Iron (u22.04) |
|
Docs
If you clone this repository, remember to checkout the git submodules too:
git clone https://github.com/MRPT/mvsim.git --recursive
Launch demos
See more on first steps here.
Standalone:
mvsim launch mvsim_tutorial/demo_warehouse.world.xml
mvsim launch mvsim_tutorial/demo_2robots.world.xml
mvsim launch mvsim_tutorial/test_mesh.world.xml
ROS 1:
roslaunch mvsim demo_depth_camera.launch
ROS 2:
ros2 launch mvsim demo_warehouse.launch.py
ros2 launch mvsim demo_depth_camera.launch.py
Main features
- Lightweight in memory, CPU and library requirements.
- Fully configurable via
.xml"world" files. - Headless mode, suitable for dockerized environments.
- World maps:
- Occupancy gridmaps: input as images or MRPT binary maps (from icp-slam, rbpf-slam, etc.)
- Elevation meshes.
- Vehicle models:
- Differential driven (2 & 4 wheel drive).
- Ackermann steering (kinematic & dynamic steering, different mechanical drive models).
- Ackermann steering with mechanical differentials of full grade.
- Sensors:
- 2D and 3D Lidars: Robots see each other, their own bodies, etc.
- RGB cameras
- Depth cameras
- Interface to vehicles: Custom Python interface, or ROS. Choose among:
- Raw access to forces and motor torques.
- Twist commands (using internal controllers).
Owner
- Name: MRPT
- Login: MRPT
- Kind: organization
- Email: jlblanco@ual.es
- Location: Almería (Spain)
- Website: https://www.mrpt.org/
- Repositories: 31
- Profile: https://github.com/MRPT
Mobile Robot Programming Toolkit
Citation (CITATION.cff)
cff-version: 1.2.0
preferred-citation:
title: "MultiVehicle Simulator (MVSim): Lightweight dynamics simulator for multiagents and mobile robotics research"
doi: "10.1016/j.softx.2023.101443"
year: "2023"
type: article
journal: "SoftwareX"
url: https://www.sciencedirect.com/science/article/pii/S2352711023001395
codeurl: https://github.com/MRPT/mvsim/
authors:
- family-names: Blanco-Claraco
given-names: José-Luis
- family-names: Tymchenko
given-names: Borys
- family-names: Mañas-Alvarez
given-names: Francisco José
- family-names: Cañadas-Aránega
given-names: Fernando
- family-names: López-Gázquez
given-names: Ángel
- family-names: Moreno
given-names: José Carlos
GitHub Events
Total
- Create event: 11
- Commit comment event: 1
- Issues event: 6
- Watch event: 45
- Delete event: 3
- Issue comment event: 26
- Push event: 89
- Pull request review event: 2
- Pull request event: 16
- Fork event: 4
Last Year
- Create event: 11
- Commit comment event: 1
- Issues event: 6
- Watch event: 45
- Delete event: 3
- Issue comment event: 26
- Push event: 89
- Pull request review event: 2
- Pull request event: 16
- Fork event: 4
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jose Luis Blanco Claraco | j****c@g****m | 1,092 |
| Borys Tymchenko | t****r@g****m | 35 |
| finani | 1****i@g****m | 28 |
| Michael Grupp | g****p@m****u | 3 |
| Logrus | i****s@g****m | 2 |
| Fernando Cañadas | 1****a | 2 |
| kr-jschoi | j****i@t****i | 1 |
| Shravan S Rai | 8****2 | 1 |
| Julian Lopez Velasquez | j****2@e****o | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 27
- Total pull requests: 43
- Average time to close issues: about 1 month
- Average time to close pull requests: 1 day
- Total issue authors: 15
- Total pull request authors: 10
- Average comments per issue: 2.26
- Average comments per pull request: 1.14
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 14
- Average time to close issues: 5 days
- Average time to close pull requests: 3 days
- Issue authors: 3
- Pull request authors: 4
- Average comments per issue: 2.5
- Average comments per pull request: 1.93
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jlblancoc (9)
- omerfarukadastec (3)
- vinnnyr (2)
- SRai22 (2)
- racarla96 (1)
- fpi684 (1)
- Aposhian (1)
- wegunterjr (1)
- nocholasrift (1)
- askkl (1)
- finani (1)
- r-aguilera (1)
- francocipollone (1)
- Logrus (1)
- afrozsevenrobotics (1)
Pull Request Authors
- jlblancoc (21)
- finani (12)
- spsancti (6)
- MichaelGrupp (5)
- FerCanAra (2)
- Aposhian (2)
- kr-jschoi (2)
- Logrus (2)
- SRai22 (1)
- fpi684 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout master composite
- actions/checkout master composite
- sphinx >=4.3.0
- sphinx_design *
- sphinx_rtd_theme >=0.5.1
- sphinxcontrib-bibtex *
- protobuf *
- protoletariat *

