This package is an ROS wrapper for ARToolkit, which improves marker localization using point cloud data from a Kinect.

ar_kinect has a single node that can be run, which takes RGB point clouds from the Kinect and outputs a transform between the camera and a recognized marker. This is based on the ar_multi node from the ar_pose package.

The node works by creating an RGB image from the point cloud, finding the corners of the marker, and then computing a transformation to an ideal marker geometry using methods from PCL.



This node tracks multiple AR Markers in an image/point-cloud and displays theirs relative pose.

Subscribed Topics

points (sensor_msgs/PointCloud2)
  • The point cloud data which is used for marker detection and localization. In earlier branches, this was directly mapped to /camera/rgb/points.

Published Topics

ar_pose_markers (ar_pose/ARMarkers)
  • An array of markers, each marker describe the current pose relative to the camera.
visualization_marker (visualization_msgs/Marker)
  • Visualization marker for rviz


marker_pattern_list (string, default: "$(find ar_kinect)/data/object_kinect")
  • ARToolKit file describing each pattern.
marker_data_directory (string, default: "$(find ar_pose)")
  • Location of ARToolKit files describing each pattern.
threshold (double, default: 100)
  • Threshold passed to ARToolKit
publish_visual_markers (bool, default: true)
  • Option to enable publishing visual markers for rviz
publish_tf (bool, default: true)
  • Enable broadcasting transforms

Provided tf Transforms

  • the pose of markers relative to the camera frame

Wiki: ar_kinect (last edited 2013-03-31 23:54:56 by MichaelFerguson)