Detects 'AprilTag' 2D fiducial markers in ROS images (sensor_msgs/Image
) and produces id, location, and orientation of the tags. Functionality is also provided as a Nodelet.
This package uses the C++ AprilTags library written by Michael Kaess and Hordur Johannson. The AprilTags Visual Fiducial System was developed by Edwin Olson.
More on april tags here: https://april.eecs.umich.edu/software/apriltag.html
April Tags C++ library: http://people.csail.mit.edu/kaess/apriltags/
- april_tag.launch
- nodelet.launch
- camera_ns: namespace in which camera's image_raw topic exists e.g. /usb_cam
- tag_size_cm: length of the edge of the black frame in cms
- manager: name of nodelet manager (nodelet only)
- publish_visualization_markers: set to true if you are running RViz and would like to see detected tags
- focal_length_x_px: camera focal length in x dimension in pixels
- focal_length_y_px: camera focal length in y dimension in pixels
- principal_point_x_px: x-coordinate of camera principal point
- principal_point_y_px: y-coordinate of camera principal point
Missing optional arguments are fetched from sensor_msgs/CameraInfo
messages published on the $(arg camera_ns)/camera_info
topic.
$(arg camera_ns)/image_raw
AprilTagList which is a list of AprilTag:
uint32 id
uint32 hamming_distance
float64 distance
geometry_msgs/PoseStamped stamped
where hamming_distance indicates difference between the observed tag and the identified tag, and distance is depth away from camera. x is horizontal with camera right as positive.
Depends on: libeigen3-dev
-- James Giller