用于激光扫描的第一个kinect和用于在一台PC上进行骨架跟踪的第二个kinect可能吗?

时间:2016-09-24 07:08:06

标签: kinect tracking ros

我的目标是在一台PC上使用2个kinects,一个用于获取SLAM的激光扫描,另一个用于骨架跟踪。

现在,我可以在一台PC上使用2个kinect从一个kinect获取彩色图像,并在另一个kinect上实现骨架跟踪。

但是,如果我从第一个kinect获得激光扫描并同时实现骨架跟踪,那么骨架跟踪效果很好,而我无法在rviz中获取激光扫描数据。

我没有得到laserscan的事实使我怀疑是否有可能第一次用于激光扫描和第二次kinect用于在一台PC上进行骨架跟踪。或者我的方法是否错误。以下是我的方法:

roslaunch openni_launch test.launch(run 2 kinects in test.launch)
rosrun openni_tracker openni_tracker
rosrun rviz rviz(to see the skeleton tracking)
rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/kinect1/depth/image_raw
rosrun rviz rviz(to see the laserscan data)

和test.launch:

<launch>  
<!-- Parameters possible to change-->  
<arg name="camera1_id" default="#1" />
<arg name="camera2_id" default="#2" />
<arg name="depth_registration" default="true"/>  

<!-- Default parameters-->  
<arg name="camera1_name" default="kinect1" />  
<arg name="camera2_name" default="openni" />  

<!-- 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)" />  
</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)" />  
</include>  
</launch>

任何想法或建议表示赞赏!并提前感谢!

0 个答案:

没有答案