Skip to content

Latest commit

 

History

History
606 lines (570 loc) · 23.6 KB

CHANGELOG.rst

File metadata and controls

606 lines (570 loc) · 23.6 KB

Changelog for package mvsim

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 a 2D hash-map instead of naively visiting all objects.
  • ROS node: use correct QoS for gridmap publication, and ensure it is published only once.
  • ROS 2: turtlebot demo: Fix RViz wrong camera topic name
  • ROS 2 1robot demo: update rviz config
  • ROS 2: Use correct QoS for (possibly namespaced) /tf & /tf_static
  • FIX: demo_1robot ROS2 launch error (wrong order in listing ros launch arguments)
  • version.h
  • Contributors: Jose Luis Blanco-Claraco

0.11.0 (2024-10-12)

  • docs: add new demo world
  • Add ros2 launch for new demo world
  • Colission fixed for elevation meshes at high speed
  • New world demo: road circuit
  • ElevationMap: Add option for rotating texture images
  • Implement cylinder ground bumps
  • demo_1robot: add launch arguments headless and use_rviz
  • HorizontalPlane: also supports elevation API now
  • Implement moving vehicles over ramps and blocks in general
  • Remove #if for older mrpt versions
  • FIXBUG: 2D LaserScanner sensor wouldn't render custom visuals correctly if robot moves in 3D
  • Jackal robot model: Add new param "lidar2d_raytrace"
  • Finish texture partition of split meshes
  • Fix correct query point for determining elevation offset for blocks and vehicles
  • Automatically correct elevation of objects initialized on elevation maps
  • Move vehicle tilt calculation from ElevationMesh outside to World so it works with many other object types
  • source files: split simulation-related stuff into a new World_simul.cpp
  • CMake: prefer explicit file lists instead of file(GLOB ...)
  • Add getElevationAt() virtual interface for all Simulable objects
  • Update README.md
  • Fix headless ros param name in demo params YAML file
  • Use new assimp feature to improve rendering of transparent meshes
  • elevation map demo: add trees
  • docs: add link to 3D objects repository
  • fix build for ROS 1
  • ROS: publish camera_info too for each camera sensor Backwards-incompatible change: Camera topics now are named as: veh/camera_name/image_raw instead of veh/camera_name, so the corresponding camera_info exists within its same namespace: veh/camera_name/camera_info.
  • Contributors: Jose Luis Blanco-Claraco

0.10.0 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Merge pull request #52 from finani/fix-fake-amcl Fix fake amcl topic (QoS Durability)
  • Update outdated copyright years in source files
  • Merge pull request #51 from finani/nav2-compatible Nav2 compatible
  • Update codebase to new clang-format style
  • Merge pull request #48 from finani/refactoring-node Refactoring node
  • Merge pull request #45 from finani/develop Add tf pub for each robot (support namespace)
  • Merge pull request #43 from kr-jschoi/fix-bug Fix namespace switching bug between mvsim.chassis_shape and mvsim.chassis_shape.wheel3 in /chassis_markers
  • Contributors: Inhwan Wee, Jose Luis Blanco-Claraco, finani, kr-jschoi

0.9.4 (2024-05-08)

  • Better detection of "in collision" flag.
  • Update to clang-format-14
  • Upgrade Joystick API so it works correctly with an arbitrary number of axes
  • ROS nodes: add collision state publishers for each vehicle
  • remove dead code
  • Contributors: Jose Luis Blanco-Claraco

0.9.3 (2024-04-24)

  • Fix usage of (new explicit) TPoint3D constructors
  • Contributors: Jose Luis Blanco-Claraco

0.9.2 (2024-03-21)

  • BUG FIX: 3D lidars should not 'see' XYZ corners of wheels
  • BUG FIX: gridmaps were published at a too high rate in the ROS 2 node
  • remove dead code
  • update header version
  • Contributors: Jose Luis Blanco-Claraco

