Changelog

This page aggregates the changelogs from the most relevant MOLA repositories:

Changelog for package mola_bridge_ros2

2.1.0 (2025-10-20)

  • Publish to ROS all map types implementing getAsSimplePointsMap()

  • format

  • FIX: ROS2 bridge must use timestamps for map updates to publish maps and deskewed clouds

  • Support publishing several maps from the same source per iteration to ROS

  • clang-format

  • Make use of ConstPtr across API

  • Contributors: Jose Luis Blanco-Claraco

2.0.0 (2025-10-13)

  • fix clang-format

  • Modernize copyright notice

  • Contributors: Jose Luis Blanco-Claraco

1.9.1 (2025-07-07)

1.9.0 (2025-06-06)

  • fix clang-format

  • Implement publishing of optional “metadata” map field too

  • Contributors: Jose Luis Blanco-Claraco

1.8.1 (2025-05-28)

  • Fix: Do not use the deprecated ament_target_dependencies()

  • Contributors: Jose Luis Blanco-Claraco

1.8.0 (2025-05-25)

  • Update license tag to “BSD-3-Clause”

  • Update copyright year

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps (“double”s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.

  • modernize clang-format

  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion

  • fixed Clang formatting

  • Clean up voxel map publishing code

  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::maps::CVoxelMap as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture

  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness

  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator

  • FIX: Potential deadlock in initialization

  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)

  • BridgeROS2: add source filter for forwarding localization updates to ROS2

  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)

  • FIX: In parsing base_footprint_to_base_link_tf

  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters

  • Publish georef /tf as /tf_static

  • ROS2 bridge now publishes georeferenced map metadata as /tf’s and as mrpt_nav_interfaces/GeoreferencingMetadata

  • Revert “Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging” This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.

  • FIX: wrong variable in former commit

  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging

  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging

  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too

  • ros2 bridge: rep105 only for map->base_link tfs

  • BridgeROS2: support forwarding more than one localization message per timer call

  • Fix published /tf’s: those from LocalizationSources now can explicitly define their parent and child frames

  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order

  • BUG FIX: Published odometry msg lacked target frame_id

  • Rename method for better reflecting its goal

  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic

  • Forward –ros-args to BridgeROS2

  • expose services for runtime parameters

  • Load relocalize_from_topic from yaml file

  • ros2bridge: handle /initialpose topic -> relocalize service

  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition

  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

  • sort <depend> entries

  • Contributors: Jose Luis Blanco-Claraco

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • Merge pull request #65 from MOLAorg/add-more-srvs Add more Services

  • Offer ROS2 services for the new MOLA MapServer interface

  • clang-format: switch to 100 columns

  • ros2bridge: offer ROS2 services for relocalization

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • change ament linters to apply in test builds

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

  • Fix GNSS typo

  • Contributors: Jose Luis Blanco-Claraco

1.0.6 (2024-06-21)

1.0.5 (2024-05-28)

1.0.4 (2024-05-14)

  • bump cmake_minimum_required to 3.5

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • BridgeROS2: more robust /tf find_transform by using tf2::BufferCore

  • FIXBUG: inverse sensor poses in rosbag2 reader. Also: unify notation in C++ calls to lookupTransform()

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

  • update docs

  • Contributors: Jose Luis Blanco-Claraco

1.0.1 (2024-03-28)

  • BridgeROS2: do not quit on temporary /tf timeout

  • mola_bridge_ros2: option to publish /tf_static for base_footprint

  • mola_bridge_ros2: implement missing MOLA->ROS2 conversion for GNSS observations

  • BUGFIX: Inverted value of “use_fixed_sensor_pose” was used

  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2024-03-19)

  • Comply with ROS2 REP-2003

  • Merge ROS2 input and output in one module

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

Changelog for package mola_kernel

2.1.0 (2025-10-20)

  • Send sensor_rate_decimation to Viz

  • interfaces/MapSourceBase: Add keep_last_one_only property

  • Make use of ConstPtr across API

  • Contributors: Jose Luis Blanco-Claraco

2.0.0 (2025-10-13)

  • Merge pull request #93 from MOLAorg/feature/better-lio Changes for new LIO

  • MolaViz: Add method clear_all_point_clouds_with_decay()

  • MolaViz: Add support for inserting clouds with decay_time

  • Large clean up of unused code from older MOLA versions. In particular, all abstract definitions of factors, entities, and WorldModel have been removed. It seems more natural and efficient to keep them in the specific SLAM modules.

  • Allow extra parameters in mola_viz per-sensor preview windows

  • fix clang-format

  • Modernize copyright notice

  • Remove old code that was needed to support very old MRPT versions

  • Contributors: Jose Luis Blanco-Claraco

1.9.1 (2025-07-07)

1.9.0 (2025-06-06)

  • MapSourceBase: add a new optional field “metadata”

  • NavStateFilter interface: Now is a RawDataConsumer too

  • Contributors: Jose Luis Blanco-Claraco

1.8.1 (2025-05-28)

