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

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

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第1张图片 

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

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

运行体感相机DEMO

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

       ssh [email protected]

       roslaunch ros_arduino_python arduino.launch

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第2张图片 

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第3张图片 

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

       ssh [email protected]

       roslaunch openni2_launch openni2.launch

       如图所示:

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第4张图片

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第5张图片 

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

       ssh [email protected]

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

       如图所示:

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第6张图片 

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

        export ROS_MASTER_URI=http://192.168.31.200:11311

        rosrun rviz rviz

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第7张图片

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第8张图片 

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第9张图片 

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第10张图片 

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第11张图片 

 机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第12张图片

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

机器人技术(10)AtdRobot读取体感相机XtionProLive教程_第13张图片 

 

核心代码讲解

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

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

最后

     到这里我们就实现了用华硕深度摄像头采集图像的一个简单例程。其中关键点是安装openni驱动包并在rviz下显示。之后,开发者可根据自己的需求进行深度摄像头开发。

你可能感兴趣的:(机器人技术)