Skip to content

A ROS wrapper of the AprilTags 3 visual fiducial detector

License

Notifications You must be signed in to change notification settings

pyetras/apriltags3_ros

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apriltags3_ros

This is a Robot Operating System (ROS) wrapper of the AprilTags 2 visual fiducial detector. For details and tutorials, please see the ROS wiki.

Authors: Piotr Sokolski, Danylo Malyuta
Maintainer: Piotr Sokolski, pietraswithin@gmail.com
Affiliation: NASA Jet Propulsion Laboratory, California Institute of Technology

Changes added since forking from the original library:

  • Bump AprilTags version to v3.
  • Publishing the pixel coordinates of corners of detected QR codes.

Contributing

Pull requests are welcome! Especially for the following areas:

  • Publishing of the AprilTag 3 algorithm intermediate images over a ROS image topic (that AprilTag 3 already generates when tag_debug==1)
  • Conversion of the bundle calibration script from MATLAB to Python
  • Extend calibration to support calibrating tags that cannot appear simultaneously with the master tag, but do appear simultaneously with other tags which themselves or via a similar relationship appear with the master tag (e.g. a bundle with the geometry of a cube - if the master is on one face, tags on the opposite face cannot currently be calibrated). This is basically "transform chaining" and potentially allows calibration of bundles with arbitrary geometry as long as a transform chain exists from any tag to the master tag
  • Replacement of AprilTag 3 core algorithm's usage of custom linear algebra and image processing functions with Boost and OpenCV
  • Supporting multiple tag family detection (currently all tags have to be of the same family). This means calling the detector once for each family. Because the core AprilTag 3 algorithm is the performance bottleneck, detection of n tag families will possibly decrease performance by 1/n

Copyright

The source code in apriltags/ is wholly the work of the APRIL Robotics Lab at The University of Michigan. This package simply rearranges the source code to be able to compile it with catkin.

The source code in apriltags3_ros/ is original code that is the ROS wrapper itself, see the LICENSE. It is inspired by apriltags_ros and provides a superset of its functionalities.

If you use this code, please kindly cite:

@mastersthesis{malyuta:2017mt,
  author = {Danylo Malyuta},
  title = {{Guidance, Navigation, Control and Mission Logic for Quadrotor Full-cycle Autonomy}},
  language = {english},
  type = {Master thesis},
  school = {Jet Propulsion Laboratory},
  address = {4800 Oak Grove Drive, Pasadena, CA 91109, USA},
  month = dec,
  year = {2017}
}
@inproceedings{Wang2016,
  author = {Wang, John and Olson, Edwin},
  booktitle = {2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  doi = {10.1109/IROS.2016.7759617},
  isbn = {978-1-5090-3762-9},
  month = {oct},
  pages = {4193--4198},
  publisher = {IEEE},
  title = {{AprilTag 2: Efficient and robust fiducial detection}},
  year = {2016}
}

About

A ROS wrapper of the AprilTags 3 visual fiducial detector

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.7%
  • C++ 1.0%
  • MATLAB 0.2%
  • CMake 0.1%
  • Objective-C 0.0%
  • Makefile 0.0%