1.8.0 (2025-05-25)

  • Update Viz interface: add methods to run arbitrary Scene manipulation and camera orthographic mode

  • Update copyright year

  • fix reversed logic

  • clang-format fix

  • Add mola::Synchronizer for grouping observations

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-05-06)

  • code clean up: remove useless dtors, and mark the required copy ctors as deleted

  • Contributors: Jose Luis Blanco-Claraco

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps (“double”s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.

  • modernize clang-format

  • Contributors: Jose Luis Blanco-Claraco

1.6.3 (2025-03-15)

1.6.2 (2025-02-22)

  • ExecutableBase inteface: added diagnostics API

  • Contributors: Jose Luis Blanco Claraco

1.6.1 (2025-02-13)

  • mola_kernel: Add Georeferencing structure and add it to map updates

  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Fix published /tf’s: those from LocalizationSources now can explicitly define their parent and child frames

  • LocalizationSources now can explicitly define both, their reference and child frames for each estimated pose

  • docs: add state estimation images

  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

  • NavStateFilter API: add estimated_trajectory()

  • Contributors: Jose Luis Blanco-Claraco

1.5.0 (2024-12-26)

  • NavStateFilter Interface now also inherits from ExecutableBase for convenience

  • MinimalModuleContainer ctor should not be explicit

  • Add mola::MinimalModuleContainer

  • Drop dependency on mrpt-gui in kernel by abstracting MolaViz subwindow layout operations

  • Contributors: Jose Luis Blanco-Claraco

1.4.1 (2024-12-20)

1.4.0 (2024-12-18)

  • MOLA system yaml files: added “enabled” optional property for modules and rds visualizers

  • Add field for localization quality

  • cmake: remove duplicated info message

  • ExecutableBase: Add support for runtime-configurable parameter API

  • mola-kernel Doxygen docs: add groups

  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • NavStateFilter interface: add API for merging GNSS observations

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

1.2.0 (2024-09-16)

  • Update RTTI macros for upcoming MRPT 2.14.0

  • Contributors: Jose Luis Blanco-Claraco

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • add <mola_kernel/version.h> with a version-checking macro

  • Merge pull request #65 from MOLAorg/add-more-srvs Add more Services

  • Avoid cmake file glob expressions

  • mola_kernel: add MapServer interface

  • mola_kernel: add public symbols MOLA_{MAJOR,MINOR,PATCH}_VERSION

  • Update clang-format style; add reformat bash script

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • mola_kernel: add C++ virtual interface for relocalization methods

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

  • Viz interface: add API for rotate camera

  • Contributors: Jose Luis Blanco-Claraco

1.0.6 (2024-06-21)

  • Create new NavStateFilter interface and separate the simple fuser and the factor-graph approach in two packages

  • mola_kernel: renamed factor FactorConstVelKinematics

  • Contributors: Jose Luis Blanco-Claraco

1.0.5 (2024-05-28)

  • viz: fix mismatched free/delete inside nanogui layout

  • Contributors: Jose Luis Blanco-Claraco

1.0.4 (2024-05-14)

  • bump cmake_minimum_required to 3.5

  • Avoid global static objects

  • remove useless #include’s

  • Define Dataset_UI dtor/ctor in a separate translation unit

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

1.0.1 (2024-03-28)

  • Remove now-useless build dependencies and includes for mola-kernel

  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2024-03-19)

  • add methods to query for subscribers

  • New interfaces

  • Refactor initialize()

  • mola_kernel: new UI interface for datasets

  • New option to shutdown automatically mola-cli after dataset ends

  • viz API: add enqueue_custom_nanogui_code()

  • mola_viz: show console messages

  • Correct usage of mola:: namespace in cmake targets

  • copyright update

  • mola_viz: support visualizing velodyne observations

  • Add look_at() viz interface

  • Fewer mutex locking()

  • dont force by default load() lazy-load observations

  • FrontEndBase: attach to VizInterface too

  • Fix loss of yaml key/values when using import-from-file feature

  • kitti eval cli moves to its own package

  • port to mrpt::lockHelper()

  • reorganize as monorepo

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

  • Correct references to the license.

  • viz interface: new service update_3d_object()

  • Fix const-correctness of observations

  • FIX missing dependency on mrpt::gui for public header

  • Contributors: Jose Luis Blanco-Claraco

0.2.1 (2023-09-02)

  • Add virtual interface for dataset groundtruth

  • Update copyright date

  • Update to new colcon ROS2 build system

  • Contributors: Jose Luis Blanco-Claraco

Changelog for package mola_lidar_odometry

1.2.0 (2025-10-21)

  • Tune ROS2 publication rates for reduced viz load

  • New option ‘publish_deskewed_scans’

  • Fix unit tests

  • ros2 launch: sort arguments

  • Contributors: Jose Luis Blanco-Claraco

1.1.0 (2025-10-20)

  • Docs: describe the new GICP and LIO pipelines

  • Update rviz settings

  • Prefer to publish deskewed clouds in ‘map’ frame

  • FIX: ROS2 interface must use correct cloud and pose timestamps

  • Update and fix LIO ROS2 launch demo and docs

  • ROS: support rendering deskewed clouds

  • Replace deprecated ament_target_dependencies() with pure cmake

  • Publish deskewed scans for ROS visualization

  • Make use of ConstPtr for processing incoming observations

  • Code clean up: remove macros for building against very old mola_kernel versions

  • ros2 launch: add argument ‘mola_tf_base_link’

  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2025-10-13)

  • Merge pull request #26 from MOLAorg/feature/better-lio Better LIO & new GICP pipeline

  • CI: Run on ROS testing only

  • Add custom ‘name’ to pipeline stages for profiler

  • Update docs: Show example of use for MOLA_TF_BASE_LINK=os_sensor

  • Feature: add option to save deskewed clouds

  • refactor part of processScan() for code clarity

  • fix clang-tidy warnings

  • New config flag MOLA_SAVE_MM to save final metric map at session end

  • add option to re-colorize clouds by intensity (local map)

  • Add a clear message at initialization showing the name of the used pipeline

  • Fix macro to detect newer mp2p_icp version

  • cli app: show LO pose

  • Refactor the way Lidar scans are enqueued depending on LO/LIO usage

  • ICP pipelines: renamed old ‘default’ as ‘icp’, and add new ‘default’ symlink pointing to ‘gicp’

  • cli: use MOLA YAML parser for state estimation files

  • Fix kitti eval scripts

  • cli: fix expected contents of state estimation param files

  • Debug traces: more covariance data

  • GUI: Show keyframe stats

  • configurable icp quality setpoint

  • Fix lidar rate for multiple lidars

  • New param to change the color of trajectory in the GUI

  • reset local viz clouds when re-localizing

  • gicp pipeline: use 2 resolutions (icp / map)

  • Auto-scale intensity for visualization

  • Less aggressive P controller for adaptive sigma

  • Use adaptive sampler

  • Update to latest mp2p_icp library API

  • Progress optimizing new gicp pipeline

  • New GICP pipeline file

  • Fix for latest mola imu API changes

  • Send velocity and orientations to the local velocity buffer

  • Better visualization of current / past clouds, with configurable colormaps from the yaml file

  • Move to the new deskew_method flag in mp2p_icp

  • README.md: update bibtex reference

  • Move IMU initialization to package mola_imu_preintegration

  • IMU initializer moved out to the mola_imu_preintegration package for better reusability

  • PitchRoll init: Add to-do note on IMU bias

  • GUI: show lidar & imu rates

  • remove obsolete pipeline

  • Fix typos in YAML comments

  • Configurable GUI background color

  • Implement display dense local map (decaying deskewed clouds)

  • Implement visualization of past clouds as transparent, decaying clouds

  • Add missing header for latest mola_kernel

  • option to show mulran dataset clouds with their real intensity channel

  • Visualization: show the deskewed current observation instead of raw

  • Contributors: Jose Luis Blanco-Claraco

0.9.0 (2025-08-26)

  • FIX: bug in formula for pitch-roll initialization from IMU

  • Store local IMU velocity buffer in key-frame simplemaps

  • mola-lidar-odometry-cli: New CLI arguments to support datasets with IMUs

  • Implement precise IMU-based deskew (requires latest mp2p_icp library)

  • fix clang-format

  • Modernize copyright notices

  • rosbag2 mola-cli launch file: add MOLA_ROS2BAG_EXPORT_TO_RAWLOG_FILE optional env var

  • Contributors: Jose Luis Blanco-Claraco

0.8.0 (2025-06-06)

  • Publish mp2p_icp metric map metadata, if existing in loaded maps.

  • state estimation config yaml file: expose IMU sensor name env var

  • Update mola_lo_pipelines.rst: explicitly show an example of using the NDT pipeline

  • ros2 launch: add new argument to control the scan validity filter based on minimum point count (now, enabled by default)

  • Update broken link to ROS Index

  • mola-lidar-odometry-cli: now also forward raw sensor data to state estimator

  • Fix build against mola <1.8.0

  • Docs: better explain existing variables to override sensor poses

  • gui option: implement show as orthographic camera

  • Contributors: Jose Luis Blanco-Claraco

0.7.3 (2025-05-25)

  • feature: new threshold to discard state estimation as invalid if uncertainty is too high

  • Fixed unit tests in CI

  • Prepare GUI for ortho camera option

  • progress implementing init pitch/roll from IMU

  • pipelines YAML files reformated with RedHat YAML formatter

  • Update env var name to explicitly mention LO: MOLA_LO_INITIAL_LOCALIZATION_METHOD

  • docs: on initial localization methods

  • ROS2 launch: Add new mola_state_estimator_reference_frame argument. It should be used together with mola_lo_reference_frame to use an alternative reference map TF frame than the default map.

  • Fix wrong namespace in class name (it worked anyway because of a fall-back mechanism using unqualified names)

  • Expose env vars to change the reference frame_id for smoother (MOLA_TF_MAP)

  • fix: potential missing publication of updated poses if there is no map subscriber

  • lidar 3d pipeline: add rendering options for local map

  • Contributors: Jose Luis Blanco-Claraco

0.7.2 (2025-04-23)

  • better integration of clang-tidy, colcon_defaults, and clangd with vscode

  • Expose two more env vars: MOLA_MAP_CLOUD_DECIMATION, MOLA_ICP_CLOUD_DECIMATION

  • FIX: also initial pose for localmap

  • BUGFIX: Initial twist was wrong for custom initial poses

  • Contributors: Jose Luis Blanco-Claraco

0.7.1 (2025-03-15)

  • FIX: Handle correctly the case of input scans with non-normal numbers

  • docs: format of ros2 launch argument

  • FIX: reset map to start again might lead to divergence; Add new ‘reset_state’ command via MOLA dynamic variables

  • Force requiring valid poses for IMU and GNSS inputs

  • Refactor implementation source into several smaller files

  • FIX: mola-lo didn’t exit due to waiting ICP queue if fed faster than ICP processing

  • FIX: mola-lo-gui apps may show duplicated UI controls in particular circumstances

  • Drop frames warning message now tells the exact drop ratio

  • Initial localization method is now loadable from yaml or ros2 launch file

  • MOLA-LO no longer subscribes to wheels odometry. That is now delegated directly to state estimation modules.

  • Add new ROS2 launch argument: forward_ros_tf_odom_to_mola

  • Contributors: Jose Luis Blanco-Claraco

0.7.0 (2025-02-22)

  • Implement new mola_kernel diagnostics API

  • Ensure map is published after ROS2 bridge is already listening (FIXES: potential loss of map publication if MM map is given via env var)

  • FIX: Proper configurable dropped frames mechanism and stats

  • FIX: Update GUI, publish maps, correctly independently of whether MolaGUI is enabled

  • launch: fix localization source name

  • FIX: Do not ever reset the map when in localization mode

  • Fix: refresh GUI with initial map

  • Allow dropping LiDAR frames in too slow for real-time, but not any other observation type

  • FIX: ensure georef metadata is published when map_load service is called

  • rename kitti ros2 demo file to unclutter ros2 launch autocompletion

  • Add ros launch argument ‘use_state_estimator’

  • FIX: publish georeferencing metadata at start up

  • Add ROS2 launch arguments to select an state_estimator method

  • update citation

  • Add more params to smoother state estimation default YAML file

  • Add env variable MOLA_STATE_ESTIMATOR_PUBLISH_RATE to control filtered pose update rate

  • Add new env var MOLA_NAVSTATE_ENFORCE_PLANAR_MOTION and ros2 launch argument for it

  • Add new ros launch argument mola_footprint_to_base_link_tf

  • Fix expected pose format in yaml

  • ROS2 launch: shutdown if mvsim crashes

  • Fix parse error with default .mm and .simplemap launch arguments

  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

0.6.2 (2025-02-13)

  • ros2 launch: add .mm and .simplemap optional initial map arguments

  • All exhaustive docs on ros2-related mola launch YAML files with the meaning of all BridgeROS2 parameter

  • Delegate publishing georeference info to BridgeROS2

  • Contributors: Jose Luis Blanco-Claraco

0.6.1 (2025-01-26)

  • Do not re-publish the map if it does not change, e.g. in localization-only mode

  • ros2 launch file: two new arguments ‘mola_lo_pipeline’ and ‘generate_simplemap’

  • Default 3D-LO pipeline: Add new env var ‘MOLA_LOCALMAP_LAYER_NAME’, useful when localizing with prebuilt maps

  • Merge pull request #12 from r-aguilera/develop fix launch file params

  • fix launch file params

  • Contributors: Jose Luis Blanco-Claraco, Raúl Aguilera

0.6.0 (2025-01-21)

  • Fix: publish map on first iteration

  • Publish georeferencing frames (utm, enu) when loading a metric map with georef. info

  • ros2 lidar odometry launch: add ros argument for /tf reference_frame

  • ROS2 kitti Lidar-Odometry demo: fixed to publish correct /tf’s

  • Add new frame parameters to pipeline YAML files

  • Two new parameters (publish_reference_frame, publish_vehicle_frame), to have explicit control on frame names published to both, ROS, and the MOLA state_estimator

  • ROS2 service call for load_map(): more concise error messages

  • Contributors: Jose Luis Blanco-Claraco

0.5.4 (2025-01-16)

  • Add a debug helper env var MOLA_BRIDGE_ROS2_EXPORT_TO_RAWLOG_FILE

  • Do not reset the state estimator on a bad ICP, allowing merging from other sensors or extrapolating.

  • Docs: add missing ros2 launch args

  • More ROS2 launch arguments

  • Contributors: Jose Luis Blanco-Claraco

0.5.3 (2025-01-15)

  • FIX: mola_state_estimator_simple must be available as a build dep too for easier usage of mola-lo-cli

  • Contributors: Jose Luis Blanco-Claraco

0.5.2 (2025-01-11)

  • Merge pull request #11 from MOLAorg/10-bad-first-icp-re-starting-from-scratch-with-a-new-local-map Fix NaN pointcloud radius in doInitializeEstimatedMaxSensorRange()

  • Unit tests: add test run against MulRan dataset fragment (Lidar+IMU)

  • cli: fix name of example pipeline file when –help invoked

  • unit tests: fix wrong usage of state estimator yaml file

  • mola-lo-gui-mulran: show IMU & GPS data in GUI

  • Define a sensible value for maxRange

  • Fix cmake warning when built w/o mola_state_estimation_simple sourced in the env

  • Contributors: Jose Luis Blanco-Claraco

0.5.1 (2025-01-07)

  • mola-lidar-odometry-cli: add flags to select the state estimation method

  • Contributors: Jose Luis Blanco-Claraco

0.5.0 (2024-12-29)

  • cmake test logic: add find_package() for state_estimation_simple

  • Merge pull request #7 from MOLAorg/wip/new-state-estimators New state estimators (Merge after MOLA 1.5.0 is installable via apt)

  • Split state estimation params so each implementation has its own yaml file

  • CI: build against both, ROS testing and stable

  • Add new state estimator module in all MOLA-CLI yaml files

  • Update to new state estimation packages

  • Reorganization such as state estimator is now an independent external module

  • docs: add new ros-arg publish_localization_following_rep105

  • FIX: publish local map even when not active

  • Contributors: Jose Luis Blanco-Claraco

