0
$\begingroup$

Rosanswers logo

Is it possible to use more than one Kinect to gather multiple views around an object at the same time?


Originally posted by TFinleyosu on ROS Answers with karma: 385 on 2013-03-12

Post score: 1

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

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>

Originally posted by mblanton with karma: 118 on 2013-03-12

This answer was ACCEPTED on the original site

Post score: 8


Original comments

Comment by sedwards on 2013-03-12:
Check out the answer to this question: http://answers.ros.org/question/28826/multiple-kinects-overlapping-fov-single-computer/

Comment by TFinleyosu on 2013-03-15:
Thanks! Don't know how I missed that.

Comment by Athoesen on 2013-11-04:
How can you get roslaunch to recognize your custom launch file. I always get an error that says, "[2Kinect.launch] is neither a launch file in package [openni_launch] nor is [openni_launch] a launch file name"

Comment by jacksonkr_ on 2017-05-08:
even better script here http://answers.ros.org/question/96071/accessing-multiple-kinects-in-ros-hydro/#

$\endgroup$
0
$\begingroup$

Rosanswers logo

Yes, but there may be bandwidth problems if you connect them both to the same USB port.


Originally posted by joq with karma: 25443 on 2013-03-12

This answer was NOT ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.