Only released in EOL distros:
Package Summary
Contains a new implementation of 3D NDT registration. Used to find the relative positions of two point clouds.
- Author: Todor Stoyanov, Jari Saarinen, Henrik Andreasson
- License: BSD
- Source: svn http://oru-ros-pkg.googlecode.com/svn/trunk/perception_oru
Package Summary
Contains a new implementation of 3D NDT registration. Used to find the relative positions of two point clouds.
- Maintainer: Todor Stoyanov <todor.stoyanov AT oru DOT se>, Jari Saarinen <jari.p.saarinen AT gmail DOT com>, Henrik Andreasson <henrik.andreasson AT oru DOT se>
- Author: Todor Stoyanov, Jari Saarinen, Henrik Andreasson
- License: BSD
- Source: git https://github.com/tstoyanov/perception_oru-release.git (branch: upstream)
Package Summary
Contains a new implementation of 3D NDT registration. Used to find the relative positions of two point clouds.
- Maintainer: Todor Stoyanov <todor.stoyanov AT oru DOT se>, Jari Saarinen <jari.p.saarinen AT gmail DOT com>, Henrik Andreasson <henrik.andreasson AT oru DOT se>, Tomasz Kucner <tomasz.kucner AT oru DOT se>
- Author: Todor Stoyanov, Jari Saarinen, Henrik Andreasson
- License: BSD
- Source: git https://github.com/tstoyanov/perception_oru-release.git (branch: release-source)
Package Summary
Contains a new implementation of 3D NDT registration. Used to find the relative positions of two point clouds.
- Maintainer: Todor Stoyanov <todor.stoyanov AT oru DOT se>, Jari Saarinen <jari.p.saarinen AT gmail DOT com>, Henrik Andreasson <henrik.andreasson AT oru DOT se>, Tomasz Kucner <tomasz.kucner AT oru DOT se>
- Author: Todor Stoyanov, Jari Saarinen, Henrik Andreasson
- License: BSD
Contents
This package implements point cloud registration, using the Normal Distributions Transform. Two basic classes are available - point to distributiuon registration (NDTMatcherP2D) and distribution to distribution registration (NDTMatcherD2D). The point to distribution algorithm is described here and the distribution to distribution here.
Documentation
Refer to CodeAPI for detailed description of the classes and interfaces.
Example
1 #include <ndt_matcher_d2d.h>
2 #include <pointcloud_utils.h>
3
4 int main() {
5 double __res[] = {0.5, 1, 2, 4};
6 std::vector<double> resolutions (__res, __res+sizeof(__res)/sizeof(double));
7 lslgeneric::NDTMatcherD2D <pcl::PointXYZ,pcl::PointXYZ> matcherD2D (false,false,resolutions);
8 Eigen::Transform<double,3,Eigen::Affine,Eigen::ColMajor> T;
9 pcl::PointCloud<pcl::PointXYZ> cloud1,cloud2;
10 //... load information into cloud1 and cloud2 ...
11 bool ret = matcherD2D.match2D(cloud1,cloud2,T);
12 //we now have T, which minimizes |cloud1 - cloud2*T|
13 lslgeneric::transformPointCloudInPlace<pcl::PointXYZ>(T,cloud2);
14 }