0.4.1 (2024-12-20)

  • ROS2 launch: add ros argument for new option publish_localization_following_rep105

  • rviz2 demo file: better orbit view

  • ROS2 config file: define env vars for all tf frames (odom, map, base_link)

  • Contributors: Jose Luis Blanco-Claraco

0.4.0 (2024-12-18)

  • demo rviz file: fix lidar topic name

  • Include /tf remaps too in ros2 launch

  • mola launch for ROS 2: Add placeholder for ros args parsing

  • mola launch for ROS 2: add env variables to quickly control verbosity of each module. Env. vars. are: MOLA_VERBOSITY_MOLA_VIZ, MOLA_VERBOSITY_MOLA_LO,MOLA_VERBOSITY_BRIDGE_ROS2 (Default: INFO)

  • Support for ROS2 namespaces in launch file

  • docs; and fix launch var typo

  • ROS 2 launch: add more ros args

  • move MOLA-LO ROS2 docs to the main MOLA repo

  • Expose one more runtime param: generate_simplemap

  • clarify docs on sensor input topic names

  • runtime parameters: update in GUI too

  • publish ICP quality as part of localization updates

  • mola module name changed: ‘icp_odom’ -> ‘lidar_odom’

  • Do not publish localization if ICP is not good

  • Expose runtime parameters using MOLA v1.4.0 configurable parameters: active, mapping_enabled

  • docs clarifications

  • map_load service: allow not having a .simplemap file and don’t report it as an error

  • FIX: motion model handling during re-localization

  • Implement map_save

  • reset adaptive sigma upon relocalization

  • Implement map_load; Implement relocalize around pose

  • Forward IMU readings to the navstate fusion module

  • CI and readme: remove ROS2 iron

  • Merge branch ‘wip/map_load_save’ into develop

  • docs: add ref to yaml extensions

  • Add docs on 3D-NDT pipeline and demo usage with Mulran

  • parameterize maximum_sigma

  • CLI: add flag to retrieve all twists in a file; avoid use of “static” variables

  • LO: Add a getter for the latest pose and twist

  • doc: explain “no tf” error message

  • tune 3D-NDT defaults

  • Kitti and Mulran evaluation scripts: extend so they can be run with other pipelines

  • ros2 launch: Add ‘use_rviz’ argument

  • NDT pipeline: expose max sigma as parameter too

  • Avoid anoying warning message when not really needed

  • Extend options for GNSS initialization

  • Add docs on mola-lo-gui-rawlog

  • Default pipeline: reduce density of keyframes in simplemap

  • Docs: mola_lo_apps.rst fix PIPELINE_YAML var name

  • Update mola_lo_pipelines.rst: fix format

  • recover passing var args to mola-lo-gui-rosbag2 script

  • UI: show instantaneous max. sensor range too

  • FIX: formula for the estimated max. sensor range fixed for asymmetric cases

  • add new visualization param ground_grid_spacing

  • viz: grow ground grid as the local map grows

  • FIX: disabling visualization of raw observations left last raw observation rendered

  • fix: separate GPS topic and sensorLabel variables

  • Consistent GPS topic name

  • Add another env variable: MOLA_LOCAL_VOXELMAP_RESOLUTION

  • Expose new param for local map max size

  • enable the relocalize API

  • Expose fixed sensor pose coords as optional env variables

  • Readme: add ROS badges for arm64 badges

  • GitHub actions: use ROS2-testing packages

  • Contributors: Jose Luis Blanco-Claraco

0.3.3 (2024-09-01)

  • default 3D pipeline: Expose a couple more parameters as env variables

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

0.3.2 (2024-08-26)

  • Support input dataset directories for split bags

  • Contributors: Jose Luis Blanco-Claraco

0.3.1 (2024-08-22)

  • add missing exec dependencies to package.xml for mola-lo-* commands.

  • Contributors: Jose Luis Blanco-Claraco

0.3.0 (2024-08-14)

  • First public release

  • Contributors: Jose Luis Blanco-Claraco

Changelog for package mola_metric_maps

2.1.0 (2025-10-20)

  • Fix formatting

  • Implement getAsSimplePointsMap()

  • KeyframePointCloudMap: Fix class must be copy-constructible

  • Contributors: Jose Luis Blanco-Claraco

2.0.0 (2025-10-13)

  • Merge pull request #93 from MOLAorg/feature/better-lio Changes for new LIO

  • add optional debug viz files; fix race conditions

  • cov2cov pairings now saves the sqrt(cov_inv)

  • Move to new mp2p_icp cov2cov matcher API

  • Update missing copyright notices

  • New KeyframePointCloudMap map

  • Fix typos and clang-tidy hints

  • Fix clang-tidy formatting tips

  • Contributors: Jose Luis Blanco-Claraco

1.9.1 (2025-07-07)

1.9.0 (2025-06-06)

1.8.1 (2025-05-28)

  • Fix: Do not use the deprecated ament_target_dependencies()

  • Contributors: Jose Luis Blanco-Claraco

1.8.0 (2025-05-25)

  • Update copyright year

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-05-06)

  • fix clang-format

  • Metric maps can now be rendered as semitransparent pointclouds

  • Contributors: Jose Luis Blanco-Claraco

1.6.4 (2025-04-23)

  • robin-map: Update to v1.4.0

  • modernize clang-format

  • Contributors: Jose Luis Blanco-Claraco

1.6.3 (2025-03-15)

1.6.2 (2025-02-22)

1.6.1 (2025-02-13)

1.6.0 (2025-01-21)

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

1.4.0 (2024-12-18)

1.3.0 (2024-12-11)

  • NDT maps: more render options (enable colormaps,etc.)

  • mola_metric_maps: robin-maps upgraded to latest version

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

1.2.0 (2024-09-16)

  • gcc warning fix

  • Avoid gcc warning

  • Merge pull request #69 from MOLAorg/new-map-ndt New NDT-3D metric map

  • Add NDT-3D map class

  • Remove leftover dead .cpp file from MOLA package template

  • FIX BUG: missing cmake dependency on robin_map in exported targets

  • Contributors: Jose Luis Blanco-Claraco

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • Update clang-format style; add reformat bash script

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • Update robin-map to latest version (Fix cmake < 3.5 compatibility warning)

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

1.0.6 (2024-06-21)

1.0.5 (2024-05-28)

1.0.4 (2024-05-14)

  • Metric maps: load insertion options from field ‘insertOpts’ instead of ‘insertionOptions’ for compatibility with all other MRPT maps

  • disable clang-format in 3rdparty submodules

  • Fix usage of const_cast<> with proper value() method

  • bump cmake_minimum_required to 3.5

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • Add macro HASHED_VOXEL_POINT_CLOUD_WITH_CACHED_ACCESS

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

1.0.1 (2024-03-28)

1.0.0 (2024-03-19)

  • implement cached conversion to pointcloud

  • make cfg file section optional

  • FIX: error on rendering empty voxel maps

  • HashedVoxelPointCloud: add missing reserve()

  • copyright update

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

