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

来源:互联网 发布:单片机程序实验流程图 编辑:程序博客网 时间:2024/05/19 14:36

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

       XtionProLivekinect类似,是一种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下显示。之后,开发者可根据自己的需求进行深度摄像头开发。

阅读全文
0 0
原创粉丝点击