Skip to content

Releases: MRPT/mrpt

Release of v2.9.3

22 Jun 14:02
2.9.3
eb8a290
Compare
Choose a tag to compare

Version 2.9.3: Released June 22nd, 2023

  • Python:
    • New module pymrpt.ros_bridge
    • Matrices now have proper conversion and accessor methods in the Python API, including conversion from/to numpy.
    • Reduce build time of pymrpt.

Release of v2.9.2

19 Jun 23:45
2.9.2
809a6c3
Compare
Choose a tag to compare

Version 2.9.2: Released June 20th, 2023

  • Changes in docs:
    • Update dependency in instructions from libftdi-dev to libftdi1-dev
  • Changes in libraries:
    • \ref mrpt_comms_grp
      • mrpt::comms::CInterfaceFTDI Fix usage of deprecated API in libftdi
    • \ref mrpt_obs_grp
      • New static method mrpt::obs::CRawlog::ReadFromArchive() (useful for python bindings)
      • New overload mrpt::obs::obs_to_viz() for mrpt::obs::CSensoryFrame containers
    • \ref mrpt_slam_grp
      • mrpt::slam::CMetricMapBuilder::getCurrentlyBuiltMetricMap() returns a const ref instead of a pointer (safer, and does not lead to memory crashes in the Python wrapper).
  • Python:
    • New wrapped functions:
      • mrpt.serialization.archiveFrom()
    • Fix python install directory:
      • ROS 1 or pure Debian: [...]/lib/python3/site-packages/
      • ROS 2: [...]/lib/python3.X/site-packages/
  • BUG FIXES:
    • Fixed including the wrong <mrpt/config.h> if building MRPT in a system with another ROS-provided MRPT build.
    • Fixed build errors with gcc-13 (Fixes Debian bug #1037783)

Release of v2.9.1

14 Jun 09:23
2.9.1
c36ae76
Compare
Choose a tag to compare

Version 2.9.1: Release June 14th, 2023

  • Build system:
    • ROS 2: fix missing explicit dep on rclcpp in package.xml.

Release of v2.9.0

07 Jun 21:35
2.9.0
8f01321
Compare
Choose a tag to compare

Version 2.9.0: Released June 7th, 2023

  • Changes in apps:
    • rosbag2rawlog: Added support for converting nav_msgs/LaserScan topics to mrpt::obs::CObservation2DRangeScan
  • Changes in libraries:
    • New Python3 module pymrpt with an almost full wrapping of all MRPT classes (via pybind11). Refer to the Python API documentation (pydoc3).
    • Removed the legacy module mrpt::hmtslam and associated applications. Please refer to older MRPT releases if needed.
    • Removed all deprecated functions and headers.
    • \ref mrpt_ros2bridge_grp
      • Fix use of obsolete header <cv_bridge.h> in newer ROS distributions.

Release of v2.8.1

16 Apr 23:05
2.8.1
4af6ea5
Compare
Choose a tag to compare

Version 2.8.1: Released April 17th, 2023

  • Changes in libraries:
    • \ref mrpt_opengl_grp
      • Expose shadow bias parameters into mrpt::opengl::TLightParameters
  • BUG FIXES:
    • OpenGL shadow rendering: Fix error in calculation of anti peter-panning and shadow acne effects.

Release of v2.8.0

08 Apr 18:50
2.8.0
72acf55
Compare
Choose a tag to compare

Version 2.8.0: Released April 8th, 2023

  • Changes in apps:
    • rosbag2rawlog: Added support for converting nav_msgs/Odometry topics to mrpt::obs::CObservationOdometry
  • Changes in libraries:
    • \ref mrpt_hwdrivers_grp
      • New driver for TAObotics IMU sensors. See mrpt::hwdrivers::CTaoboticsIMU and the example \ref hwdrivers_taobotics_imu
    • \ref mrpt_math_grp
      • mrpt::math::getRegressionPlane() return value is not roughly the inverse of the condition number of the regression problem, which gives a stronger quality indicator than the former formula.
    • \ref mrpt_opengl_grp
      • Header <mrpt/opengl.h> has been updated to include the backwards-compatible type mrpt::opengl::COpenGLScene to smooth transition of existing code bases.
      • mrpt::opengl::CSphere now has a number of divisions property instead of two (one of them was not actually used).
      • Fixed const correctness of mrpt::opengl::CGeneralizedEllipsoidTemplate::getNumberOfSegments()
    • \ref mrpt_system_grp
      • Removed mrpt::system::setConsoleColor() (Deprecated since MRPT 2.3.3)
  • Build system:
    • Fix use of obsolete qt5_use_modules().
    • New minimum CMake version required is CMake 3.16.0
  • BUG FIXES:
    • Fix regression in mrpt::obs::CRawlog::detectImagesDirectory() leading to RawLogViewer and other apps not finding the external image directories for datasets.
    • Fix wrong rendering of shadows of lines when in orthographic projection.
    • mrpt::opengl::CSphere::onUpdateBuffers_Triangles() did not update the list of points

Release of v2.7.0

04 Mar 00:53
2.7.0
b750be5
Compare
Choose a tag to compare

Version 2.7.0: Released March 4th, 2023

  • Changes in libraries:
    • \ref mrpt_gui_grp
      • All OpenGL viewports: pan is now also achieved by pressing the mouse middle button (wheel) + dragging, for similarity with many other CAD UIs.
    • \ref mrpt_opengl_grp
      • Shadows can now be rendered for directional lights. See mrpt::opengl::Viewport::enableShadowCasting()
      • These class names have been shortened for ease of use (typedefs with the older names still exist for backwards compatibility, including deserialization of old files):
        • mrpt::opengl::COpenGLScene ==> mrpt::opengl::Scene
        • mrpt::opengl::COpenGLViewport ==> mrpt::opengl::Viewport
      • New class mrpt::opengl::CSkyBox for rendering "3D background" as sky boxes. Refer to example \ref opengl_skybox_example
      • OpenGL shaders: more rational use of GLSL precision specifiers: highp for positions, lowp for colors.
      • New flag mrpt::opengl::CFBORender::Parameters::raw_depth
      • mrpt::opengl::FrameBuffer: Remove stencil bit for faster off-screen rendering.
      • New class mrpt::opengl::OpenGLDepth2LinearLUTs
      • mrpt::opengl::CMesh now supports texture wrapping over the mesh extension.
      • Texture handling refactored into a new class mrpt::opengl::Texture
      • Enabled GL MipMap texture generation.
      • Triangles shaders now also account for shininess of material to generate specular reflections. See new method mrpt::opengl::CRenderizable::materialShininess()
      • mrpt::opengl::TLightParameters has been modified to make it more consistent: just one light color and three floats (diffuse, ambient, specular).
      • mrpt::opengl::CRenderizable base methods are now 100% thread-safe. getPoseRef() method has been removed since it was not safe.
  • BUG FIXES:
    • Fix unrealistic odometry error simulation in mrpt::kinematics::CVehicleSimulVirtualBase (it affected the app GridmapNavSimul).

Release of v2.6.0

12 Jan 18:19
2.6.0
451f276
Compare
Choose a tag to compare

Version 2.6.0: Released January 12th, 2023

  • Changes in libraries:
    • \ref mrpt_math_grp
      • Remove unused header: <mrpt/math/bits_math.h>
    • \ref mrpt_opengl_grp
      • New method mrpt::opengl::CAssimpModel::texturedObjects()
  • BUG FIXES:
    • Fix wrong evaluation of the pivot point for the angular threshold parameters in ICP (Closes #1264)

Release of v2.5.8

07 Jan 18:52
2.5.8
6e92f75
Compare
Choose a tag to compare

Version 2.5.8: Released January 7th, 2023

  • Changes in libraries:
    • \ref mrpt_core_grp
      • Move the _deg literal to a new namespace mrpt::literals to allow finer-grained using namespace mrpt::literals; instead of using namespace mrpt;. This change is backwards compatible, no user code change required, but recommended.
    • \ref mrpt_expr_grp
      • New mrpt::expr::CRuntimeCompiledExpression::register_function() to allow user-defined functions in runtime-compiled formulas.

Release of v2.5.7

25 Nov 14:02
2.5.7
6c277a0
Compare
Choose a tag to compare

Version 2.5.7: Released November 25th, 2022

  • Changes in applications:
    • navlog-viewer:
      • It now shows custom visualization artifacts stored in the new field mrpt::nav::CLogFileRecord::visuals.
  • Changes in libraries:
    • Upgrade embedded version of nanoflann to current master (2022-Nov-18).
    • \ref mrpt_maps_grp
      • mrpt::math::KDTreeCapable updated to build against nanoflann v1.5.0
    • \ref mrpt_system_grp
      • New method mrpt::system::COutputLogger::setVerbosityLevelForCallbacks()
  • General build changes:
    • clang-format: enforce and upgraded to use clang-format-11.
  • BUG FIXES:
    • Fix crash if calling mrpt::opengl::CSetOfObjects::getByName() with null pointers as children objects.
    • Fix opengl resources leak if mrpt::opengl::CRenderizableShaderTexturedTriangles instance is destroyed from a thread different than the one used to render.