Changelog for package mola_state_estimation_simple

1.11.1 (2025-10-20)

  • Update to build against MOLA>=2.1.0 with ConstPtr API

  • Contributors: Jose Luis Blanco-Claraco

1.11.0 (2025-10-05)

  • Move mola_imu_preintegration out of this repo The new repository is: https://github.com/MOLAorg/mola_imu_preintegration

  • Merge pull request #4 from MOLAorg/feature/imu Refactor IMU library

  • Fix using new IMU integration API

  • Move LocalVelocityBuffer class here from mp2p_icp repository

  • Contributors: Jose Luis Blanco-Claraco

1.10.0 (2025-09-07)

  • Update copyright notice

  • Make unhandled sensor input topic message less verbose

  • Contributors: Jose Luis Blanco-Claraco

1.9.0 (2025-06-06)

  • State estimation interface is now raw data consumer too

  • FIX: Error if sensor labels were provided in config yaml file

  • Contributors: Jose Luis Blanco-Claraco

1.8.1 (2025-05-25)

  • Feature: Implement basic twist covariance handling in the SimpleEstimator

  • fixes for clang-tidy

  • Contributors: Jose Luis Blanco-Claraco

1.8.0 (2025-03-15)

  • const correctness

  • State estimation modules now are proper MOLA raw inputs, so they automatically subscribe and consume input sensors (IMU, GPS, wheels odometry)

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-02-22)

  • Add parameter enforce_planar_motion

  • Contributors: Jose Luis Blanco-Claraco

1.6.1 (2025-01-10)

  • Merge pull request #1 from MOLAorg/9-need-help-on-integrating-imu-for-lidar-odometry More stable integration of IMU twist information

  • Shorter logger name

  • Fix package.xml URLs

  • tolerate unsorted sensor inputs without throwing

  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-03)

  • Simple estimator: Integrate IMU angular velocity readings

  • Contributors: Jose Luis Blanco-Claraco

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

1.4.0 (2024-12-18)

  • Allow zero variances for some pose components

  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Start integrating GNSS observation. Added a new CLI program mola-navstate-cli for testing state fusion

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

1.2.0 (2024-09-16)

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

1.0.6 (2024-06-21)

  • Create new NavStateFilter interface and separate the simple fuser and the factor-graph approach in two packages

  • Twist in local frame

  • Contributors: Jose Luis Blanco-Claraco

1.0.5 (2024-05-28)

1.0.4 (2024-05-14)

  • bump cmake_minimum_required to 3.5

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

1.0.1 (2024-03-28)

1.0.0 (2024-03-19)

  • use odometry

  • add new package mola_state_estimation_simple

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

Changelog for package mola_state_estimation_smoother

1.11.1 (2025-10-20)

  • Update to build against MOLA>=2.1.0 with ConstPtr API

  • Contributors: Jose Luis Blanco-Claraco

1.11.0 (2025-10-05)

  • Move LocalVelocityBuffer class here from mp2p_icp repository

  • Contributors: Jose Luis Blanco-Claraco

1.10.0 (2025-09-07)

  • Fix build against gtsam>=4.3

  • Update copyright notice

  • Make unhandled sensor input topic message less verbose

  • Contributors: Jose Luis Blanco-Claraco

1.9.0 (2025-06-06)

  • State estimation interface is now raw data consumer too

  • FIX: Error if sensor labels were provided in config yaml file

  • Contributors: Jose Luis Blanco-Claraco

1.8.1 (2025-05-25)

  • Update copyright year

  • fixes for clang-tidy

  • Contributors: Jose Luis Blanco-Claraco

1.8.0 (2025-03-15)

  • const correctness

  • State estimation modules now are proper MOLA raw inputs, so they automatically subscribe and consume input sensors (IMU, GPS, wheels odometry)

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-02-22)

  • Use more generic localization source name

  • make it thread safe; fix replaying extrapolated poses using past timestamps

  • Documentation: explain the different types of factors and kinematic models

  • Smoother: observe the enforce_planar_motion parameter

  • FIX: use last guess as initial values to improve optimization stability; expose more parameters

  • StateEstimationSmoother: Publish pose updates in a timely manner

  • Add parameter enforce_planar_motion

  • Fix gtsam must be a runtime depend too

  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-01-10)

  • Shorter logger name

  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-03)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

1.4.0 (2024-12-18)

1.3.0 (2024-12-11)

  • Start integrating GNSS observation. Added a new CLI program mola-navstate-cli for testing state fusion

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

1.2.0 (2024-09-16)

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • Update test-navstate-basic.cpp: less noisy test data for more predictable results

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

  • Fix GNSS typo

  • Contributors: Jose Luis Blanco-Claraco

1.0.6 (2024-06-21)

  • Create new NavStateFilter interface and separate the simple fuser and the factor-graph approach in two packages

  • Contributors: Jose Luis Blanco-Claraco

1.0.5 (2024-05-28)

1.0.4 (2024-05-14)

  • bump cmake_minimum_required to 3.5

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

1.0.1 (2024-03-28)

1.0.0 (2024-03-19)

  • use odometry

  • add new package mola_state_estimation_simple

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

Changelog for package mola_viz

2.1.0 (2025-10-20)

  • FIX: Show correct sensor rate in Hz when visualizing with a decimation

  • Fix clang-tidy warnings

  • Contributors: Jose Luis Blanco-Claraco

2.0.0 (2025-10-13)

  • Merge pull request #93 from MOLAorg/feature/better-lio Changes for new LIO

  • Fix warnings

  • fix build against old mrpt versions

  • Implement removal of decayed clouds

  • MolaViz: Add method clear_all_point_clouds_with_decay()

  • MolaViz: Add support for inserting clouds with decay_time

  • fix clang-format

  • Allow extra parameters in mola_viz per-sensor preview windows

  • MolaViz: show min/max intensity in input sensor point clouds

  • Remove old code that was needed to support very old MRPT versions

  • Contributors: Jose Luis Blanco-Claraco

1.9.1 (2025-07-07)

1.9.0 (2025-06-06)

1.8.1 (2025-05-28)

1.8.0 (2025-05-25)

  • Implement new virtual Viz methods

  • Update copyright year

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-05-06)

  • Metric maps can now be rendered as semitransparent pointclouds

  • Contributors: Jose Luis Blanco-Claraco

1.6.4 (2025-04-23)

  • modernize clang-format

  • Contributors: Jose Luis Blanco-Claraco

1.6.3 (2025-03-15)

1.6.2 (2025-02-22)

1.6.1 (2025-02-13)

1.6.0 (2025-01-21)

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

  • Drop dependency on mrpt-gui in kernel by abstracting MolaViz subwindow layout operations

  • MolaViz: show package name in GUI windows

  • Contributors: Jose Luis Blanco-Claraco

1.4.1 (2024-12-20)

1.4.0 (2024-12-18)

1.3.0 (2024-12-11)

  • mola_viz: Show IMU data in the GUI too

  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

