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
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
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
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/#
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