Package Summary
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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-2024 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
Build matrix status
EOL distro | Stable version |
---|---|
ROS 1 Melodic (u18.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
File truncated at 100 lines see the full file
Changelog for package mvsim
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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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-2024 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
Build matrix status
EOL distro | Stable version |
---|---|
ROS 1 Melodic (u18.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
File truncated at 100 lines see the full file
Changelog for package mvsim
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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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-2024 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
Build matrix status
EOL distro | Stable version |
---|---|
ROS 1 Melodic (u18.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
File truncated at 100 lines see the full file
Changelog for package mvsim
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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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-2024 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
Build matrix status
EOL distro | Stable version |
---|---|
ROS 1 Melodic (u18.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
File truncated at 100 lines see the full file
Changelog for package mvsim
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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | DEVELOPED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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
Tags | No category tags. |
Version | 0.13.3 |
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 | 2025-06-20 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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
- create generic launch_world ros2 file
- ROS node: new param "publish_tf_odom2baselink"
- ROS2 warehouse demo launch: add use_rviz argument
- Update README.md: Mark ROS2 Iron as EOL
- Readme: remove obsolete ROS1 wiki link
- ElevationMap from XML: Ensure trimmed input string in kernel
- Alternative reference method for UTM world coordinates
- Implement world georeferenciation via UTM zone number
- Fix targets order for prev commit
- Fix build without ZMQ
- Contributors: Jose Luis Blanco-Claraco
0.12.1 (2024-12-04)
- Merge pull request #58 from MichaelGrupp/fix-navsatfix-ros1 Fix ROS1 build
- Merge pull request #59 from MichaelGrupp/fix-segfault Fix segfault caused by uninitialized publisher
- Fix segfault caused by uninitialized publisher Crash occurs for example when running the demo_warehouse.launch with ROS 1. Debug build + gdb revealed that the issue was this publisher.
- Contributors: Jose Luis Blanco-Claraco, Michael Grupp
0.12.0 (2024-12-04)
- DEM: add optional kernel filtering
- document GPS sensors
- Add new <marker> tag
- Update README.md: Add link to ROSCon video
- Fix loss of precision in box2d due to float in case of UTM coordinates
- Merge pull request #57 from MRPT/wip/support_utm_coords Support UTM coords
- Elevation queries: port float->double
- Support world-wise coordinates offset for rendering
- Elevation map: new input mode from DEM XYZRGB files
- Moved Python and C++ tutorials directory to root level
- Logger: show active logging status in GUI; better reordering of csv columns
- Fix doxygen docs generation on RTD
- ROS node: new argument "force_publish_vehicle_namespace"
- Allow vehicle names to be parameterizable via expressions, environment variables, etc.
- FIX: Wrong sensor pose rendering
- Elevation map demo world: add GNSS sensor
- LiDAR3D sensor: generate per-point timestamp (constants)
- FIX: cmake export dependency on mrpt-topography
- ROS node: publish NavSatFix messages
- Add missing build dependency
- Fix clang-format
- Add new sensor: GNSS (GPS) devices
- IMU C++ class: fix interface to replace the sensor with the GUI
- imu.sensor.xml: Add a simple 3D model to visualize the sensor
- Contributors: Jose Luis Blanco-Claraco
0.11.2 (2024-10-20)
- Fix FTBFS in ROS 1
- Contributors: Jose Luis Blanco-Claraco
0.11.1 (2024-10-17)
- Great performance improvement for worlds with many (>100) block objects. Terrain elevation query function has been refactored to use
File truncated at 100 lines see the full file
Wiki Tutorials
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/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]