1.2.0 (2024-09-16)

  • mola_viz: do not add a XY ground grid by default to all GUIs

  • Contributors: Jose Luis Blanco-Claraco

1.1.3 (2024-08-28)

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • Contributors: Jose Luis Blanco-Claraco

1.1.2 (2024-08-26)

1.1.1 (2024-08-23)

1.1.0 (2024-08-18)

  • Update clang-format style; add reformat bash script

  • Merge pull request #62 from MOLAorg/docs-fixes Docs fixes

  • Fix ament_xmllint warnings in package.xml

  • Contributors: Jose Luis Blanco-Claraco

1.0.8 (2024-07-29)

  • ament_lint_cmake: clean warnings

  • Contributors: Jose Luis Blanco-Claraco

1.0.7 (2024-07-24)

  • Viz interface: add API for rotate camera

  • Contributors: Jose Luis Blanco-Claraco

1.0.6 (2024-06-21)

1.0.5 (2024-05-28)

  • viz: fix mismatched free/delete inside nanogui layout

  • Contributors: Jose Luis Blanco-Claraco

1.0.4 (2024-05-14)

  • bump cmake_minimum_required to 3.5

  • MolaViz: BUGFIX: shared_ptr were captured by lambdas, delaying proper dtors. Replaced by weak_ptr’s

  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2024-04-22)

  • Fix package.xml website URL

  • Contributors: Jose Luis Blanco-Claraco

1.0.2 (2024-04-04)

1.0.1 (2024-03-28)

1.0.0 (2024-03-19)

  • ROS2 launch demos

  • use new mrpt GPS covariance field

  • visualize sensor pose

  • mola_kernel: new UI interface for datasets

  • mola-viz: show image channel of RGBD observations

  • Fix sensorPose on lidar preview

  • Viz: show GPS data

  • mola_viz: add custom icon

  • viz: more options to visualize RGBD camera observations

  • viz API: add enqueue_custom_nanogui_code()

  • viz console: add fading effect

  • mola_viz: show console messages

  • Correct usage of mola:: namespace in cmake targets

  • copyright update

  • mola_viz: support visualizing velodyne observations

  • Add look_at() viz interface

  • Fewer mutex locking()

  • reorganize as monorepo

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

  • Initial public release.

  • Contributors: Jose Luis Blanco-Claraco

Changelog for package mp2p_icp

2.0.0 (2025-10-13)

  • Merge pull request #9 from MOLAorg/feature/better-lio Better LIO

  • sm2mm cli app: add –profiler flag

  • demo sm2mm pipelines: add deskew method entry

  • CI: Add another pipeline without TBB

  • FIX: bug in non-TBB serial implementation of GN optimizer

  • CI: add running unit tests

  • FIX: potential crash in FilterDeskew

  • Add deskew unit tests

  • Add unit test for cov2cov optimizer

  • Add ‘name’ property to all generators and filters for disaggregated stats

  • Allow building without the IMU library

  • Update mola_common to 0.5.1

  • clang-tidy fixes

  • Remove dead code

  • Refactor errorTerm for pt2pt for better reusability

  • mm-viewer: add combo box to select intensity colormap

  • Add docs for filters

  • BUGFIX: FilterMerge would lost all point fields except XYZ

  • Remove external libpointmatcher

  • Update formatter script

  • icp log viewer: more options for cov2cov visualization

  • Define virtual API MetricMapMergeCapable

  • fix bug in FilterByIntensity params parser

  • Render cov2cov pairings

  • FilterByRange new parameter: metric_l_infinity

  • FilterDecimateAdaptive now exploits parallelization

  • Progress visualizing cov2cov pairings

  • New cov2cov ICP optimizer

  • Implement a new Cov2Cov matcher

  • Make Matcher_Points_Base::transform_local_to_global() to use TBB, and remove unused parameters

  • Add [[nodiscard]] to estimate_points_eigen()

  • BBox filter: fix target layer must be same type than input

  • Use fractional integers for faster sampling

  • New FPS filter

  • Remove FilterDecimateVoxelsQuadratic

  • Style: public ‘params_’ rename as ‘params’

  • New interface ‘IcpPrepareCapable’

  • Add new virtual interface NearestPointWithCovCapable

  • Refactor mp2p_icp_map into mp2p_icp_common for IMU-related parts

  • Finished integration of new IMU API package

  • Depend on imu external library

  • Move code out to the imu preintegration package

  • Move LocalVelocityBuffer to the IMU repository

  • Add [[nodiscard]] to icp_pipeline_from_yaml()

  • deskew filter: new option ‘in_place’ to avoid allocating a new cloud whenever possible

  • Finish implementation of higher-order IMU interpolator

  • Implement trajectory reconstruction for deskew

  • cmake files: prefer spaces indentation

  • Add imu preintegration package as dependency

  • FilterNormalizeIntensity can now use a fixed min/max range given by hand

  • Docs: update mp2p_icp_basics for better searchability of simplemaps

  • New option to set pointcloud alpha channel

  • Contributors: Jose Luis Blanco-Claraco

1.8.0 (2025-08-26)

  • Modernize and unify license notes in all files

  • Merge pull request #8 from MOLAorg/feat/precise-deskew Precise scan deskew: - Implement LocalVelocityBuffer inside ParameterSource’s - Update LocalVelocityBuffer from IMU data from Generators. - Export / Import LocalVelocityBuffer to/from YAML - Implement precise cloud undistortion in FilterDeskew - Use precise cloud undistortion in the context of sm2mm.

  • sm2mm: Use local velocity buffer if available

  • add serialization to velocity buffer

  • Generators now handle IMU readings and forward them to the velocity buffer

  • Update to latest mola_common for embedded builds

  • linter: clang-tidy fixes

  • fix param name for better consistency

  • feature: Option to use std::map instead of tsl robin_map in voxelization filters

  • docs: fill txt2mm man page

  • Feature: txt2mm new import format ‘xyzrgb_normalized’

  • remove code to support older MRPT versions; code style clean ups

  • Fix: FilterAdjustTimestamps may trigger exception if input cloud is empty

  • Contributors: Jose Luis Blanco-Claraco

1.7.1 (2025-06-20)

  • docs: Populate sm2mm app page

  • New feature: all pipeline modules now has an optional “plugin” YAML field to load them from user-provided plugins.

  • Update REAME ROS badges

  • Contributors: Jose Luis Blanco-Claraco

1.7.0 (2025-06-02)

  • metric map data type: add new metadata YAML field

  • Update broken link to ROS Index

  • docs: change references to default branch master->develop

  • Default generator: more details in debug traces when ignoring an observation

  • Update package license tag to “BSD-3-Clause”

  • Integrate vscode with colcon custom settings and clang-tidy

  • Fix build unit tests with older gcc versions

  • Drop apparently useless build dep

  • Contributors: Jose Luis Blanco-Claraco

1.6.7 (2025-04-03)

  • mm-georef cli app: support reading/writing georef info in YAML format

  • georeferencing metadata now can be read/writen as YAML files

  • clang-format: switch to column limit=100

  • Update to robin-map v1.4.0

  • Contributors: Jose Luis Blanco-Claraco

