ROS下多个kinect在一台电脑上同时运行
发布时间
阅读量:
阅读量
运行环境:kinect V1,ubuntu14.04,ROS indigo,台式机(具备2个以上USB BUS,不是PORT)
课题要求在一个台式电脑上同时支持两个Kinect设备运行,并参考了已有的解决方案。但在实际调试过程中遇到了一些挑战,并针对性地进行了若干调整和优化工作。
首先,需要自己写一个launch文件,test.launch(文件名自定):
<launch>
<!-- Parameters possible to change-->
<arg name="camera1_id" default="#1" /><!--here you can change 1@0 by the serial number -->
<arg name="camera2_id" default="#2" /><!--here you can change 2@0 by the number -->
<!--arg name="camera1_id" default="B00366600710131B" /--><!--here you can change 1@0 by the serial number -->
<!--arg name="camera2_id" default="B00364210621048B" /--><!--here you can change 2@0 by the serial number -->
<!--arg name="camera3_id" default="#3" /--><!--here you can change 3@0 by the serial number -->
<arg name="depth_registration" default="true"/>
<!-- Default parameters-->
<arg name="camera1_name" default="kinect1" />
<arg name="camera2_name" default="kinect2" />
<!--arg name="camera3_name" default="kinect3" /-->
<!-- Putting the time back to realtime-->
<rosparam>
/use_sim_time : false
</rosparam>
<!-- Launching first kinect-->
<include file="$(find openni_launch)/launch/openni.launch">
<arg name="device_id" value="$(arg camera1_id)"/>
<arg name="camera" value="$(arg camera1_name)"/>
<arg name="depth_registration" value="$(arg depth_registration)" />
<node name="rviz" pkg="rviz" type="rviz"/>
</include>
<!-- Launching second kinect-->
<include file="$(find openni_launch)/launch/openni.launch">
<arg name="device_id" value="$(arg camera2_id)"/>
<arg name="camera" value="$(arg camera2_name)"/>
<arg name="depth_registration" value="$(arg depth_registration)" />
<node name="rviz" pkg="rviz" type="rviz"/>
</include>
<!-- Launching third kinect-->
<!--include file="$(find openni_launch)/launch/openni.launch"-->
<!--arg name="device_id" value="$(arg camera3_id)"/-->
<!--arg name="camera" value="$(arg camera3_name)"/-->
<!--arg name="depth_registration" value="$(arg depth_registration)" /-->
<!--/include-->
</launch>
代码解释
只要电脑配置有多个USB BUS,就可以接3个甚至更多个kinect。
将test.launch文件复制到:/opt/ros/indigo/share/openni_launch/launch
打开终端,运行:
roslaunch openni_launch test.launch
代码解释
再打开一个终端,运行:
rosrun image_view image_view image:=/kinect1/rgb/image_color
代码解释
再打开一个终端,运行:
rosrun image_view image_view image:=/kinect2/rgb/image_color
代码解释
大功告成,运行结果如下图:

当然,也可以在rviz中查看两个kinect的数据。
参考链接:
http://www.aichengxu.com/view/37264
http://answers.ros.org/question/96071/accessing-multiple-kinects-in-ros-hydro/
探讨在ROS Hydro环境中获取多套Kinect设备的具体方法。
enjoy!
全部评论 (0)
还没有任何评论哟~
