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

Openni and ROS do support multiple RGBD cameras. The first thing you need to do is make sure you have adequate hardware support. RGBD cameras transmit a lot of data via USB, going beyond what one bus can handle. Thus, you need to make sure that you have two separate USB2.0 buses/hubs available. (For Linux, the command 'lsusb' provides this information.) Once you do that, you can easily just call openni_launch multiple times, like so:

`

<!-- Entry point for using multiple RGBD devices -->
<launch>
  <param name="use_sim_time" value="false" />
  <include file="$(find openni_launch)/launch/openni.launch">
    <arg name="camera" value="camera1" />
    <arg name="device_id" value="#1" />
    <arg name="depth_registration" value="true" />
  </include>

  <include file="$(find openni_launch)/launch/openni.launch">
    <arg name="camera" value="camera2" />
    <arg name="device_id" value="#2" />
    <arg name="depth_registration" value="true" />
  </include>
</launch>

Openni and ROS do support multiple RGBD cameras. The first thing you need to do is make sure you have adequate hardware support. RGBD cameras transmit a lot of data via USB, going beyond what one bus can handle. Thus, you need to make sure that you have two separate USB2.0 buses/hubs available. (For Linux, the command 'lsusb' provides this information.) Once you do that, you can easily just call openni_launch multiple times, like so:

`

<!-- Entry point for using multiple RGBD devices -->
<launch>
  <param name="use_sim_time" value="false" />
  <include file="$(find openni_launch)/launch/openni.launch">
    <arg name="camera" value="camera1" />
    <arg name="device_id" value="#1" />
    <arg name="depth_registration" value="true" />
  </include>

  <include file="$(find openni_launch)/launch/openni.launch">
    <arg name="camera" value="camera2" />
    <arg name="device_id" value="#2" />
    <arg name="depth_registration" value="true" />
  </include>
</launch>