Currently supporting ROS Kinetic, Melodic and Noetic. Select the branch that matches your ROS distribution.
This package is developed independently from the creators of STag
Original STag source and marker generation script
If you find this library useful, please cite our paper:
- M. Kalaitzakis, B. Cain, S. Carroll, A. Ambrosi, C. Whitehead, N. Vitzilaios, Fiducial Markers for Pose Estimation, Journal of Intelligent & Robotic Systems 101, (2021)
@article{Kalaitzakis2021JINT,
title = {Fiducial Markers for Pose Estimation},
author = {Michail Kalaitzakis and Brennan Cain and Sabrina Carroll and Anand Ambrosi and Camden Whitehead and Nikolaos Vitzilaios},
journal = {Journal of Intelligent {\&} Robotic Systems},
volume = {101},
doi = {10.1007/s10846-020-01307-9},
year = {2021},
}
Original STag marker paper:
- B. Benligiray, C. Topal, C. Akinlar, STag: A stable fiducial marker system, Image and Vision Computing 89, (2019)
Follow these steps to install
This assumes you already have ROS installed on your device.
mkdir -p /path/to/catkin_ws/src
cd /path/to/catkin_ws/src
git clone git@github.com:usrl-uofsc/stag_ros.git
catkin_make
catkin_make -DCMAKE_BUILD_TYPE=Debug
To use the package you need to edit the node config file (e.g. cfg/single.yaml) that loads all the parameters and the marker config file (e.g. cfg/single_config.yaml).
In the configuration file you can specify information about the STag configuration, the camera topics and the stag_ros node.
STag ROS allows the detection of multiple markers and marker bundles as long as they all are from the same HD family. You can specify the individual markers and the marker bundles in a yaml file
First source the workspace.
source /path/to/catkin_ws/devel/setup.bash (or your shell ex. sh, zsh)
Next, download the example bags. If you want to install, be sure to catkin_make
, then run the following command, then catkin_make install
. If the script fails, please go into the scripts/download_bags.sh
file and download the bags manually. Place them into a folder in the root of the stag_ros directory called bags.
roslaunch stag_ros download_examples.launch
Run any of the following launch commands.
roslaunch stag_ros stagNode_single.launch
roslaunch stag_ros stagNode_bundle_2.launch
roslaunch stag_ros stagNode_bundle_4.launch
roslaunch stag_ros stagNodelet_single.launch
roslaunch stag_ros stagNodelet_bundle_2.launch
roslaunch stag_ros stagNodelet_bundle_4.launch