Skip to content

Releases: MRPT/mrpt

Release of v2.5.0

17 Jul 23:35
2.5.0
97edfdb
Compare
Choose a tag to compare

Version 2.5.0: Released July 18th, 2022

  • Changes in applications:
    • RawLogViewer:
      • New time-line UI for quickly navigating and selecting observations.
    • New application:
      • ros-map-yaml2mrpt: CLI tool to import ROS map_server maps into MRPT formats.
  • Changes in libraries:
    • \ref mrpt_containers_grp
      • New functions mrpt::containers::find_closest() and mrpt::containers::find_closest_with_tolerance().
      • mrpt::containers::yaml now also keeps information about line and column positions for each token, see mrpt::containers::yaml::node_t::marks
    • \ref mrpt_core_grp
      • mrpt::Clock::toDouble() now returns 0 for default-constructed (invalid) time_point.
    • \ref mrpt_opengl_grp
      • mrpt::opengl::CMesh supports having (x,y) limits with maxCoord<minCoord for flipped elevation and image meshes.
      • New flag mrpt::opengl::CAssimpModel::LoadFlags::IgnoreMaterialColor for mrpt::opengl::CAssimpModel::loadScene()
      • A new rendering mode for default no-perspective transformations.
        See mrpt::opengl::CCamera::setNoProjection()
    • \ref mrpt_poses_grp
      • Add correct displacement covariance calculation between two poses with cross-correlation via new method mrpt::poses::CPose3DQuatPDFGaussian::inverseCompositionCrossCorrelation() (Closes #1242)
    • \ref mrpt_system_grp
      • New funtions mrpt::system::toAbsolutePath(), mrpt::system::pathJoin()
      • Most functions in \ref filesystem ported to C++17 std::filesystem
    • \ref mrpt_tfest_grp
      • New method TMatchingPairList::overallSquareError() for SE(3) poses (CPose3D).
  • Deprecations:
    • The following macros, which were already deprecated, have been removed: ASSERT_BELOW_, ASSERT_ABOVE_(), ASSERT_BELOWEQ_(), ASSERT_ABOVEEQ_()
  • Build system:
    • Update fallback embedded version of octomap to v1.9.6
  • BUG FIXES:
    • FIX: OpenGL API errors if several CWxGLCanvasBase instances are updated simultaneously in the same program.
    • mrpt::opengl::COpenGLViewport would throw if an uninitialized image is passed for rendering in "image mode".
    • mrpt::system::formatTimeInterval() reported an incorrect number of milliseconds.
    • Fix detection of Boost python module.
    • Calling mrpt::opengl::CRenderizable::setColor_u8() did not force a regeneration of opengl buffer objects in all cases.

Release of v2.4.10

01 Jul 11:22
2.4.10
cf4d80f
Compare
Choose a tag to compare

Version 2.4.10: Relased June 24th, 2022

  • Changes in applications:
    • ptg-configurator:
      • New menu action to export selected path to matlab/octave script.
    • RawLogViewer:
      • Visual improvements and display of timestamps in local time too.
  • Changes in libraries:
    • \ref mrpt_poses_grp
      • Adds covariance mapping to SE(3) for GTSAM (Closes #1229)
    • \ref mrpt_ros1bridge_grp
      • Import mrptToROSLoggerCallback() from the now obsolete mrpt_bridge package into mrpt::ros1bridge.
  • Build system
    • Fix ROS version detection; select ROS2 if packages for both versions are found.
  • BUG FIXES:
    • Fix mrpt-comms rare timeout in busy build farms.
    • mrpt::ros1bridge and mrpt::ros2bridge were not correctly exporting the fromROS() function for LaserScan messages.

Release of v2.4.9

07 Jun 22:00
2.4.9
8bfd585
Compare
Choose a tag to compare

Version 2.4.9: Released June 7th, 2022

  • Changes in libraries
    • \ref mrpt_math_grp
      • new method mrpt::math::TPlane::signedDistance()
    • \ref mrpt_ros2bridge_grp
      • Fixed missing find_package() in module config.cmake file.
  • BUG FIXES:
    • Fix wrong handling of cmake exported built-in version of Eigen3 (Closes #1235)
    • Fix pymrpt Python3 module location (Closes #1232)

Release of v2.4.8

26 May 21:13
2.4.8
8f7d828
Compare
Choose a tag to compare

Version 2.4.8: Released May 26th, 2022

  • Build system:
    • Fixed various ROS-level public dependencies.

Release of v2.4.7

26 May 09:38
2.4.7
a345923
Compare
Choose a tag to compare

Version 2.4.7: Released May 26th, 2022

  • Examples:
    • gui_depth_camera_distortion: Added option to change distortion model.
  • Build system
    • Fixed ROS-level public dependency on suitesparse.
    • Enable tinyxml2 for ROS builds.
  • Changes in libraries:
    • \ref mrpt_maps_grp
      • Method mrpt::maps::CPointsMap::addFrom() removed, it overlapped with mrpt::maps::CPointsMap::insertAnotherMap()
      • New optional parameter in mrpt::maps::CPointsMap::insertAnotherMap()
    • \ref mrpt_obs_grp
      • New option mrpt::obs::T3DPointsProjectionParams::onlyPointsWithIntensityColor

Release of v2.4.5

22 May 05:12
2.4.5
3270d7a
Compare
Choose a tag to compare

Version 2.4.5: Released May 22nd, 2022

  • Changes in libraries:
    • New module mrpt_ros2bridge_grp to support conversions to/from ROS2 data types and MRPT classes.
  • Build system:
    • Fix detection of dependencies for both ROS1 and ROS2.

Release of v2.4.4

05 May 19:37
2.4.4
c64f5f0
Compare
Choose a tag to compare

Version 2.4.4: Released March 5th, 2022

  • New web-based applications
    • All MRPT modules (including \ref mrpt_opengl_grp and mrpt-nanogui) are now compatible with Emscripten so they can run as Javascript + wasm on any modern browser.
  • Changes in applications:
    • RawlogViewer:
      • Browse dialog: Smarter coloring of pointclouds; check all & none buttons for sensor layers.
    • rawlog-edit:
      • Operation --camera-params now also works for mrpt::obs::CObservation3DRangeScan observations.
      • New operation --describe.
  • Changes in libraries:
    • \ref mrpt_poses_grp
      • mrpt::poses::CPose3DQuat: Remove use of obsolete base class std::iterator.
  • 3rdparty libraries:
    • Updated libfyaml to v0.7.12.
  • Build system:
    • Allow using libfyaml-dev system package if found.
    • ROS package.xml: update dependencies so all sensors and mrpt-ros1bridge are enabled.
    • Fix detection of ROS1 native *_msgs packages as build dependencies.
  • BUG FIXES:
    • ASSERT_NEAR_() did not work correctly when arguments were expressions with operators.
    • Fixed incorrect parsing of strings with whitespaces in mrpt::from_string<>() when converting to std::string
    • mrpt::obs::CObservation3DRangeScan::get_unproj_lut() was ignoring the depth camera distortion model and always assumed plumb_bob.
    • mrpt::ros1bridge converter for IMU observations now correctly handles missing IMU readings (ROS convention of "-1" in covariance).

Release of v2.4.3

23 Feb 07:05
477939c
Compare
Choose a tag to compare

Version 2.4.3: Released Feb 22nd, 2022

  • Changes in applications:
    • navlog-viewer:
      • The timestamp is now always shown.
  • BUG FIXES:
    • Do not run offscreen rendering unit tests in MIPS arch, since they seem to fail in autobuilders.
    • mrpt::vision::checkerBoardCameraCalibration() did not return the distortion model (so if parameters are printed, it would look like no distortion at all!).
    • mrpt::gui::CDisplayWindowGUI::createManagedSubWindow() created the subwindows helper UI on top of the other user windows. It now remains on the back of other windows.

Release of v2.4.2

03 Feb 12:33
2.4.2
ca152c2
Compare
Choose a tag to compare

Version 2.4.2: Released Feb 3rd, 2022

  • Changes in libraries:
    • \ref mrpt_containers_grp
      • mrpt::container::yaml::operator(size_t) added, conditionally to size_t being a different type than uint64_t and such (Fixes build errors on OSX).
    • \ref mrpt_core_grp
      • mrpt::callStackBackTrace() (and exception backtraces) now only use BFD to solve for line numbers in DEBUG builds, to avoid the large delay in processing each exception.
      • New method mrpt::WorkerThreadsPool::size().
    • \ref mrpt_expr_grp
      • ExprTk updated to latest version.
    • \ref mrpt_gui_grp
      • GUI windows can now have custom icons via mrpt::gui::CDisplayWindowGUI::setIcon() or mrpt::gui::CDisplayWindowGUI::setIconFromData()
    • \ref mrpt_img_grp
      • New static method mrpt::img::CImage::LoadFromFile()
    • \ref mrpt_math_grp
      • Vector and matrix classes: add [[nodiscard]] to static "constructor" methods to avoid mistakes.
    • \ref mrpt_opengl_grp
      • mrpt::opengl::CFBORender now does not rely on GLUT to create opengl contexts, but on EGL.
    • \ref mrpt_typemeta_grp
      • Add syntactic sugar function mrpt::typemeta::str2enum<>().
  • BUG FIXES:
    • mrpt::opengl::CFBORender did only render the main viewport, it now processes all of them.
    • Fix FTBFS with ffmpeg 5.0 (Debian Bug #1004585)

Release of v2.4.1

05 Jan 05:20
2.4.1
6c282e9
Compare
Choose a tag to compare

Version 2.4.1: Released Jan 5th, 2022

  • Changes in build system:
  • Changes in applications:
    • rawlog-edit:
      • New flag --externals-filename-format
    • RawlogViewer:
      • Better handling of exceptions failing to load delayed-load images.
  • Changes in libraries:
    • \ref mrpt_core_grp
      • Remove unused header <mrpt/3rdparty/llvm/propagate_const.h>.
    • \ref mrpt_graphs_grp
      • mrpt::graphs::CDijkstra now has an optional maximum topological search range.
    • \ref mrpt_math_grp
      • New geometry functions:
        • mrpt::math::intersect(const TPolygon2D& subject, const TPolygon2D& clipping)
        • mrpt::math::signedArea(const mrpt::math::TPolygon2D& p)
    • \ref mrpt_obs_grp
      • New function mrpt::obs::format_externals_filename()
    • Embedded copy of nanoflann: upgraded to v1.4.0.
  • BUG FIXES:
    • Fix bug in mrpt::math::getAngle(const TPlane&, const TPlane&).
    • Fix exception if mrpt::opengl::CFBORender is used with setProjectiveFromPinhole() camera models.
    • Fix CMake Warning at cmakemodules/FindFilesystem.cmake and failure to detect the std::filesystem feature in some g++ versions.
    • Fix numerical innacuracies with planar bounding boxes, fixed via new epsilon parameter in mrpt::math::TBoundingBox::intersection()
    • Fix sluggish rendering in opengl+wxWidgets controls (e.g. within RawLogViewer, etc.).