Skip to content

A ROS package for the Stable Fiducial Marker System

Notifications You must be signed in to change notification settings

Project-DAIR/stag_ros

 
 

Repository files navigation

STag ROS: A ROS package for the Stable Fiducial Marker System

Build Status

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

Publications

If you find this library useful, please cite our paper:

@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:

Installation

Follow these steps to install

Prerequisites

This assumes you already have ROS installed on your device.

Install STag ROS

mkdir -p /path/to/catkin_ws/src
cd /path/to/catkin_ws/src
git clone [email protected]:usrl-uofsc/stag_ros.git

Build STag ROS

catkin_make

Build STag ROS with Debug information (alternative)

catkin_make -DCMAKE_BUILD_TYPE=Debug

Package configuration

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).

STag config file

In the configuration file you can specify information about the STag configuration, the camera topics and the stag_ros node.

Marker config Yaml file

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

Examples

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

About

A ROS package for the Stable Fiducial Marker System

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 75.8%
  • C++ 24.0%
  • Other 0.2%