环境:ubuntu14.04+ros indigo。原文在Kinect on Ubuntu with OpenNI,本文根据实际的安装结果进行了系列完善。
1)前期准备。
sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk
其中build-essential软件包作用是提供编译程序必须软件包的列表信息;
git clone https://github.com/OpenNI/OpenNI.git
执行下面命令
cd OpenNI
git checkout Unstable-1.5.4.0
cd Platform/Linux/CreateRedist
chmod +x RedistMaker
./RedistMaker
RedisMaker脚本将自动完成多数编译任务,然后进入Redist目录进行安装
cd ../Redist/OpenNI-Bin-Dev-Linux-[xxx] (where [xxx] is your architecture and this particular OpenNI release)
sudo ./install.sh
其中xxx部分用table可以自动补全,否则之前步骤不成功。
git clone https://github.com/avin2/SensorKinect
cd SensorKinect
然后如下安装当前包。xxx依然为按table后自动补全。
cd Platform/Linux/CreateRedist
chmod +x RedistMaker
./RedistMaker
cd ../Redist/Sensor-Bin-Linux-[xxx] (where [xxx] is your architecture and this particular OpenNI release)
chmod +x install.sh
sudo ./install.sh
cd OpenNI/Platform/Linux/Bin/x64-Release
./Sample-NiSimpleViewer
此处与原文不同,原文路径是cd OpenNI/Platform/Linux-x86/Bin/Release,但本人安装完后并没有该路径,上面路径是自行查找出来的,已经测试通过。
sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch
完成后,理论上可以测试kinect,通过以下命令
roslaunch openni_launch openni.launch
然后,可以通过以下命令启动彩色图像输出。不知为何此处不能显示深度图。
rosrun image_view image_view image:=/camera/rgb/image_color
要显示深度图,可以通过rviz实现,启动后点击左下角add按钮,选择By topic标签,选择depth选项卡,选择image raw,点击ok后会出现深度图显示结果。