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

Revision history [back]

click to hide/show revision 1
initial version

It is absolutely possible. I have run 4 ASUS sensors (Kinect) from one computer. Each Kinect needs to be on its own bus, or you will have issues getting all the data through. You need to give each Kinect a unique camera name in the launch file and create separate frames.launch files for each one. I don't have access to the launch files right now to give you an example, but I can get you an example launch file tomorrow.

It is absolutely possible. I have run 4 ASUS sensors (Kinect) from one computer. Each Kinect needs to be on its own bus, or you will have issues getting all the data through. You need to give each Kinect a unique camera name in the launch file and create separate frames.launch files for each one. I don't have access to the launch files right now to give you an example, but I can get you an example launch file tomorrow.

EDIT

Here is an example launch file that I used recently to launch two Kinects. This should be a decent template to get you going. This launch file is specific to my system (the "device_id" values are specific to my bus configurations), so it probably won't work by simply copying and pasting. Also, I was running this on Ubuntu 11.10 with ROS Electric:

k1_2.launch

<launch>
  <arg name="debug" default="false"/>
  <arg if="$(arg debug)" name="launch_prefix" value="xterm -rv -e gdb -ex run - args"/>
  <arg unless="$(arg debug)" name="launch_prefix" value=""/>

  <node pkg="openni_camera" type="openni_node" name="openni_node1" ns="camera1" launch-prefix="$(arg launch_prefix)" output="screen">
    <param name="device_id" value="004@02"/>
    <param name="rgb_frame_id" value="kinect1_rgb_frame" />
    <param name="depth_frame_id" value="kinect1_depth_frame" />
    <param name="use_indices" value="false" />
    <param name="depth_registration" value="true" />
    <param name="image_mode" value="2" />
    <param name="depth_mode" value="2" />
    <param name="debayering" value="2" />
    <param name="depth_time_offset" value="0" />
    <param name="image_time_offset" value="0" />
  </node>

  <node pkg="openni_camera" type="openni_node" name="openni_node2" ns="camera2" launch-prefix="$(arg launch_prefix)"  output="screen">
    <param name="device_id" value="003@05"/> 
    <param name="rgb_frame_id" value="kinect2_rgb_frame" />
    <param name="depth_frame_id" value="kinect2_depth_frame" />
    <param name="use_indices" value="false" />
    <param name="depth_registration" value="true" />
    <param name="image_mode" value="2" />
    <param name="depth_mode" value="2" />
    <param name="debayering" value="2" />
    <param name="depth_time_offset" value="0" />
    <param name="image_time_offset" value="0" />
  </node>

</launch>