diff --git a/docs/classicp_1_1_i_c_p.html b/docs/classicp_1_1_i_c_p.html index 314ee30..e464503 100644 --- a/docs/classicp_1_1_i_c_p.html +++ b/docs/classicp_1_1_i_c_p.html @@ -176,7 +176,7 @@
Interface for iterative closest points; please read the Detailed Description for usage information.
a
and b
be two point clouds of type std::vector<Vector>
. Then, given an ICP instance icp
of type std::unique_ptr<icp::ICP>
, perform the following steps.a
and b
with an initial guess for the transform t
.
-Definition at line 17 of file icp.cpp.
+Definition at line 16 of file icp.cpp.
@@ -289,7 +289,7 @@Definition at line 50 of file icp.cpp.
@@ -316,7 +316,7 @@Definition at line 59 of file icp.cpp.
+Definition at line 58 of file icp.cpp.
@@ -337,7 +337,7 @@Definition at line 89 of file icp.cpp.
@@ -367,7 +367,7 @@name
.
name
is a valid registered method. See ICP::is_registered_method. Definition at line 113 of file icp.cpp.
+Definition at line 112 of file icp.cpp.
@@ -396,7 +396,7 @@Definition at line 121 of file icp.cpp.
+Definition at line 120 of file icp.cpp.
@@ -456,7 +456,7 @@constructor
, returning false
if name
has already been registered.
-Definition at line 100 of file icp.cpp.
+Definition at line 99 of file icp.cpp.
@@ -485,7 +485,7 @@Definition at line 108 of file icp.cpp.
+Definition at line 107 of file icp.cpp.
@@ -512,7 +512,7 @@Definition at line 15 of file icp.cpp.
+Definition at line 14 of file icp.cpp.
diff --git a/docs/dir_37cc3c73d5254b7419be442ea9d38477.html b/docs/dir_37cc3c73d5254b7419be442ea9d38477.html new file mode 100644 index 0000000..e570bc4 --- /dev/null +++ b/docs/dir_37cc3c73d5254b7419be442ea9d38477.html @@ -0,0 +1,89 @@ + + + + + + + +
+ scan matching
+
+ ICP algorithm library
+ |
+
+Directories | |
versions | |
book | |
▼ src | |
▼ algo | |
kdtree.cpp | |
kdtree.d | |
kdtree.h | |
quickselect.cpp | |
quickselect.d | |
quickselect.h | |
▼ icp | |
geo.cpp | |
geo.d | |
geo.h | |
icp.cpp | |
icp.d | |
icp.h | |
point_to_line.cpp | |
point_to_line.d | |
vanilla.cpp | |
vanilla.d | |
▼ sim | |
lidar_view.cpp | |
lidar_view.d | |
lidar_view.h | |
sim_config.cpp | |
sim_config.d | |
sim_config.h | |
▼ book | |
versions | |
▼ src | |
▼ algo | |
kdtree.cpp | |
kdtree.d | |
kdtree.h | |
quickselect.cpp | |
quickselect.d | |
quickselect.h | |
▼ icp | |
geo.cpp | |
geo.d | |
geo.h | |
icp.cpp | |
icp.d | |
icp.h | |
point_to_line.cpp | |
point_to_line.d | |
vanilla.cpp | |
vanilla.d | |
▼ sim | |
lidar_view.cpp | |
lidar_view.d | |
lidar_view.h | |
sim_config.cpp | |
sim_config.d | |
sim_config.h |
Go to the source code of this file.
Contents | Overview Features Usage - Example |
+ example_sec
First, download and install the dependencies.
-There is also a dependency on simple-test if you want to run the tests (make test
).
It is likely that you already have SDL installed. If not, follow the instructions at the link provided (which goes to the SDL website). Then, to download and install the remaining dependencies, run
+First, download and install the dependencies. Only eigen3 is necessary for the library. If you only wish to build the library, install eigen3 only. The remaining dependencies are only for the visualization tool.
+Dependency | Library Location (at which) | Header Location (under which) |
---|---|---|
eigen3 | N/A | /usr/local/include/eigen3/ |
SDL2 | $(sdl2-config --cflags) | $(sdl2-config --libs) |
My SDL2 wrapper | /usr/local/lib/libsdlwrapper.a | /usr/local/include/sdlwrapper/ |
libcmdapp2 | /usr/local/lib/libcmdapp.a | /usr/local/include/ |
libconfig | /usr/local/lib/libconfig.a | /usr/local/include/ |
There is also a dependency on simple-test if you want to run the tests (make test
). Please follow the installation instructions there.
It is likely that you already have SDL installed. If not, follow the instructions at the link provided (which goes to the SDL website). Do the same for eigen3. Then, to download and install the remaining dependencies, run
Now, run
Then, a simple clone should suffice.
To use the library, read the INSTALL.md document in the repository.
+Instructions are printed to standard output.
The program itself can be built with
which will create an executable named main
in the working directory.
You can benchmark with make bench
.
+ scan matching
+
+ ICP algorithm library
+ |
+
The algorithm runs extremely fast now. We only need it to run at 6hz with our current LiDAR.
+ +It also matches quite well. Below is the result of running this ICP implementation on two point clouds obtained within the workspace.
+ +However, there is still remove for improvement with regard to outlier rejection and other parts of the algorithm (for instance, adopting a point-to-line metric).
+
+ scan matching
+
+ ICP algorithm library
+ |
+
v1 |
#include <cassert>
#include <cstdlib>
#include "icp.h"
#include "util/logger.h"
#include <Eigen/Core>
#include <Eigen/SVD>
+ scan matching
+
+ ICP algorithm library
+ |
+
#include <cassert>
#include <cstdlib>
#include "icp.h"
#include "util/logger.h"
#include <Eigen/Core>
#include <Eigen/SVD>