This is a ROS wrapper of the implementation of a pose tracking library ICG developed by DLR. The original repo can be found here.
If you are interested in this work and want to use it in your project, please cite it with
@InProceedings{Stoiber_2022_CVPR,
author = {Stoiber, Manuel and Sundermeyer, Martin and Triebel, Rudolph},
title = {Iterative Corresponding Geometry: Fusing Region and Depth for Highly Efficient 3D Tracking of Textureless Objects},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {6855-6865}
}
This wrapper is tested on a computer with
- ROS noetic
- Ubuntu 20.04
The wrapper is compiled in C++ 17.
Before proceeding with this wrapper, please check the README file of the ICG repo to install dependencies link.
This wrapper uses an additional package gflags
for parsing the command-line arguments.
You can install it using
sudo apt-get install libgflags-dev
After installing all the dependencies, you should compile this package as
a normal ROS package using catkin_make
.
A sample node icg_test_node
is provided. To run this node, you need to first
launch a camera node and make sure there are valid color and depth images. In this node,
the topics of the realsense camera are used. You should also feed it with
the corresponding configuration directory in the command-line arguments. For example, if you
have already launched the camera node
cd <your-ros-workspace>
source devel/setup.bash
rosrun icg_ros icg_test_node -config_dir=src/icg_ros/config
The configuration directory in this example contains a triangle 3D model, a yaml description of this model, and a description of the detector.
For more information on these configuration files, please refer to the original repo.