Changelog for package mvsim
0.7.1 (2023-06-11)
- ROS node: fix potential race condition creating publisher for highrate sensors
- Add IMU sensors
- New property <visual enabled='true|false'>
- lidar2d xml: add option "sensor_custom_visual"
- FIX: Crash if launching an empty world
- Trigger an error if using use_sim_time to avoid mistakes
- Add new (fake) controller: twist_ideal
- ROS 1: don't enforce /use_sim_time
- Add ROS 2 launch for the 2-robot demo
- Fix cmake leftover
- Contributors: Jose Luis Blanco-Claraco
0.7.0 (2023-04-21)
- Automatic detection of collision shapes
- Add turtlebot world demo
- Rely on custom build of Box2D to increase the maximum polygon vertices count (8 to 12).
- fix inconsistent use_sim_time value for ROS 2 (it should be false)
- Expose shadow rendering parameters in the XML world file
- Abort simulation on exceptions in headless mode too
- ROS 1 and 2 nodes now quit cleanly and quickly with SIGINT
- Add ros2 launch for turtlebot world demo
- Automatic determination of zmin/zmax for blocks if not explicitly set in XML
- Force c++17 for python module
- Exit simulator on exceptions in GUI-related threads
- More automated testing
- Add unit tests in C++ too
- Refactor collision shape determination
- New UI checkbox: show collision shapes
- Allow simply geometry definitions without external 3D model file for "blocks"
- Light options are now under <light> XML tag.
- Largest default physics simulation timestep changed from 50ms to 5ms
- GUI: change light direction
- Add GUI checkbox to enable/disable shadows
- Add rplidar A2 sensor model
- Contributors: Jose Luis Blanco-Claraco
0.6.1 (2023-03-04)
- New XML parameters to enable and tune shadowmap generation
- Use finer timestep for prevent wrong simulation of ramp sliding
- Fix code notation
- Temporary workaround to GH CI problem
- Contributors: Jose Luis Blanco-Claraco
0.6.0 (2023-02-26)
- Support for SkyBox rendering (requires MRPT >=2.7.0)
- More camera options in world.xml files (initial azimuth, elevation, etc.)
- Terrain elevation models now support repeated textures (requires MRPT >=2.7.0)
- Faster 3D Lidar rendering (Requires MRPT >=2.7.0)
- Add Ouster OS1 sensor file
- Fix default friction coefficients; draw motor torques too
- More accurate Velodyne simulation based on sensor_rpm parameter
- Clearer code and code style conventions
- Add "<static>" XML tag for large, static world objects
- Support for XML tag <if ...>
- Refactor xml parser as a registry of tag->function
- Examples renamed for conciseness: 'mvsim_demo_*' to 'demo_*'
- Added a "greenhouse" example world
- Wheels: allow linked-yaw-objects in vehicle viz
- Support several <visual> tags in custom visualization models
- pybind11 sources simplification.
Simplify into one single source tree with conditional compilation for different pybind versions.
- Emit clearer warnings and earlier detection of wrong bounding boxes
- Add reference to (preprint) paper
- Controllers: Made threadsafe
- Contributors: Fernando CaƱadas, Jose Luis Blanco-Claraco
- BUGFIX: program did not quit if using a non-existing launch file.
- BUGFIX: unneeded friction coefficient for chassis body
- BUGFIX: bbox for compound vehicle models
- BUGFIX: <for> loops ignored more than one inner tag
- BUGFIX: Add epsilon value for bbox determination in 3D models
0.5.2 (2023-01-27)
- FIX build farm errors in armhf builds
- Contributors: Jose Luis Blanco-Claraco
0.5.1 (2023-01-26)
- FIX: Stuck unit test runs in armhf build farms
- Add demo with a large number of robots (100) in a simple setup
- Support <for> loops in world definition files
- Contributors: Jose Luis Blanco-Claraco
0.5.0 (2023-01-09)
- New warehouse demo world file, including ros2 launch.
- New feature: download models from remote servers.
- Add 3D Lidar sensor.
- Add support for headless simulations (mvsim launch --headless), suitable for running inside docker containers
- New world element: vertical planes.
- Add <for /> loops in XML world files
- Support for formulas in XML files via exprtk expressions
- Fix naming convention; fix warnings
- Move to clang-format-11
- More consistent class member naming convention
- Add simple Velodyne sensor DAE model
- Add wget as build and runtime dep
- PubSub system: Implemented the feature to notify subscribed clients about a new publisher for a topic
- New 3D model: pioneer3
- ROS: Add build and test dep python3-protobuf
- Added unit tests
- mvsim cli: add the --realtime-factor flag
- more topic echo types
- publish 2D lidar observations as custom protobuf msgs too
- Add new protobuf msg type ObservationLidar2D.proto
- add shutdown service
- Fixed Python topic subscription and parsing
- avoid potential crash during shutdown
- FIX: Timelogger verbosity level is now copied from the main World object.
- BUGFIX: Lidar sensors with ignore_parent_body=true should neither see the wheels
- Tune PID parameters of examples
- Refactoring and simplification of mutexes
- cache GetServiceInfoRequest() calls (more efficient service calls in comms::Client)
- factorize World services into its own .cpp file for clarity
- Contributors: Jose Luis Blanco-Claraco
0.4.3 (2022-11-14)
- add names to gl objects (useful to debug)
- configurable gui open timeout
- GUI: new button Editor->Export 3Dscene file
- Add a warning if using a physics timestep is incompatible with the sensor periods
- FIX: more accurate simulation of timesteps; more mutexes
- automatic determination of timestep; FIX bug: constant offset in simul time
- fix FBO api for mrpt 2.5.6
- fix build against mrpt 2.5.6; fix infinite loop while hitting quit button
- refactor TCLAP objects to avoid global object initialization fiasco crashes
- handle old and new versions of tf_geometry_msgs
- mvsim cli new command: topic hz
- Fix ROS2 obsolete header
- fix build for u18.04
- fix for older zmq versions
- fix newest zmq deprecated warnings
- FIX: DAE file error to load on newer version of assimp
- provide cmake config types for gcc sanitizers
- fix zmq API in bionic
- avoid zmq_message_t ctor; more parallel threads for ZMQ
- make the get_pose() service to answer immediately without needing to acquire the main simulation mutex
- fix escaping
- more portable makefile comparison for libbox2d version
- d/rules: auto detection of system libbox2d version
- Contributors: Jose Luis Blanco-Claraco
0.4.2 (2022-10-19)
- Disable Python wrappers for python <3.8
- Honor DESTDIR when building and installing
- Honor cli-provided PYTHON_INSTALL_DIRECTORY via cmake flags
- Fix protobuf-generated broken Python3 imports (using protoletariat)
- Add new WorldElement type: pointcloud
- Add Python3 example for teleop twist
- Contributors: Jose Luis Blanco-Claraco
0.4.1 (2022-10-13)
- Add more documentation, demo files, and screenshots
- Support animations from keyframe list for blocks and vehicles
- Refactor common xml params in Simulable interface
- Support PARENT_NAME usage in sensor definition files; add "<publish>" tags to tutorial sensors
- 2D lidar sensor: new XML parameter maxRange
- change threshold to decimate sensors preview subwindows
- BUGFIX: Uninitialized quaternion in rviz marker (Closes #14)
- Allow expressions in include tags
- Expose more lidar params in its XML
- Contributors: Jose Luis Blanco-Claraco
0.4.0 (2022-09-27)
- Major new release with tons of new features.
- New sensors: RGB, depth, RGB+D cameras
- Support for ROS1 and ROS2.
- Sensors now can have 3D models.
- New GUI controls to customize visualization.
- New 3 and 4 wheels differential kinematic models.
- Allow "include"s in XML files.
- Add 3D Jackal robot model.
- ROS nodes: publishers in parallel thread
- mvsim-cli new flag to enable full profiling
- Use new nanogui feature to limit GUI refresh rate
- Fix running faster than real-time
- More consistent timestamping of simulated sensors
- mvsim now shows program version info
- get_pose() service now also gets twist
- Fix elevation maps
- pybind11 per-version directory
- Remove trailing '/' in tf frame names for consistency with modern conventions.
- Rename COPYING -> LICENSE
- Contributors: Jose Luis Blanco-Claraco
0.3.2 (2022-06-21)
- Install models/ subdirectory too
- Changes towards building for both ros1 & ros2
- Copyright date bump
- Fix build and dependencies for ROS1.
- Fix build w/o python
- Fix consistent include path for installed targets
- BUGFIX: Fix random SIGSEGV due to unsafe shared global object for random number generation
- Fix no installation of mvsim_msgs python module
- Fix demo robot starts out of the map
- Contributors: Jose Luis Blanco-Claraco
0.3.1 (2022-04-25)
- update 2 robots demo
- Add pybind11 as build dep
- fix ros node compilation
- fix build w/o ros
- Fix compilation of the ROS1 node against the latest mvsim libraries
- Fix cmake policy error in pybind11
- Add missing ros deps
- Add missing build dep box2d-dev
- Update README.md
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco
0.2.1 (2019-04-12)
- Fix build against latest mrpt-master & 1.5.x versions.
- add ROS build farm badges
- Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco, Julian Lopez Velasquez
0.2.0 (2018-06-28)
- fix build against mrpt1
- update to package XML format 2
- fix build in mrpt 2.0
- use docker in travis
- Allow mvsim to be built w/o ROS again
- Merge pull request #10 from spsancti/master
GSoC contribution to mvsim
See discussion thread: https://github.com/MRPT/GSoC2017-discussions/issues/2
- Added description of world files
- Added description of loggers and Ward-Iagnemma friction model
- Added refernce to Torsen-defferntial
- Added desctiption of Ackermann-drivetrain dynamics
- Added Doxyfile
- Added user manual with basic friction model described
- Added text logger for CSV format
- Add mvsim slam demo.
- fix catkin deps: it now requires mrpt_bridge
- LaserScanner: new option to make all fixtures invisible
- Contributors: Borys Tymchenko, Jose Luis Blanco Claraco, Logrus
0.1.2 (2015-05-24)
- Cleaner build against mrpt 1.3.0
- Fix build against mrpt 1.3.0
- Contributors: Jose Luis Blanco
0.1.1 (2014-12-28)
- First public release.
- Contributors: Jose Luis Blanco