您的位置:首页 > 其它

机器人技术(10)AtdRobot读取体感相机XtionProLive教程

2017-07-05 21:41 281 查看

体感相机XtionProLive介绍(Xu, Chen et al. 2016)

       XtionProLive与kinect类似,是一种3D体感摄像机,同时它具备即时动态捕捉、影像辨识、麦克风输入、语音辨识等功能。XtionProLive相较于kinect兼容性更好,单个USB即可完成供电和数据采集,是体感开发者们更加青睐的产品。


 
        XtionProLive体感相机提供了一个彩色摄像头,一个深度摄像头以及麦克风阵列。通过一个usb接口传输以上所有数据。因此在使用时,我们先将摄像头固定在配套的固定架上,然后连接到机器人系统的USB接口上即可。

    本章例程将会对XtionProLive的彩色和深度图像进行采集和显示,开发者可以根据这些数据对体感控制系统做更加深入的开发,后续我们也将在官网及时更新体感控制小车的高级教程。

运行体感相机DEMO

       开启一个终端,运行底盘控制主节点,输入:

       ssh hong@192.168.31.200

       roslaunch ros_arduino_python arduino.launch

       如下图所示,节点即开启成功。


 


 
       重新打开一个终端,输入以下命令:

       ssh hong@192.168.31.200

       roslaunch openni2_launch openni2.launch

       如图所示:




 
        再打开一个终端,输入以下命令:

       ssh hong@192.168.31.200

       rosrun topic_tools mux /camera/image_raw /camera/rgb/image

       如图所示:


 
    再打开一个终端,输入以下命令,打开rviz节点:

        export ROS_MASTER_URI=http://192.168.31.200:11311

        rosrun rviz rviz



    接着,点击左下角的Add按钮,按主题/camera/rgb/image_rect_color/image选择显示rgb图像。


 
    显示的结果如下图(image的显示框可以拖拽):


 


 
    再次点击左下角的Add按钮,选择/camera/image_rect_raw/image显示灰度图像。


 
 


        下图是彩色和灰度图像的对比:


 
 

核心代码讲解

    我们采用的ASUS Xtion Pro深度摄像头。主要安装了ros-kinetic-openni-camera和

        ros-kinetic-openni2-launch驱动包。然后通过运行图像节点,可以在笔记本端的rviz下显示图像。

最后

     到这里我们就实现了用华硕深度摄像头采集图像的一个简单例程。其中关键点是安装openni驱动包并在rviz下显示。之后,开发者可根据自己的需求进行深度摄像头开发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: