Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/ual-arm-ros-pkg/mvsim.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-01-28 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/demo_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/demo_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/demo_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/demo_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/demo_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/demo_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/demo_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/demo_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/ual-arm-ros-pkg/mvsim.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-01-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/demo_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/demo_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/demo_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/demo_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/demo_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/demo_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/demo_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/demo_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/ual-arm-ros-pkg/mvsim.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-01-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/demo_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/demo_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/demo_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/demo_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/demo_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/demo_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/demo_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/demo_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_tutorials | |
| mrpt_path_planning |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/ual-arm-ros-pkg/mvsim.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-01-28 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/demo_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/demo_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/demo_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/demo_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/demo_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/demo_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/demo_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/demo_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/MRPT/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]
Messages
Services
Plugins
Recent questions tagged mvsim at Robotics Stack Exchange
Package Summary
| Version | 0.16.0 |
| License | BSD |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/ual-arm-ros-pkg/mvsim.git |
| VCS Type | git |
| VCS Version | develop |
| Last Updated | 2026-02-05 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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:
File truncated at 100 lines see the full file
Changelog for package mvsim
0.16.0 (2026-01-29)
- docs: add new demo worlds
- Remove debian leftover
- Merge pull request #78 from MRPT/feat/new-indoor-outdoor-world Feat/new-indoor-outdoor-world
- fix: ros node didn't publish CGenericPointsMap
- Functional walls with doors and windows with thickness
- Update vertical plane to have doors, windows, and thickness
- fix: lidar3d error with latest mrpt api
- docs: improve vehicles and physics docs
- CircleCI: update to build for u22.04
- Remove #if pragmas for too old mrpt versions
- Implement GNSS honor 'gps_no_coverage' property
- Add new world element: PropertyRegion
- misc clang-tidy fixes
- fix warnings for deprecated mrpt classes
- Merge pull request #70 from MRPT/feature/noisy-odometry Implement noisy odometry
- Implement noisy odometry
- Contributors: Jose Luis Blanco-Claraco
0.15.0 (2025-12-29)
- Fix build against upcoming mrpt 2.15.4
- Implement missing visualization of 3D LiDAR FOV 'frustrum'
- Merge pull request #69 from MRPT/feat/imu-with-heading IMU sensor: add support for optional global heading sensor
- Implement IMU sensor orientation mode
- Fix clang-tidy style warnings
- Fix misused get parameter API usage for use_sim_time
- cmake now builds embedded box2d using --parallel
- Contributors: Jose Luis Blanco-Claraco
0.14.2 (2025-11-10)
- Fix cmake requested mrpt 2.5.6, made version-less for forward compatibility
- Contributors: Jose Luis Blanco-Claraco
0.14.1 (2025-11-01)
- Fix build against mrpt >2.15.0
- Remove dead code used for very old MRPT versions
- Clarify docs on session logging
- Contributors: Jose Luis Blanco-Claraco
0.14.0 (2025-07-06)
- Merge pull request #67 from MRPT/wip/fpi Add Tire-Force Ellipse (Friction Ellipse) method (Student Project by Francisco Pérez Ibáñez) Co-authored-by: Francisco Pérez Ibáñez <<fpi684@inlumine.ual.es>>
- scripts: better force plots
- fix: build against later tf2
- Update README.md: Mark Noetic as EOL
- better integration with VSCode and colcon
- Modernize the CsvLogger interface: more efficient, better log file names, does log more details on each wheel
- Copyright notices: update year
- Update CI to use u24.04, remove obsolete u20.04
- Contributors: Jose Luis Blanco-Claraco, Francisco Pérez Ibáñez
0.13.3 (2025-05-28)
- Readme: add new demo video and add Kilted badges
- Format: space indentation in main cmake file
- Fix build after deprecation of ament_target_dependencies()
- Update broken link to ROS Index
- Contributors: Jose Luis Blanco-Claraco
0.13.2 (2025-02-05)
- FIX: another missing if() protecting access to uninitialized js data
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.13.1 (2025-02-04)
- Merge pull request #65 from MRPT/fix/no-joystick-crash BUGFIX: Crash due to access uninitialized memory when no joystick is …
- BUGFIX: Crash due to access uninitialized memory when no joystick is found
- Merge pull request #64 from MRPT/feature/new-dem-param New offset parameters for DEM XYZRGB files
- New offset parameters for DEM XYZRGB files
- greenhouse demo world: add ROS 1 launch file too
- version.h
- Contributors: Jose Luis Blanco-Claraco
0.13.0 (2024-12-24)
- Add ROS1 generic launcher
- Port demos to the generic ros2 launch file so all rosargs are now exposed in all demos
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mrpt_path_planning | |
| mrpt_rbpf_slam |
Launch files
- launch/launch_world.launch
- Generic ROS1 launch file
-
- world_file
- headless [default: False]
- do_fake_localization [default: True]
- publish_tf_odom2baselink [default: True]
- force_publish_vehicle_namespace [default: False]
- use_rviz [default: True]
- rviz_config_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.rviz]
- mvsim_tutorial/ros1_1robot.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_1robot.world.xml]
- mvsim_do_fake_localization [default: true]
- mvsim_tutorial/ros1_2robots.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_2robots.world.xml]
- mvsim_tutorial/ros1_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_camera.world.xml]
- mvsim_tutorial/ros1_depth_camera.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_depth_camera.world.xml]
- mvsim_tutorial/ros1_greenhouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_greenhouse.world.xml]
- headless [default: false]
- mvsim_tutorial/ros1_jackal.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_jackal.world.xml]
- mvsim_tutorial/ros1_turtlebot_world.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_turtlebot_world.world.xml]
- mvsim_tutorial/ros1_warehouse.launch
- ROS1 launch file. See *.launch.py files for ROS2 launch files
-
- world_file [default: $(find mvsim)/mvsim_tutorial/demo_warehouse.world.xml]

