turtlebot(hydro)学习笔记六:添加多个Kinect

来源:互联网 发布:给力什么意思网络用语 编辑:程序博客网 时间:2024/06/02 09:23

最近研究在ros下怎么连接2台或者多台kinect   国内资料很少   翻墙找了点东西  原文在这  http://answers.ros.org/question/96071/accessing-multiple-kinects-in-ros-hydro/

我把大概意思说下 (我的环境是Ubuntu12.04  ros版本 groovy )

首先写一个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 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>

 

<!-- Openning Rviz forvisualization-->

<node name="rviz"pkg="rviz" type="rviz"/>

 

 <!-- Launching first kinect-->

   <include file="$(findopenni_launch)/launch/openni.launch">

       <arg name="device_id" value="$(arg camera1_id)"/>

       <arg name="camera" value="$(arg camera1_name)"/>

       <arg name="depth_registration" value="$(argdepth_registration)" />

    </include>

 

 <!-- Launching second kinect-->

   <include file="$(findopenni_launch)/launch/openni.launch">

       <arg name="device_id" value="$(arg camera2_id)"/>

       <arg name="camera" value="$(arg camera2_name)"/>

       <arg name="depth_registration" value="$(argdepth_registration)" />

    </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="$(argdepth_registration)" />

   </include>

 

 </launch>

 

可以看出上述是定义了3kinect 至少可以运行两台kinect 但是特别注意 kinect要插在不同的usb bus(是usb bus 不是 usb port)上我是在机箱前面插一个  机箱后面插一个如果在一个共同的usb bus 可能会出现不会识别或者数据传输受阻

将以上代码文件复制到一个txt里将名字改为test.launch (test也可以改为其他名字然后将test.launch 复制到/opt/ros/groovy/share/openi_launch/launch/下面

然后打开一个终端输入roslaunchopenni_launch openni.launch camera:=kinect_1 device_id:=#1表示启动第一个kinect

可能会出现几个以try toadvise…..开头的error 这些错误可以忽略没什么影响

然后再打开一个终端输入roslaunch openni_launchopenni.launch camera:=kinect_2 device_id:=#2 表示启动第二个kinect

然后在打开一个终端输入rosrun image_view image_viewimage:=/kinect_1/rgb/image_color然后会出现第一台kinect rbg图像

在打开一个输入rosrun image_view disparity_view image:=/kinect_1/depth/disparity  会出现第一台kinect的深度图

只是将以前运行一台kinect的语句rosrun image_view image_viewimage:=/camera/rgb/image_colorcamera改为kinect_1而已

看第二台kinect的图像只要将语句中的kinect_1改为kinect_2就行

另外古月大神的ros专栏很不错 是学习ros的很好的资料

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鼻子老是流清水鼻涕怎么办 5岁儿童感冒鼻塞怎么办 3岁宝宝感冒鼻塞怎么办 宝宝9个月流鼻涕怎么办 鼻涕又黄又粘稠怎么办 鼻子一直流黄水怎么办 宝宝眼屎多又黄怎么办 宝宝痰多鼻涕多怎么办 小孩痰多鼻涕多怎么办 用qq登不了微博怎么办 中国银行u盾丢了怎么办 我的世界遇见him怎么办 考军校年龄超了怎么办 dnf组队就红电脑怎么办 九阳高压锅漏气怎么办 晋江买了防盗章怎么办 开车撞了人应该怎么办 开车撞了人没钱怎么办 驾照扣分12分后怎么办 车被交警拖走了怎么办 符石耐久没了怎么办 冒险岛2老是掉线怎么办 冒险岛老是掉线怎么办 冒险岛2延迟高怎么办 高速超速扣6分怎么办 优酷视频有密码怎么办 斗鱼直播很卡怎么办 鼠标的滑轮坏了怎么办 宝马1系烧机油怎么办 原房主不迁户口怎么办 做假账被发现了怎么办 裆部潮湿有异味怎么办 用了开塞露还是拉不出大便怎么办 安卓模拟器很卡怎么办 锁屏图案忘了怎么办 手机图案锁忘了怎么办 炸东西油变黑了怎么办 自热米饭吃完后怎么办 无线网密码忘了怎么办 普通税票开错了怎么办 发票购买本丢了怎么办