1.6.6 (2025-02-26)

  • Docs: add page for mm-georef

  • docs: Update 2025 paper citation

  • print metric_map_t as string: show lat/lon coordinates in a format directly compatible with Google Map searches.

  • New cli tool: mm-georef, to manipulate the geo-referencing metadata of metric map files

  • Contributors: Jose Luis Blanco-Claraco

1.6.5 (2025-01-28)

  • Add GitHub actions

  • Add pole-detector filter

  • mm-filter app: add –load-plugins flag too

  • Add sanity check assert in FilterDeskew

  • Contributors: Jose Luis Blanco-Claraco

1.6.4 (2024-12-18)

  • merge two docs pages in one to shorten the docs TOC

  • Update README.md: Mark ROS2 Iron as EOL

  • Also use TBB for parallel solving point-to-plane pairings

  • Contributors: Jose Luis Blanco-Claraco

1.6.3 (2024-11-11)

  • icp-log-viewer: also reduce GUI refresh rate

  • mm-viewer: avoid useless GUI refresh (CPU usage reduction)

  • txt2mm: Add input filter xyzrgb

  • mm-viewer: add a ‘fit view to map’ button

  • New cli app rawlog-filter

  • FilterCurvature: better handling scans with <=3 points in some rings

  • new subcommand ‘sm-cli tf’

  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2024-09-14)

  • Expose << and >> operators for geo-reference data structures

  • Fix missing build_dep

  • Contributors: Jose Luis Blanco-Claraco

1.6.1 (2024-09-11)

  • Fix missing catkin buildtoo_depend for ROS1 builds

  • Update RTTI macros for upcoming MRPT 2.14.0

  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2024-09-08)

  • Port Point2Plane matcher to use the new NN-for-planes API

  • mp2p_icp_map library: add NearestPlaneCapable virtual API

  • cmake: move from glob expressions to explicit lists of source files

  • clarify eigenvalues order in headers

  • Contributors: Jose Luis Blanco-Claraco

1.5.6 (2024-09-07)

  • sm2mm cli: show map contents before writing to disk

  • add another demo sm2mm file for the mola tutorials

  • Add another sm2mm demo file w/o deskew for the mola mapping tutorial

  • Matcher_Point2Plane: fix build error in armhf

  • Fix build with embedded mola_common

  • README: Add ROS badges for all architectures

  • Contributors: Jose Luis Blanco-Claraco

1.5.5 (2024-08-27)

  • Explicitly add tbb as dependency in package.xml

  • Depend on new mrpt_lib packages (deprecate mrpt2)

  • FIX: build errors in armhf arch

  • Contributors: Jose Luis Blanco-Claraco

1.5.4 (2024-08-20)

  • Do not use Eigen::Vector for compatibility with Eigen3 <3.4 in ROS Noetic

  • Contributors: Jose Luis Blanco-Claraco

1.5.3 (2024-08-20)

  • Re-add ROS1 Noetic as supported distribution

  • Generator sanity check asserts: more informative error messages

  • sm-cli: new command ‘join’ to merge simplemaps

  • icp-log-viewer UI: new keybind ‘I’ to switch initial/final pose

  • icp-log-viewer UI: add option to visualize voxelmaps empty space

  • Contributors: Jose Luis Blanco-Claraco

1.5.2 (2024-07-24)

  • Add sm2mm yaml example for dynamic/static obstacles

  • Update sample sm2mm pipelines to use de-skew

  • docs: add mm-filter example

  • Fix pointcloud ptr typo

  • More safety sanity checks added in mm-viewer and sm2mm

  • BUGFIX: Generator should not create empty maps for GPS observations

  • Contributors: Jose Luis Blanco-Claraco, Raúl Aguilera López

1.5.1 (2024-07-03)

  • Update docs

  • ICP: Add optional functors for before-logging maps

  • icp-log-viewer UI: fix potential out-of-range exception when autoplay is on

  • FilterAdjustTimestamps: add new param ‘time_offset’ useful for multiple LiDARs setups

  • Contributors: Jose Luis Blanco-Claraco

1.5.0 (2024-06-21)

  • ICP: Add optional user-provided per-iteration hooks

  • Add new filter: FilterByRing

  • Add new filter: FilterAdjustTimestamps

  • Add sanity checks for point cloud fields.

  • Fix typo in default class for FilterDeskew

  • generators API: add bool return type to detect if observation was actually processed

  • generic Generator: handle velodyne observations so timestamps are generated

  • Contributors: Jose Luis Blanco-Claraco

1.4.3 (2024-06-11)

  • Add pointcloud_sanity_check() auxiliary function

  • Generator: more DEBUG level traces

  • BUGFIX: FilterDeskew generated buggy output points if the input does not contain timestamps

  • Add sanity checks for point cloud fields

  • ICP log records now also store the dynamic variables. icp-log-viewer displays them.

  • ICP log files: automatically create output directory if it does not exist

  • Update ros2 badges (added Jazzy)

  • Contributors: Jose Luis Blanco-Claraco

1.4.2 (2024-05-28)

  • mm-viewer: add check-all, check-none to layer filters

  • Add new filter: FilterRemoveByVoxelOccupancy

  • mm-viewer: camera travelling keyframes-based animations

  • mm-viewer: navigate the map with keyboard arrows; add a load button

  • mm-viewer: can now also draws a TUM trajectory overlaid with the map

  • UI apps: smoother rendering

  • icp-log-viewer and mm-viewer: the UI now has a XYZ corner overlay

  • sm-cli: command “export-kfs” now has an optional flag ‘–output-twist’

  • FilterDeskew: ignore empty input maps

  • More debug-level traces

  • deskew filter: Fix case of variable names in docs

  • sm-cli app: Add new command ‘trim’ to cut simplemaps by bounding box

  • mm-viewer: show mouse pointing coordinates

  • Contributors: Jose Luis Blanco-Claraco

1.4.1 (2024-05-19)

  • Fix build for older mrpt versions

  • ICP pipelines: Implement loading quality_checkpoints parameter from YAML config file

  • Quality evaluators: add the option for ‘hard discard’

  • Update QualityEvaluator_Voxels to use prebuilt voxel layers from input maps. Add unit tests.

  • BUGFIX: Fix deserializing georeferenced .mm files stored in <1.4.0 format

  • ICP: quality evaluators can now have formulas in their parameters too

  • mm-viewer and icp-log-viewer: extend zoom range so maps of tens of kms can be viewed at once

  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-05-06)

  • Update commit for robin-map to latest version (patch contributed upstream)

  • icp-log-viewer: UI now has a slider for each map point size

  • ICP: Add a new quality_checkpoint parameter to early abort ICP attempts

  • georeferenced maps: T_enu_to_map now has a covariance field

  • mm-viewer: display ENU frame too

  • Contributors: Jose Luis Blanco-Claraco

