ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Marker long distance tracking with Kinect

asked 2013-06-04 03:22:58 -0500

jep31 gravatar image

updated 2016-10-24 08:35:04 -0500

ngrennan gravatar image

I would like to use the Kinect to detect my Turtlebot and have a better odometry. So the Kinect is located between two and five meters from the turtlebot.I tried so many package like ar_pose, visp_auto_tracker or ar_kinect. Right now the best is still ar_pose but only for less than one meter or two max.

With ar_pose, something strange happens, that works better with a small pattern(80mm) than with a large (200mm). And that, even when I modify the parameter marker_width = 200.

Other issue, I cannot use ar_pose with a Kinect image_mode equal to 1: SXGA_15Hz (1): 1280x1024@15Hz. That's too bad because image quality is a lot better.

Does anyone have some tips to increase the tracking ?

EDIT: Here is a part of my launch file related of ar_pose.

 <!-- Reading Pattern -->
  <node pkg="ar_pose" type="ar_single" respawn="true" name="pattern_reader">
    <remap from="/usb_cam/image_raw" to="/openni/rgb/image_color" />
    <remap from="/usb_cam/camera_info" to="/openni/rgb/camera_info" />
    <param name="marker_pattern" type="string" value="$(find ar_pose)/data/patt.hiro"/>
    <param name="marker_width" type="double" value="200"/>
    <name threshold="threshold" type="double" value="100"/>

I have printed a larger hiro pattern with fitting a A4 paper, it is a square as well.

edit retag flag offensive close merge delete


I experienced poor detections with the ar_kinect package as a result of missing depth information on the black parts of the marker (did you check this?). Info regarding the tracking range for markers using ar_pose can be found at:

jelfring gravatar image jelfring  ( 2013-06-04 21:32:37 -0500 )edit

why you cannot use the better quality image?

Procópio gravatar image Procópio  ( 2013-06-05 01:50:33 -0500 )edit

I didn't check depth information that's right. Now I use ar_pose because that works with 2 or 3 meters even if it's difficult with some light. The range for marker on the website are very short, I understand that for 8 inches (200mm) I have only 54 inches (1m36). I think my biggest issue is light.

jep31 gravatar image jep31  ( 2013-06-05 04:19:29 -0500 )edit

I cannot improve quality image because ar_pose find nothing when I use image_mode=1. I think it doesn't like SXGA. I have no output but no error message either.

jep31 gravatar image jep31  ( 2013-06-05 04:23:06 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2013-06-05 01:55:19 -0500

Procópio gravatar image

Have you tried to play around with the threshold value? In my experiments I had to change it all the time, as it was very exposed to outdoor light.

If you are feeling brave, you can write a program to subscribe to the image, apply the threshold and show the binarized image. This way you can adjust the values and see the image ar_pose is working on.

edit flag offensive delete link more


Yes I did but all my blind attempts were worse than default value. The pattern brights a lot in the kinect image, maybe print on a matte paper would be better. Your program is a good idea that's right.

jep31 gravatar image jep31  ( 2013-06-05 04:29:18 -0500 )edit

Question Tools


Asked: 2013-06-04 03:22:58 -0500

Seen: 943 times

Last updated: Jun 05 '13