|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |
Launch files
Messages
Services
Plugins
Recent questions tagged mp2p_icp_core at Robotics Stack Exchange
|
mp2p_icp_core package from mp2p_icp repomp2p_icp mp2p_icp_core mp2p_icp_viz |
ROS Distro
|
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
Additional Links
Maintainers
- Jose-Luis Blanco-Claraco
Authors
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
Package Dependencies
| Deps | Name |
|---|---|
| ros_environment | |
| catkin | |
| mola_common | |
| mrpt_containers | |
| mrpt_rtti | |
| mrpt_serialization | |
| mrpt_system | |
| mrpt_obs | |
| mrpt_poses | |
| mrpt_maps | |
| mrpt_tfest | |
| mrpt_topography | |
| mola_imu_preintegration |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| mp2p_icp | |
| mp2p_icp_viz |