Skip to content
Snippets Groups Projects
Commit 2edcd088 authored by Guilhem Saurel's avatar Guilhem Saurel
Browse files

[wip/ros-aicp-mapping] Initial Import

parent 1104baf6
No related branches found
No related tags found
No related merge requests found
Auto-tuned Iterative Closest Point (AICP) is a module for laser-based localization and mapping (Nobili et al., ICRA 2017). The implementation of AICP includes a module for localization failure prediction (Nobili et al., ICRA 2018). The registration strategy is based on the libpointmatcher framework (Pomerleau et al., AR 2012).
# robotpkg Makefile for: wip/ros-aicp-mapping
# Created: Guilhem Saurel on Fri, 24 Jan 2020
#
ROS_PKG= aicp_mapping
ROS_METAPKG= yes
ROS_VERSION= 0.0.1
ROS_REPO= ori-drs
HOMEPAGE= ${MASTER_SITE_GITHUB:=${ROS_REPO}/${ROS_PKG}}
MASTER_SITES= ${HOMEPAGE}/archive/
MASTER_REPOSITORY= git ${HOMEPAGE}.git
CATEGORIES= wip
ROS_COMMENT= Auto-tuned Iterative Closest Point -- AICP
include ../../meta-pkgs/ros-base/Makefile.common
include ../../wip/libnabo/depend.mk
include ../../wip/libpointmatcher/depend.mk
include ../../interfaces/ros-common-msgs/depend.mk
include ../../interfaces/ros-std-msgs/depend.mk
include ../../lang/ros-message-generation/depend.mk
include ../../math/ros-geometry/depend.mk
include ../../middleware/ros-comm/depend.mk
include ../../devel/ros-catkin/depend.mk
include ../../mk/sysdep/python.mk
include ../../mk/language/c++11.mk
include ../../mk/robotpkg.mk
@comment Fri Jan 24 19:27:04 CET 2020
include/aicp_core/abstract_classification.hpp
include/aicp_core/abstract_overlapper.hpp
include/aicp_core/abstract_registrator.hpp
include/aicp_core/aligned_cloud.hpp
include/aicp_core/aligned_clouds_graph.hpp
include/aicp_core/app.hpp
include/aicp_core/classification.hpp
include/aicp_core/common.hpp
include/aicp_core/filteringUtils.hpp
include/aicp_core/octrees_overlap.hpp
include/aicp_core/overlap.hpp
include/aicp_core/pointmatcher_registration.hpp
include/aicp_core/poseFileReader.hpp
include/aicp_core/registration.hpp
include/aicp_core/svm.hpp
include/aicp_core/timing.hpp
include/aicp_core/visualizer.hpp
include/aicp_core/yaml_configurator.hpp
include/aicp_ros/app_ros.hpp
include/aicp_ros/talker_ros.hpp
include/aicp_ros/velodyne_accumulator.hpp
include/aicp_ros/visualizer_ros.hpp
include/aicp_srv/ProcessFile.h
include/aicp_srv/ProcessFileRequest.h
include/aicp_srv/ProcessFileResponse.h
lib/libaicp_core.so
lib/libaicp_ros.so
lib/pkgconfig/aicp_core.pc
lib/pkgconfig/aicp_ros.pc
lib/pkgconfig/aicp_srv.pc
${PYTHON_SITELIB}/aicp_srv/__init__.py
${PYTHON_SITELIB}/aicp_srv/srv/_ProcessFile.py
${PYTHON_SITELIB}/aicp_srv/srv/__init__.py
share/aicp_core/cmake/aicp_coreConfig-version.cmake
share/aicp_core/cmake/aicp_coreConfig.cmake
share/aicp_core/package.xml
share/aicp_ros/cmake/aicp_rosConfig-version.cmake
share/aicp_ros/cmake/aicp_rosConfig.cmake
share/aicp_ros/package.xml
share/aicp_srv/cmake/aicp_srv-msg-extras.cmake
share/aicp_srv/cmake/aicp_srv-msg-paths.cmake
share/aicp_srv/cmake/aicp_srvConfig-version.cmake
share/aicp_srv/cmake/aicp_srvConfig.cmake
share/aicp_srv/package.xml
share/aicp_srv/srv/ProcessFile.srv
share/common-lisp/ros/aicp_srv/srv/ProcessFile.lisp
share/common-lisp/ros/aicp_srv/srv/_package.lisp
share/common-lisp/ros/aicp_srv/srv/_package_ProcessFile.lisp
share/common-lisp/ros/aicp_srv/srv/aicp_srv-srv.asd
# robotpkg depend.mk for: wip/ros-aicp-mapping
# Created: Guilhem Saurel on Fri, 24 Jan 2020
#
DEPEND_DEPTH:= ${DEPEND_DEPTH}+
ROS_AICP_MAPPING_DEPEND_MK:= ${ROS_AICP_MAPPING_DEPEND_MK}+
ifeq (+,$(DEPEND_DEPTH))
DEPEND_PKG+= ros-aicp-mapping
endif
ifeq (+,$(ROS_AICP_MAPPING_DEPEND_MK)) # --------------------------------------
include ../../meta-pkgs/ros-base/depend.common
include ../../mk/robotpkg.prefs.mk
ifeq (18.04,${OS_VERSION})
PREFER.ros-aicp-mapping?= robotpkg
else
PREFER.ros-aicp-mapping?= ${PREFER.ros-base}
SYSTEM_PREFIX.ros-aicp-mapping?= ${SYSTEM_PREFIX.ros-base}
endif
DEPEND_USE+= ros-aicp-mapping
ROS_DEPEND_USE+= ros-aicp-mapping
DEPEND_ABI.ros-aicp-mapping?= ros-aicp-mapping>=0.0.1
DEPEND_DIR.ros-aicp-mapping?= ../../wip/ros-aicp-mapping
SYSTEM_SEARCH.ros-aicp-mapping=\
include/aicp_core/common.hpp \
'lib/pkgconfig/aicp_core.pc:/Version/s/[^0-9.]//gp'
CMAKE_PREFIX_PATH.ros-aicp-mapping= ${PREFIX.ros-aicp-mapping}
endif # ROS_AICP_MAPPING_DEPEND_MK --------------------------------------------
DEPEND_DEPTH:= ${DEPEND_DEPTH:+=}
SHA1 (ros/aicp_mapping/0.0.1.tar.gz) = a03b4f7338ad7af573fbe9e5418e3c1d2bc90a16
RMD160 (ros/aicp_mapping/0.0.1.tar.gz) = 2100555f38ca65b1b0af43486c9e6dc8b92fd429
Size (ros/aicp_mapping/0.0.1.tar.gz) = 7201053 bytes
SHA1 (patch-aa) = 6b56a225faf9f008a290b21fa2657cda020dc18a
create() provides an std::shared_ptr instead of a ptr.
--- aicp_core/src/utils/icpMonitor.cpp.orig 2019-05-05 17:52:19.000000000 +0200
+++ aicp_core/src/utils/icpMonitor.cpp 2020-01-24 19:24:13.338056526 +0100
@@ -26,7 +26,7 @@
params["knn"] = toParam(1); // for Hausdorff distance, we only need the first closest point
params["epsilon"] = toParam(0);
- PM::Matcher* matcherHausdorff = PM::get().MatcherRegistrar.create("KDTreeMatcher", params);
+ auto matcherHausdorff = PM::get().MatcherRegistrar.create("KDTreeMatcher", params);
float quantile = 0.60;
@@ -102,7 +102,7 @@
params["knn"] = toParam(1); // for Hausdorff distance, we only need the first closest point
params["epsilon"] = toParam(0);
- PM::Matcher* matcher = PM::get().MatcherRegistrar.create("KDTreeMatcher", params);
+ auto matcher = PM::get().MatcherRegistrar.create("KDTreeMatcher", params);
// from reading to reference
matcher->init(A);
--- aicp_core/src/registration/pointmatcher_registration.cpp.orig 2019-05-05 17:52:19.000000000 +0200
+++ aicp_core/src/registration/pointmatcher_registration.cpp 2020-01-24 19:24:44.765800055 +0100
@@ -72,7 +72,7 @@
{
PM::TransformationParameters init_transform = parseTransformationDeg(params_.pointmatcher.initialTransform, 3);
- PM::Transformation* rigid_transform = PM::get().REG(Transformation).create("RigidTransformation");
+ auto rigid_transform = PM::get().REG(Transformation).create("RigidTransformation");
if (!rigid_transform->checkParameters(init_transform)) {
cerr << endl
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment