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

Ar_pose configuration for Kinect

asked 2015-06-06 10:42:17 -0600

Leandro gravatar image

Hello everyone,

I'm using ROS Indigo in Ubuntu 14.04.

I need to use a Kinect camera to identify some tags using the ar_pose package. Does anyone know what I have to change in the package to make it work with Kinect?

The raw ar_pose_multi.launch file is show below. It uses the uvc_camera package that it no longer maintained. Therefore, as I want to use the Kinect, I think should change it for openni_launch package, but it does not work as I want because I need to change something more that I don't really know what.

Can anyone help me?

  <node pkg="rviz" type="rviz" name="rviz" args="-d $(find ar_pose)/launch/live_multi.rviz"/>

  <node pkg="tf" type="static_transform_publisher" name="world_to_cam" args="0 0 0.5 -1.57 0 -1.57 world camera 1"/>

  <node ns="camera" pkg="image_proc" type="image_proc" name="image_proc"/>

  <node ns="camera" pkg="uvc_camera" type="camera_node" name="uvc_camera" output="screen">
    <param name="width" type="int" value="320" />
    <param name="height" type="int" value="240" />
    <param name="fps" type="int" value="30" />
    <param name="frame" type="string" value="camera" />
    <param name="device" type="string" value="/dev/video1" />
    <param name="camera_info_url" type="string" value="file://$(find uvc_camera)/camera_calibration.yaml" />

  <node name="ar_pose" pkg="ar_pose" type="ar_multi" respawn="false" output="screen">
    <param name="marker_pattern_list" type="string" value="$(find ar_pose)/data/object_4x4"/>
    <param name="threshold" type="int" value="100"/>
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-06-06 11:13:05 -0600

Tanmay gravatar image

Hello again,

(Also see my answer on ) In their default mode, AR tag detecting packages only need camera_info and image_raw / rect topics to localize the AR tag, which means that uvc_camera may be replaced by just about any camera driver. Try searching for drivers supported on Indigo (I think camera_umd is one such driver), or gscam perhaps. Instead of calling uvc_camera from your launch file, call this camera driver and remap topic accordingly.

If you have a kinect, again, ar_track_alvar is a good option - there is an additional feature for using a kinect's depth to improve accuracy of the detection (complete with it's own launch file). This is a more plug-and-play solution.

edit flag offensive delete link more


Tanmay, thanks again for your answer. I searched in the internet and found usb_cam, I think I will use this one. So, I need to specify this driver in the file above and then specify in usb_cam that I'm using a kinect? I will also take a look in ar_track_alvar.

Leandro gravatar image Leandro  ( 2015-06-06 12:15:35 -0600 )edit

You could just comment out the driver node from here, and run it using rosrun ... from terminal. A launch file is a way to make things more convenient, use less explicit calls, and set parameters. Yes, look up using a kinect with a camera driver for that configuration.

Tanmay gravatar image Tanmay  ( 2015-06-06 18:05:17 -0600 )edit

Question Tools

1 follower


Asked: 2015-06-06 10:42:17 -0600

Seen: 398 times

Last updated: Jun 06 '15