LZ也是out很久了,Kinect都已经停产了,才刚刚开始倒腾Kinect,而且LZ的Kinect还是v1,哈哈,没事,有的玩总是好的。今天花了小半天,把Kinect运行起来了,感觉上驱动还是挺好安装的。
之前一篇ROS的学习笔记已经把移动机器人环境配置好了,所以现在LZ的电脑环境如下:Ubuntu14.04+ROS Indigo,使用的是Kinect V1.
因为之前跑一些程序,导致电脑很卡,所以安装ROS是直接在重装好的系统上进行的。
在之前ros教程的时候,因为基本上什么软件都没装,使用的OpenCV其实是ros自带的版本,为2.4.8,兜兜转转的。
直接安装SensorKinect驱动
输入以下代码,安装一些依赖项:
sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk
sudo apt-get install doxygen graphviz mono-complete
建立一个文件夹,放置驱动文件,并进行安装
//这里根据自己的需求进行修改
mkdir ~/kinectdriver
cd ~/kinectdriver
git clone https://github.com/avin2/SensorKinect
cd SensorKinect/Bin/
tar xvjf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x64-v5.1.2.1/
sudo ./install.sh
安装对应的ros依赖包
sudo apt-get install ros-indigo-openni-* ros-indigo-openni2-* ros-indigo-freenect-*
rospack profile
使用ROS来测试kinect
因为LZ使用的是KinectV1,输入以下的代码
roslaunch freenect_launch freenect-registered-xyzrgb.launch
这时候会出现几个WARN,如果仔细看的话是没有进行摄像机的标定,哎呀,暂时先不要管那么多了,先看看这个尘封已久的Kinect 是否还健在!
这时候可以在新终端中输入rostopic list查看当前的话题。
如果不知道啥是rostopic,建议花两天时间把ROS初级的Tutorial过一遍,这样对ROS的基本知识有个印象,不会在后面开发使用的时候一团迷糊!
如果想看到各种图像的话,可以在终端中输入
rqt
这时会打开一个窗口,在窗口的Plugins菜单栏中选择Visualization->Image View,此时可以在下拉菜单中选择话题的种类,注意,默认情况下,选择/camera/depth/XXXX的话题才会显示出来图像,因为你并没有设置depth_registered,如果你在显示的过程中,在新的终端里使用rosrun rqt_reconfiguration rqt_reconfiguration,之后在camera->driver中勾选了depth_registered,此时你的rqt窗口就不会进行图像刷新了,此时切换至/camera/depth_registered/XXXX的话题后,继续会刷新图像。
运行会出现的问题:
Kinect v1在距离特别近的时候在深度图上会出现重影,LZ本来想比个yeah,结果看图说话:
万里长征第二步。。。O(∩_∩)O哈哈~