1.3.3 (2024-04-30)

  • Add minimum_input_points_to_filter option to FilterDecimateVoxels

  • FIX: QualityEvaluator_PairedRatio throws when one of the reference maps is empty

  • FIX BUG: Won’t try to match 2D pointclouds if their height is different

  • Clarify comments in metricmap.h about geodetic references

  • Fix printing metric_map_t contents when it only has a gridmap

  • Fix potential dangling references (g++ 13 warning)

  • Fix potential use of uninitialized point index

  • Bump cmake_minimum_required to 3.5

  • Contributors: Jose Luis Blanco-Claraco

1.3.2 (2024-04-22)

  • tsl::robin_map library is no longer exposed neither in the public API nor as public headers (PIMPL pattern) This is to prevent Debian-level collisions with other packages also exposing it.

  • add first icp-log-viewer docs

  • Contributors: Jose Luis Blanco-Claraco

1.3.1 (2024-04-16)

  • mm-viewer and icp-log-viewer: saves UI state in persistent user config file

  • FIX: missing UI refresh when clicking showPairings checkbox

  • renamed apps for less verbose names: icp-run, icp-log-viewer

  • ICP core now defines a variable ICP_ITERATION for use in programmable formulas in pipelines

  • icp-log-viewer: much faster rendering of ICP iteration details

  • mm-viewer: fix bug in calculation of bounding box

  • Merge docs with main MOLA repo

  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-03-10)

  • mm-viewer: new options to visualize georeferenced maps

  • New sm-cli commands: –cut, –export-keyframes, –export-rawlog

  • propagate cmake deps downstream

  • metric_map_t: add georeferencing optional field

  • mm-filter: add –rename operation

  • GetOrCreatePointLayer() moved to its own header and uses shared ptrs

  • FilterMerge: add param input_layer_in_local_coordinates

  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-02-16)

  • Add new apps: sm-cli, mm-info, txt2mm, mm2txt, mm-filter

  • Improved documentation.

  • new filter FilterByIntensity

  • FilterNormalizeIntensity: add option for intensity range memory

  • FilterByRange: renamed params to simplify them (removed param ‘keep_between’)

  • FIX: missing intensity channel in decimate voxel when using some decimation methods

  • sm-cli: new subcommand ‘level’ to maximize the ‘horizontality’ of built maps

  • add optional profiler to filter pipelines

  • Contributors: Jose Luis Blanco-Claraco

1.1.1 (2024-02-07)

  • MergeFilter: now also handles CVoxelMap as inputs

  • more memory efficient defaults

  • FilterCurvature: now based on ring_id channel

  • Use hash map min_factor to speed up clear()s

  • add missing hash reserve

  • PointCloudToVoxelGridSingle: Fix wrong initialization of point count

  • Contributors: Jose Luis Blanco-Claraco

1.1.0 (2024-01-25)

  • FilterDecimateVoxels: Replace 3 bool parameters with an enum

  • Fix clang warnings

  • Save and visualize ICP step partial solutions

  • QualityEvaluator_PairedRatio: now does not require parameters

  • Add filter: Bonxai VoxelMap -> 2D gridmap. Bayesian filtering of voxel columns

  • Generator: allow defining custom metric maps directly in the YAML configuration

  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2024-01-20)

  • Gauss-Newton solver: Add optional prior term

  • Added FilterMerge and modifications to allow sm2mm to build any type maps

  • sm2mm: add option for lazy-load external directory

  • Decimate filter: add flatten_to option to efficiently convert 3D->2D point clouds

  • FilterBoundingBox: parameter name changed for clearer split of inside / outside bbox

  • Deskew: add option to bypass de-skew operation

  • bump minimum required mrpt version

  • Better coloring; add option to export mm layers

  • Use new mrpt api to propagate point properties; add final_filter stage to sm2mm

  • sm2mm: add verbosity flag

  • bbox filter: allow processing variables too

  • Introduce robot_{x,y,z} variables

  • Better mm-viewer; update sm2mm demo file

  • Progress with RST docs

  • Add missing robotPose argument to generators; progress with mm-viewer

  • Add sm2mm app

  • Add FILE attribute to license tag

  • More dynamic parameters

  • fix print format

  • Add Deskew filter

  • update CI to u22.04

  • Introduce Parameterizable interface

  • New layers: create of the same input cloud type

  • Add FilterCurvature

  • filter: optional additional layer for deleted points

  • FIX: important error in robust gradient

  • expose GN params as public

  • new generators and filters

  • Filters: use tsl robin_map, faster than std::unordered_map

  • prefer nn_radius_search() to exploit nanoflann rknn

  • Minor UI updates

  • gui: autoplay

  • estimate_points_eigen.h moved to the mp2p_icp_map library

  • Solvers: add option to select by correction magnitude

  • add [[nodiscard]] to generator API

  • Add specialized implementation of voxelize for 1 pt/vx

  • add Cauchy robust kernel

  • Add support for TBB for parallelization

  • add angularThresholdFactor; add max plane-to-pt distance

  • viewer UI: show number of points per layer

  • Prefer Teschner’s spatial hash

  • Use nn_single_search() when possible

  • viewer: add follow local checkbox

  • Add new filter: FilterDecimateVoxelsQuadratic

  • FilterDecimateVoxels: new option use_closest_to_voxel_average

  • FilterDecimateVoxels: new param use_random_point_within_voxel

  • less unnecesary mem allocs

  • generator: create map layers first, then filter by observation name/class filter

  • port to NN radius search

  • add “enabled” property to base Matcher class

  • Solvers: add property ‘enabled’

  • Add robust kernels to GN solver

  • Add optional profiler to ICP

  • New parameter decimationDebugFiles

  • Add plugin option to viewer

  • VoxelFilter: is now ~7 times faster and does not need a bounding box parameter, thanks to using an associative container.

  • viewer: add new flag -f to load one single log file

  • viewer: increase slider range for max far plane

  • Options to recolorize maps in icp log viewer

  • Fix regression in rendering options for point clouds

  • Matcher: new parameter bounding_box_intersection_check_epsilon

  • New env var MP2P_ICP_GENERATE_DEBUG_FILES can be use to override generation of icp log files

  • BUGFIX: Ignored sensorPose for Generator::filterPointCloud()

  • Allow ICP matching against voxel metric map types

  • mp2p_icp_filters::Generator now can create a map from a generic INI file (e.g. voxelmaps)

  • fix references to old pointcloud_t -> metric_map_t

  • Remove support for MRPT<2.4.0

  • Contributors: Jose Luis Blanco-Claraco

0.2.2 (2023-09-08)

  • Fix missing cmake dependencies between libraries

  • Update mola_common

  • Refactor into a new small library mp2p_icp_map with just the metric_map_t class

  • sync mola_common submodule

  • Update submodule mola_common

  • Remove redundant section

  • Update ROS badges

  • Contributors: Jose Luis Blanco-Claraco

0.2.1 (2023-09-02)

  • Update copyright date

  • Update to new name of mola_common

  • update ros badges

  • Contributors: Jose Luis Blanco-Claraco

0.2.0 (2023-08-24)

  • First release as MOLA submodule.

0.1.0 (2023-06-14)

  • First official release of the mp2p_icp libraries

  • Contributors: FranciscoJManasAlvarez, Jose Luis Blanco-Claraco