Mrpt Versions Save

:zap: The Mobile Robot Programming Toolkit (MRPT)

2.11.6

4 months ago

Version 2.11.6: Released Jan 13th, 2024

  • Changes in libraries:
    • \ref mrpt_obs_grp
      • mrpt::obs::CObservation::load() is now protected with a std::mutex for safe multi-threading usage.
    • \ref mrpt_nav_grp
      • mrpt::nav::CPTG_DiffDrive_alpha now has a "K" parameter for generating backwards trajectories too.
  • BUG FIXES:
    • Fix wrong filenames in rawlog-edit --externalize when sensor labels contain the / character (e.g. mimicking ROS topic names).
    • Fix crash in mrpt::ros2bridge::toROS() for XYZIRT point clouds.
    • Fix exception while rendering paths in the ptg-configurator application.
    • Fix potential race condition in mrpt::obs::CObservation3DRangeScan.

2.11.5

5 months ago

Version 2.11.5: Released Dec 21st, 2023

  • Changes in libraries:
    • \ref mrpt_maps_grp
      • New method mrpt::maps::CPointsMap::insertPointFrom() (and associated auxiliary methods) to easily copy points between different point clouds with different fields (timestamp, ring, RGB, etc.).
    • \ref mrpt_obs_grp
      • mrpt::maps::CSimpleMap changes:
        • Added an optional twist field.
        • Simplified API for preferred usage with structured binding tuples.
    • \ref mrpt_system_grp
      • More readable results in mrpt::system::unitsFormat() for the special case of exactly 0.
  • BUG FIXES:
    • Fix filtering of NANs input point clouds in mrpt::maps::CPointsMap::insertAnotherMap().

2.11.4

5 months ago

Version 2.11.4: Released Dec 15th, 2023

  • Changes in apps:
    • RawLogViewer: visualize mrpt::obs::CObservationRotatingScan as point cloud + range image + intensity image.
    • rawlog-edit: --info command now also shows the type of each sensor label.
  • Changes in libraries:
    • \ref mrpt_maps_grp
      • Use nanoflann RKNN search in mrpt::maps::CPointsMap::nn_radius_search()
      • Added a new point cloud class mrpt::maps::CPointsMapXYZIRT, including its Python and ROS wrappers.
    • \ref mrpt_math_grp
      • mrpt::math::KDTreeCapable: Add optional argument maximumSearchDistanceSqr in many API methods to exploit the new nanoflann RKNN search method.
    • \ref mrpt_opengl_grp
      • mrpt::opengl::PLY_Importer: Add support for importing point clouds with the timestamp property per point.
    • \ref mrpt_obs_grp
      • mrpt::obs::CObservationRotatingScan:
        • Moved from the library mrpt-maps to mrpt-obs, since it no longer requires any mrpt::maps class.
        • Complete its implementation: insertion into point cloud, observation likelihood, visualization in RawLogViewer, etc.
  • BUG FIXES:
    • Fix missing Threads::Threads downstream due to missing find_dependency(Threads) in MRPT cmake config files.
    • Fix broken import of PLY files in SceneViewer3D (empty scene even if correctly imported).
    • mrpt::math::CMatrixDynamic constructor from (row,col) was not marked explicit, leading to potential problems.
    • mrpt::opengl::Viewport::setViewportPosition() did not handle negative width values as expected (i.e. pixel distances from the opposite corner).

2.11.3

6 months ago

Version 2.11.3: Released Nov 21st, 2023

  • Changes in libraries:
    • \ref mrpt_core_grp
      • Add the [[nodiscard]] attribute to all functions returning a value in <mrpt/core/bits_math.h>
    • \ref mrpt_maps_grp
      • mrpt::maps::COccupancyGridMap3D::insertObservation() now also handles mrpt::obs::CObservationPointCloud
      • New virtual interface mrpt::maps::NearestNeighborsCapable, implemented in:
        • All mrpt::maps::CPointsMap classes
        • All classes derived from mrpt::maps::CVoxelMapOccupancyBase
        • mrpt::maps::COccupancyGridMap2D
        • mrpt::maps::COccupancyGridMap2D
      • New virtual method mrpt::maps::CMetricMap::boundingBox()
      • mrpt::maps::TMetricMapInitializer now returns shared_ptrs instead of plain pointers.
      • mrpt::maps::TSetOfMetricMapInitializers::loadFromConfigFile() now throws if it finds a *_count entry with an unknown map class name.
    • \ref mrpt_math_grp
      • New template mrpt::math::confidenceIntervalsFromHistogram()
    • \ref mrpt_obs_grp
      • mrpt::maps::CMetricMap::loadFromSimpleMap() now automatically calls mrpt::obs::CObservation::load() and mrpt::obs::CObservation::unload() for all observations, so it works with lazy-load datasets.
  • BUG FIXES:
    • Fix compilation errors if using the MCP_SAVE() macro with class enum types.
    • Fix wrong cloud pose in CPointsMap::insertObservation() when inserting an mrpt::obs::CObservationPointCloud.
    • Fix potential data race in mrpt::WorkerThreadsPool::pendingTasks()

