- 10 Apr, 2020 1 commit
-
-
Nicolas Cadart authored
-
- 09 Apr, 2020 2 commits
-
-
Nicolas Cadart authored
-
Nicolas Cadart authored
-
- 08 Apr, 2020 2 commits
-
-
Nicolas Cadart authored
Enable full GPS pose conversion See merge request !23
-
Nicolas Cadart authored
- Convert full 3d GPS pose if available - Estimate pitch and yaw orientations from motion otherwise - Remove incorrect magnetic dip (dip angle seems to represent yaw angle here) - Add local ENU frame publishing for easier debug
-
- 25 Mar, 2020 4 commits
-
-
Nicolas Cadart authored
Replace old SLAM in LidarView superbuild by this one See merge request !22 Replace the old LiDAR SLAM currently in LidarView by this one. Major changes : * The SLAM lib `LidarSlam` and paraview plugin `LidarSlamPlugin` can now be correctly installed (binaries, libs and header files) * CMake idefault build type and C++ standard * Modifications on dependencies finding and linking * Compilation warnings corrections Related merge requests (please merge them in this following order) : * [LiDAR SLAM](!22) (this MR) * [LidarView-Superbuild](LidarView/lidarview-superbuild!6) * [LidarView-Core](LidarView/lidarview-core!57) * [LidarView](LidarView/lidarview!25)
-
Nicolas Cadart authored
CMAKE_BUILD_TYPE defaults to RelWithDebInfo CMAKE_CXX_STANDARD defaults to 14
-
Nicolas Cadart authored
Set g2o as quiet Set messages as STATUS
-
Nicolas Cadart authored
-
- 13 Mar, 2020 2 commits
-
-
Nicolas Cadart authored
Ceres was needed in PUBLIC header LidarSlam/MotionModel.h, so needed to be public too for correct compilation and linking without system ceres.
-
Nicolas Cadart authored
Rename slamlib library to LidarSlam. Install header files to include/LidarSlam directory. Change repo hierarchy by splitting slam_lib into src and include/LidarSlam directories. Use add_definitions() instead of add_compile_definitions() for CMake < 3.12 compatibility.
-
- 12 Mar, 2020 1 commit
-
-
Nicolas Cadart authored
G2O dependency becomes optionnal. If G2O is found, pose graph optimization is compiled, and slamlib is built against G2O.
-
- 10 Mar, 2020 3 commits
-
-
Nicolas Cadart authored
Add comments in CMakeLists. Add default build type to RelWithDebInfo. Add installation step to install libslamlib.so and libLidarSlamPlugin.so. Rename Paraview wrapping to LidarSlamPlugin. Rename PARAVIEW_WRAPPING option to SLAM_PARAVIEW_PLUGIN. Improve Eigen3 dependency search to use Eigen target or header files otherwise.
-
Nicolas Cadart authored
-
Nicolas Cadart authored
-
- 02 Mar, 2020 1 commit
-
-
Nicolas Cadart authored
-
- 26 Feb, 2020 9 commits
-
-
Nicolas Cadart authored
- Fix methods const correctness. - Move WithinFrameTrajMode and MatchingMode enums inside Slam private section to avoid polluting global scope. - Add Slam::BlobPointRejectionMapping. - Fix printing issues and add Ceres problem building duration. - Reorder code for better readibility. See merge request !20
-
Nicolas Cadart authored
-
Nicolas Cadart authored
Add Slam::BlobPointRejectionMapping. Fix printing issues and add Ceres problem building duration. Reorder code and add comments.
-
Nicolas Cadart authored
Move WithinFrameTrajMode and MatchingMode enums to private Slam section to avoid polluting global scope as they are only used within private Slam methods. Rename there values to CAPS. Use enum classes instead of regular enums to aoid name clashes.
-
Nicolas Cadart authored
-
Nicolas Cadart authored
-
Nicolas Cadart authored
Add multi-threading See merge request !19
-
Nicolas Cadart authored
CMake minimum version is updated to 3.9 to use modern OpenMP support. OpenMP target is used only if available. The include of <omp.h> is useless as only #pragma omp are used here.
-
Nicolas Cadart authored
Clamp num_threads in parallel sections to max number of available sections to limit overhead. Protect from data race with '#pragma omp atomic'. Add an omp parallel for section in whole pointcloud transform. Specify private variables in SSKE parallel. Add doc on strange behavior with nanoflann and OpenMP parallel sections.
-
- 24 Feb, 2020 3 commits
-
-
Nicolas Cadart authored
-
Nicolas Cadart authored
Add Slam::NbThreads attribute. Use OpenMP to parallelize ICP for loops on all keypoints. Use OpenMP parallel sections to update maps, get keypoints from map or build kd-trees. Use several threads in Ceres solver to compute jacobians and residuals.
-
Nicolas Cadart authored
Add OpenMP dependency. Use OpenMP to parallelize for-loops over scan lines.
-
- 21 Feb, 2020 5 commits
-
-
Nicolas Cadart authored
Remove EdgeIndex, PlanarIndex and BlobIndex members. They were useless, and removing them is faster and allow us to parallelize processing.
-
Nicolas Cadart authored
-
Nicolas Cadart authored
Various code fixes See merge request !18
-
Nicolas Cadart authored
-
Nicolas Cadart authored
Simplify and use faster Eigen cast in CeresCostFunctions. Set Index and Cloud as protected memebers in KDTreePCLAdaptor. Use default constructor in AffineIsometry and clean other constructor.
-
- 20 Feb, 2020 4 commits
-
-
Nicolas Cadart authored
-
Nicolas Cadart authored
-
Nicolas Cadart authored
- Provide default values in Slam.h only for parameters : internal variables are initialized in constructor and reset in Reset() method. - Add SLAM average time processing. - Update MatchRejectionHistogramBlob in ICP. - Use nanoflann (KDTreePCLAdaptor) for blob points intead of flann (pcl::KdTreeFLANN). - Add PCL_NO_PRECOMPILE in slam_lib/PointCloudStorage.h.
-
Nicolas Cadart authored
In SpinningSensorKeypointExtractor: Use binary flags to represent keypoint label and validity for each keypoint type. Update GetDebugArray() to return separate validity and label vectors for each type of keypoint. Do not invalidate selected keypoints.
-
- 19 Feb, 2020 3 commits
-
-
Nicolas Cadart authored
Improve reset of internal variables at the reception of each new frame. Use enum for keypoint type instead of hardcoded values.
-
Nicolas Cadart authored
-
Nicolas Cadart authored
When initializing multiple references or pointers, & or * char must be added for each variable.
-