Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
jazzy

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
kilted

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
lyrical

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

Package symbol

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
rolling

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange

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

mp2p_icp_core package from mp2p_icp repo

mp2p_icp mp2p_icp_core mp2p_icp_viz

ROS Distro
humble

Package Summary

Version 3.1.0
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-11-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

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

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

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

Changelog for package mp2p_icp_core

3.1.0 (2026-11-01)

  • New filters: FilterTraversability (obstacles over a 2.5D ground model, canopy aware) and FilterInsertPoint (#135)
  • New filter: FilterNormals (#147)
  • New cli tool mm-merge, to merge the layers of several metric map files (#137)
  • sm-cli: new 'level-walls' to correct global pitch/roll from wall and floor normals (#128)
  • mm2txt: new --no-header flag; txt2mm: honor --layer
  • YAML: expand ${VAR|default} variables, quote-aware comments (#142)
  • ParameterSource: new hasVariable() and getVariableValue(); getVariableValues() returns a const reference
  • Censi3D covariance returned in the [x y z yaw pitch roll] layout (#141)
  • Do not rotate view directions twice with MRPT >= 3.6.0 (#148)
  • Voxel grids: round voxel indices down, not toward zero (#139)
  • metric_map_t::merge_with(): transform planes, handle self-merge, reject non-point into point layers (#144)
  • Generator: per-instance IMU transformers and deep-copied IMU state
  • Parameterizable: reject out-of-range unsigned parameters
  • Gauss-Newton: fail on a non-finite step instead of returning a NaN pose
  • FilterDeskew, FilterMerge, FilterByRange: fewer copies and allocations
  • FilterFartherPointSampling: deterministic start point; FilterDecimateAdaptive: correct budget count
  • Matcher_Cov2Cov: clear error for layers of different map classes (#149)
  • sm2mm: never add keyframe IMU readings to a restored velocity buffer
  • demos: sm2mm traversability 2D obstacles pipeline; voxel map demos pin prob_miss (#143)
  • Fix compiler warnings
  • Contributors: Jose Luis Blanco-Claraco

3.0.2 (2026-10-06)

  • Fix voxel grid hash masked to 20 bits, which blew up tsl::robin_map memory (#127)
  • Contributors: Jose Luis Blanco-Claraco

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

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mp2p_icp_core at Robotics Stack Exchange