Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
jazzy

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
kilted

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
rolling

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
foxy

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
iron

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
lunar

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 1 Noetic (u20.04) Build Status amd64 Build Status
arm64 Build Status
armhf Build Status
Version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
jade

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 1 Noetic (u20.04) Build Status amd64 Build Status
arm64 Build Status
armhf Build Status
Version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
indigo

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 1 Noetic (u20.04) Build Status amd64 Build Status
arm64 Build Status
armhf Build Status
Version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
humble

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
kinetic

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 1 Noetic (u20.04) Build Status amd64 Build Status
arm64 Build Status
armhf Build Status
Version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
melodic

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange

Package symbol

mvsim package from mvsim repo

mvsim

ROS Distro
noetic

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

A lightweight multivehicle simulation framework.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mvsim Documentation Status CI Linux CI Check clang-format

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):

MvSim ROSCon talk

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

screenshot-demo

MvSim intro

Build matrix status

Distro Build dev Build releases Stable version
ROS 2 Humble (u22.04) Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Jazzy @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Kilted @ u24.04 Build Status amd64 Build Status
arm64 Build Status
Version
ROS 2 Rolling (u24.04) Build Status amd64 Build Status
arm64 Build Status
Version
EOL distro Stable version
ROS 1 Melodic (u18.04) Version
ROS 1 Noetic (u20.04) Version
ROS 2 Foxy (u20.04) Version
ROS 2 Iron (u22.04) Version

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mvsim at Robotics Stack Exchange