Skip to content
Ruffin edited this page Mar 13, 2015 · 5 revisions

AprilTag Plugin

This plugin enables support for incorporating AprilTag measurements or similar fiducial landmarks into the OmniMapper framework. This gives users an easy method to generate landmarks with between-factors and subsequently commit the information into the rest of the mapping framework.

ROS Docker Demo Video

Dependencies

This plugin relies on the ROS wrapper for the Apriltags visual fiducial tracker:
personalrobotics/apriltags

And subsequently the C++ port of the AprilTags library, using OpenCV (and optionally, CGAL):
swatbotics/apriltags-cpp

See these repos directly for installation and usage documentation. As a side note, any other fiducial tracking tracking method could also be easily supported through small modifications given that the fiducial tracking supports a similar detections message type.

Constraints

This plugin makes a few assumptions:

  1. That the fiducial landmarks are static in position
  2. That the tag IDs are unique throughout the environment

Demo

Included in the repo are launch and rviz files using OpenNI as a simple demo using the AprilTags plugin. The AprilTag ROS wrapper used requires that the image topic subscribed to also publish a "camera info" message, as the camera intrinsics are required. The OpenNI ROS driver simply provides default calibration parameters, so you can try the plugin out quickly. If you want to use an alternate monocular image source, just keep this in mind.

Future Work

  • Support non unique tag IDs though loop closer thresholds
  • Support both point3 or pose3 based symbols for tag landmarks
  • Support projection factors using the reported corners of the tags in the image plane
Clone this wiki locally