2.11.2

7 months ago

Version 2.11.2: Released Oct 25th, 2023

  • Changes in libraries:
    • \ref mrpt_gui_grp
      • New function mrpt::gui::GetScaledClientSize().
    • \ref mrpt_obs_grp
      • Fix typo in data field: mrpt::obs::CObservationRange: sensorConeApperture -> sensorConeAperture
    • \ref mrpt_ros2bridge_grp
      • Address the new field variance in sensor_msgs/Range (Closes issue #1270).
  • BUG FIXES:
    • Fix wrong rendering of all wxWidgets-based OpenGL windows when using Ubuntu's display settings to change UI to a size different than 100% (Fixes issue #1114).
    • Fix ignored sensorPose of mrpt::obs::CObservationPointCloud while inserting them into voxel maps.

2.11.1

7 months ago

Version 2.11.1: Released Oct 23rd, 2023

  • Changes in libraries:
    • \ref mrpt_math_grp
      • Fix several build warnings introduced in the last version.
    • \ref mrpt_maps_grp
      • Voxel maps: A voxel is considered occupied if its occupancy is larger than likelihoodOptions.occupiedThreshold instead of a fixed 0.5.

2.11.0

7 months ago

Version 2.11.0: Released Oct 19th, 2023

  • Changes in libraries:
    • \ref mrpt_maps_grp
      • New voxel map containers, based on Faconti's Bonxai header-only libray (MPL-2.0 license):
        • mrpt::maps::CVoxelMap
        • mrpt::maps::CVoxelMapRGB
        • Example: \ref maps_voxelmap_from_tum_dataset
        • Example: \ref maps_voxelmap_simple
  • BUG FIXES:
    • Fix python wrapper FTBFS in armhf and other architectures.
    • Fix matrices removeColumns() and removeRows() won't throw if user specified a non-existing index.

2.10.2

7 months ago

Version 2.10.2: Released Oct 5th, 2023

  • Build system:
    • ROS: fix missing deps in package.xml needed for build via Nix.
    • MRPT and OpenCV versions were until now exposed as macros with 3 hexadecimal digits (e.g. 2.4.0->0x240), with a clear limitation of versions greater than 15. Now, both symbols MRPT_VERSION and MRPT_OPENCV_VERSION_NUM use TWO hexadecimal digits per version part, like: 2.10.2 -> 0x010A02, which is much more general and safe for the future. For backwards compatibility, just make sure your user code only uses MRPT_VERSION>=xxx or MRPT_VERSION>xxx comparisons, instead of less-than comparisons (Fixes issue #1285).
  • Changes in apps:
    • rawlog-edit: Add --select-label optional filter to command --remap-timestamps.
  • Changes in libraries:
    • mrpt-ros1bridge and mrpt-ros2bridge: Remove leftover printf debugging trace printing Ok to console.
    • \ref mrpt_hwdrivers_grp
      • New overload mrpt::hwdrivers::CFFMPEG_InputStream::retrieveFrame() returning the frame PTS (presentation timestamp).
  • BUG FIXES:
    • Fix CSparse "C" linkage build error (OSX Clang). PR #1280
    • Fix missing Python wrapping of poses PDF (poses with uncertainty) composition (\oplus and \ominus) operators. (Closes #1281). PR #1283
    • Fix wrong Jacobian in mrpt::math::CQuaternion::rpy_and_jacobian() for the case of Gimbal Lock. Thanks @giafranchini for reporting!. PR #1290 (Closes #1289)
    • Fix spurious failures in offscreen render unit tests in RISCV64 (Closes #1287).

2.10.1

9 months ago

Version 2.10.1: Released August 10th, 2023

  • Build system:
    • Add cmake flag to disable LTO in pymrpt module.
    • Add -flto=auto to pymrpt so linking is much faster.
  • BUG FIXES:
    • Fix "FTBFS when binutils-dev is installed but not libiberty-dev" (Debian bug #1041165)
    • pymrpt Debian packaging: triggering of post/pre installation scripts was missing.

2.10.0

10 months ago

Version 2.10.0: Released July 9th, 2023

  • Changes in libraries:
    • \ref mrpt_opengl_grp
      • Move the parameter eyeDistance2lightShadowExtension from TRenderMatrices to mrpt::opengl::TLightParameters so it can be changed from user code (ABI change).
      • New parameter mrpt::opengl::TLightParameters::minimum_shadow_map_extension_ratio
  • Python:
    • More pymrpt examples.
  • BUG FIXES:
    • pymrpt was not automatically built when invoking the python tests using make test_legacy.