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).
Demonstration Video with ANYMal:
AICP has been tested on:
For inter-process communication, the package includes wrappers for:
The core AICP strategy is compiled in aicp_core. The default steps perform frame-to-reference localization and mapping, and include:
batch_size
scansreference_update_frequency
) or based on the risk of alignment failure prediction (failure_prediction_mode
)TODO: add complete list of apt install packages
sudo apt-get install libpointmatcher-dev libpointmatcher1
The code is cloned and built in the standard manner for a ROS package.
Tips:
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
ROS
roscore
rosrun rviz rviz -d [PATH_TO]/drs_base/git/aicp/aicp_ros/config/rviz/simple_aicp.rviz
roslaunch aicp_ros view_recorded_rosbag_aicp_simple.launch
roslaunch aicp_ros aicp_mapping.launch
roslaunch aicp_ros aicp_localization_only.launch
rosbag play --clock --pause yourbagfile.bag
LCM (discontinued)
Help: rosrun aicp_lcm aicp_lcm_node -h
Example: rosrun aicp_lcm aicp_lcm_node -s debug -b 80 -f 5
Note:
Required Topics (ROS):
To filter an ANYmal rosbag to contain only the required topics
libpointmatcher, a modular library implementing the Iterative Closest Point (ICP) algorithm for aligning point clouds.
Point Cloud Library (PCL) revision pcl-1.7.0, a standalone, large scale, open project for 2D/3D image and point cloud processing.
Octomap, a probabilistic 3D mapping framework based on octrees.
OpenCV -- Open Source Computer Vision Library.
Eigen, a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
@inproceedings{Nobili17icra,
title = {Overlap-based {ICP} Tuning for Robust Localization of a Humanoid Robot},
author = {S. Nobili and R. Scona and M. Caravagna and M. Fallon},
booktitle = {{IEEE International Conference on Robotics and Automation (ICRA)}},
location = {Singapore},
month = {May},
year = {2017},
}
@inproceedings{NobiliCamurri17rss,
title = {Heterogeneous Sensor Fusion for Accurate State Estimation of Dynamic Legged Robots},
author = {S. Nobili and M. Camurri and V. Barasuol and M. Focchi and D. Caldwell and C. Semini and M. Fallon},
booktitle = {{Robotics: Science and Systems (RSS)}},
location = {Boston, MA, USA},
month = {July},
year = {2017},
}
@inproceedings{Nobili18icra,
title = {Predicting Alignment Risk to Prevent Localization Failure},
author = {S. Nobili and G. Tinchev and M. Fallon},
booktitle = {{IEEE International Conference on Robotics and Automation (ICRA)}},
location = {Brisbane, Australia},
month = {May},
year = {2018},
}
The License information is available in the LICENSE file contained in this project repository.
Author: Simona Nobili, March 2019. Email: snobili@robots.ox.ac.uk, simona.nobili@ed.ac.uk