0.9.1 (2024-03-05)

  • Fix use of mrpt bridge to publish XYZIRT point clouds too for ROS 1
  • Contributors: Jose Luis Blanco-Claraco

0.9.0 (2024-03-02)

  • Do not publish tf world->map
  • Expose do_fake_localization as ROS 2 launch file argument
  • fix build with older mrpt
  • 3D Lidar: also generate "ring" ID per point
  • Contributors: Jose Luis Blanco-Claraco

0.8.3 (2023-12-05)

  • Generate ground truth trajectory files in the TUM format
  • ROS nodes: add a timeout for cmd_vel commands, so the robots stop if input messages stop
  • Add rviz_plugin_tutorials dependency for ROS1
  • Contributors: Jose Luis Blanco-Claraco, Michael Grupp

0.8.2 (2023-10-06)

  • 3D LIDARs: Bilinear interpolation (when it makes sense) to obtain much smoother point cloud simulations
  • Add missing build dep on python3-pip. This was triggering errors on ROS 1 build farm dev builds.
  • Contributors: Jose Luis Blanco-Claraco

0.8.1 (2023-09-07)

  • Move the rawlog-generation option to the World global options instead of sensor-wise.
  • Create CITATION.cff
  • helios 32fov70 sensor.xml: Fix missing MVSIM_CURRENT_FILE_DIRECTORY tag
  • Fix crash in edge case with world file path in the current directory
  • Contributors: Jose Luis Blanco-Claraco

0.8.0 (2023-09-02)

  • Recursive "include"s are now possible.
  • All vehicle and sensor definitions are now exposed in public directory 'definitions' and are safe to be included from user worlds
  • ROS warehouse demos: fix wrong camera topicn ame in rviz
  • Add missing ROS 2 launch demo for greenhouse world
  • Add new variable: MVSIM_CURRENT_FILE_DIRECTORY
  • BUGFIX: In parseVars() in the XML parser
  • Debugging feature: MVSIM_VERBOSE_PARSE now also traces <variable> definitions
  • Contributors: Jose Luis Blanco-Claraco

0.7.4 (2023-08-30)

  • Add new LIDAR 3D models: Helios 32.
  • Removed LIDAR3D fbo_nrows parameter, automatically computed now from geometry solutions.
  • More optimal simulation of asymmetric 3D lidars.
  • Progress with RTD documentation.
  • Add proper bibliography; fix all docs warnings
  • ROS 2 warehouse demo: show 2D lidar in RVIZ too; add headless launch argument
  • New GUI editor feature: move sensor poses
  • Contributors: Jose Luis Blanco-Claraco

0.7.3 (2023-08-23)

  • Update python module install method to pip (fixes deprecation)
  • Improved docs
  • Contributors: Jose Luis Blanco-Claraco

0.7.2 (2023-08-12)

  • Joystick driving: added support for direct driving the vehicles with a joystick.
  • Fix rviz for ros1 demo
  • Better docs and more modern RST style.
  • More shadow tuning parameters.
  • IMU sensor now reads real vehicle linear acceleration.
  • Contributors: Jose Luis Blanco-Claraco

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.3.0 (2022-03-04)

  • RGBD camera simulation
  • MRPT 2.x is now required to build mvsim.
  • Update build dep to mrpt2
  • License changed to 3-clause BSD.
  • Merge pull request #11 from SRai22/patch-1 Update install.rst: needs libprotobuf-dev and libpython3-dev for building from source
  • New checkboxes to see sensor poses and FOVs
  • Lidar: ignore parent body option
  • Lidar: realistic 3D raytrace mode
  • enable textures in planes
  • add support for ground and ceiling planes
  • clean elevation mesh code
  • save_to_rawlog option
  • register callbacks instead of virtual functions
  • New command "topic echo NAME"
  • Add support for intangible blocks; publish relative poses
  • Add support and example for standalone sensors
  • allow changing the server IP or address
  • add optional profiler to Client
  • Protect main socket with mutex
  • fix walls rendering; add new walls demo xml
  • allow custom user 3D objects
  • timelog format fix
  • show class name in timelogger
  • World: expose GUI object
  • GUI and minor tweaks
  • much faster models loading
  • fix wrong collision resetting
  • safer report collisions
  • Fix usage of the update_fps parameter
  • Fix build against mrpt 2.1.8
  • force build against python3
  • more standard python3 deb pkg generation
  • solved python pkg problem in bionic
  • fix python in bionic
  • debian: fix python3 install dir
  • add missing python3 dep
  • fix deb python packaging
  • remove useless cmake include
  • first fully-working set_pose from python
  • Progress with python wrappers
  • Enhance python wrapper
  • Document a minimum size limitation in box2d.
  • small preliminary test for camera sensor
  • Use newer mrpt-gui window manager
  • Fix wallHeight wall parameter correct usage
  • editor: basic rotate and move objects
  • refactor gui code into smaller methods
  • fix rendering of non-custom objects
  • functional replace by coordinates
  • Progress with replace GUI
  • progress with bbox rendering
  • progress with mouse move UI
  • refactor: unify all simulable objects in one list
  • update asserts to latest mrpt2 names
  • Better service response
  • safer multithread gui
  • avoid possible exception in serialization
  • Return collision state
  • Detect and report collisions
  • add setStatic method
  • progress debugging ramps
  • Add incremental set_pose srv
  • add get_pose() service
  • Import walls working
  • walls progress
  • progress loading wall models
  • Start doxygen integration in docs
  • fix not seeing the robot owns body
  • subscription works; example updated
  • Feature: XML variables parsing
  • update pybind11
  • done topic subscriptions; fix proper thread joinable checks.
  • basic subscription works
  • progress subscribe topics
  • fix crash upon exit due to unjoined threads
  • use -dbg postfix for debug libraries
  • implemented command topic list
  • docs on world xml parameters
  • fix visualization of sensors in custom viz models
  • add missing file
  • Add ZMQ monitor to connections
  • fix install include dir
  • fix copy pb hdr files
  • clear leftover traces
  • auto bbox from visuals
  • More modular debian packaging
  • services and set_pose() is working
  • progress implementing services
  • Blocks and vehicles publishes their pose
  • Large code refactor: - Use mrpt::math types for twist and points - Use smart pointers - Remove duplicated code via new methods in base class Simulable
  • done with publishTopic()
  • advertise topics
  • done list nodes command
  • implement query node list
  • refactor Client without parallel thread
  • refactor mvsim-cli sources
  • progress server
  • fix cmake exported targets
  • fix install
  • unregister nodes
  • basic python bindings
  • refactor into modules
  • progress with server parsing messages
  • verbosity levels in client
  • ignore files
  • refactor into one main cli tool: mvsim
  • zmq forwards header
  • add thread names
  • fix build against zmq<4.4
  • First zmq message interchanges
  • basic server thread infraestructure
  • progress defining client/server protocol
  • Add alternative 3D visualization to blocks and vehicles
  • start refactor for visual objects
  • fix -Werror error in u18.04
  • Add zmq and protobuf
  • prefer std::move
  • Enforce override keyword
  • use system logger instead of cout
  • avoid raw pointer for box2d instance
  • refactor param structures
  • fix opengl memory leak
  • Port to nanogui
  • done port to mrpt2
  • prefer nullptr
  • narrower mrpt dependencies
  • port docs to sphinx
  • add circle-ci
  • reorganize badges
  • fix main doc file
  • fix debian installed files path
  • use system libbox2d
  • add debian packaging files
  • modernize: cmake exported targets
  • show box2d system library version
  • cmake commands to lower case
  • Contributors: Jose Luis Blanco-Claraco, Shravan S Rai

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: MRPT/GSoC2017-discussions#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