Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
jazzy

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
kilted

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
lyrical

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
rolling

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.0.1
License BSD-3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mp2p_icp.git
VCS Type git
VCS Version develop
Last Updated 2026-09-29
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

C++ libraries for multi primitive-to-primitive (MP2P) ICP algorithms and point cloud processing pipelines, plus headless CLI applications. No GUI/display dependencies; see mp2p_icp_viz for the GUI apps.

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package mp2p_icp_core

3.0.1 (2026-09-28)

  • Disable LTO for GCC < 12, which miscompiled devirtualized calls into MRPT classes (hanging/aborting unit tests on ROS 2 Humble)
  • Contributors: Jose Luis Blanco-Claraco

3.0.0 (2026-09-28)

  • FilterMLS: fix per-point fields (color, intensity, normal) getting misaligned with their points under TBB
  • sm2mm: do not run per-frame filters on IMU-only observations
  • Keep per-point fields in sync for VoxelAverage and flatten_to decimation (fixes out-of-bounds read)
  • Add FilterRangeBiasCorrection: per-class range and incidence surface-bias model
  • FilterDeskew: IMU methods take their initial velocity from 'twist' when defined
  • FilterDeskew: fix ignore_accelerometer=true integrating a phantom free fall
  • Add DecimateMethod::RotatingIndex, removing the shared per-scan displacement of FirstPoint decimation
  • Matcher_Cov2Cov: optional per-point weighting of pairings by range and by beam incidence angle
  • Solver_GaussNewton: make the parallel accumulation of H and g deterministic across thread counts
  • FilterDecimateVoxels: faster ClosestToAverage/VoxelAverage via PointCloudToVoxelGridAverage; smaller voxel_t for FirstPoint
  • Fix pre-existing clang-format-14 violations
  • Add unit tests for previously untested code, fix a Matcher_Adaptive crash
  • ICP: optional freezePairingsAfterIteration parameter
  • Port to MRPT's CMultiMetricMap::mapsList()
  • Port to MRPT 3.x (mrpt::opengl -> mrpt::viz, per-component find_package, yaml API changes, camera controller, etc.)
  • Contributors: Jose Luis Blanco-Claraco

2.14.1 (2026-09-15)

  • Geman-McClure: square the kernel parameter, as its own derivation says (#102)
  • Two optional, env-gated solver diagnostics: H spectrum and the Birge ratio (#93)
  • Contributors: Jose Luis Blanco-Claraco

2.14.0 (2026-09-05)

  • Point matchers (Matcher_Points_DistanceThreshold, Matcher_Points_Blend): fixed a nondeterministic pairing order caused by parallel reduction depending on TBB thread scheduling; the correspondence list is now a function of the input alone, regardless of thread count.
  • Solver_GaussNewton: the robust kernel now receives a whitened residual (using the existing pair weight as the whitening factor) instead of a raw metric or Mahalanobis norm, so [robustKernelParam]{.title-ref} means the same number of sigmas for every pair type. Bit-identical for pipelines using default weights.
  • GravityPrior: report the fraction of the final rotational information the prior actually contributed, via new [gravity_information_share]{.title-ref} field in [OptimalTF_Result]{.title-ref} and [Results]{.title-ref} (negative when no prior was given); this value is now also persisted across serialization ([Results]{.title-ref} format v1) and reset at the start of each solve.
  • New FilterPlanePatches: extracts large planar patches (equation, centroid, area, point count) into [metric_map_t::planes]{.title-ref}, complementing FilterEdgesPlanes' per-point labeling. Deterministic greedy extraction seeded by per-point normals. [metric_map_t]{.title-ref} serialization goes to v6.
  • FilterVoxelReduction: made the downsampling order-independent (selection no longer depends on input point order) and tightened bounds on [range_min]{.title-ref} and [normal_agreement_deg]{.title-ref}.
  • Contributors: Jose Luis Blanco-Claraco

2.13.1 (2026-08-25)

  • Merge pull request #94 from MOLAorg/feat/mm-filter-generators-create-layer mm-filter: create new metric map layers via generators:

  • Fix stale doc URLs missing the mp2p_icp_core path segment These sm2mm/mm-filter demo comments and the sm2mm.h docstring still pointed at pre-split paths (apps/sm2mm, apps/mm-filter, top-level demos/), left over from the mp2p_icp_core/mp2p_icp_viz package split. Same class of issue as flagged in review for the new demo added in this branch; fixing the other pre-existing occurrences found by a repo-wide search.

  • Address review: fix demo URL, doc precedence, and unresolved formula check

    • Fix stale doc link in the new demo (missing mp2p_icp_core path segment).

    - CreateMetricMapFromDefinition(): docs said "exactly one" of the two definition sources must be given, but the implementation

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange