您的位置:首页 > 编程语言 > Go语言

ubuntu 14.04 lts+ ros indigo+kinect2 驱动安装

2017-05-09 10:35 711 查看

Kinect2

相信对这个话题感兴趣的同学, 对Kinect2应该也是很熟悉的吧。 这个设备现在也不贵, 某东上面大概两千左右就能买到, 并且还能配置一个三脚架。 Kinect2的效果, 确实会比1代要好很多, 无论是骨骼点还是图像质量等等。 更详细的介绍, 感兴趣的同学可以自行Google, 在MS官网上面查看。

ROS

机器人相关的工作的同学, 同时对该部分也不会陌生吧。 机器人操作系统(ROS),
应用非常广泛, 并且有很多开源库, 包可以使用。 同时, 主流的传感器在ROS中也都有支持。 当然, Kinect2也是能够支持的。 ROS安装于Ubuntu之上, 我使用的版本是Ubuntu14.04 + ROS indigo。 关于ROS的安装问题, 可以查看官网相关指导 。
很简单的步骤。 依次输入下列命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116

sudo apt-get update

sudo apt-get install ros-indigo-desktop-full

sudo rosdep init

rosdep update

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

source ~/.bashrc

sudo apt-get install python-rosinstall
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
上述指令执行完毕之后, ROS也就安装完成了。 当然, 紧接着还需要建立自己的工作空间。 执行下述代码:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
source devel/setup.bash
1
2
3
4
5
1
2
3
4
5
6

驱动节点配置

在ROS环境里使用Kinect2, 主要依靠iai-kinect2这个包。 Github地址: https://github.com/code-iai/iai_kinect2 。
首先, 需要安装其libfreenect2, 步骤如下(以下默认以ubuntu14.04或更新的版本是系统版本, 别的系统, 参见原始网站说明):

libfreenect2

下载 libfreenect2 源码
git clone https://github.com/OpenKinect/libfreenect2.git cd libfreenect2
1
2
1
2
下载upgrade deb 文件
cd depends;
./download_debs_trusty.sh
1
1
2

安装编译工具
sudo apt-get install build-essential cmake pkg-config
1
1
安装 libusb. 版本需求 >= 1.0.20.
sudo dpkg -i debs/libusb*deb
1
1
安装 TurboJPEG
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
1
1
安装 OpenGL
sudo dpkg -i debs/libglfw3*deb
sudo apt-get install -f
sudo apt-get install libgl1-mesa-dri-lts-vivid
1
2
3
1
2
3
(If the last command conflicts with other packages, don’t do it.) 原文如上提示, 我在安装的时候, 第三条指令确实出现了错误, 就直接忽略第三条指令了。

安装 OpenCL (可选)

Intel GPU:
sudo apt-add-repository ppa:floe/beignet
sudo apt-get update
sudo apt-get install beignet-dev
sudo dpkg -i debs/ocl-icd*deb
1
2
3
4
1
2
3
4

AMD GPU: 
apt-get install opencl-headers


验证安装: 
clinfo


安装 CUDA (可选, Nvidia only):
(Ubuntu 14.04 only) Download 
cuda-repo-ubuntu1404...*.deb
 (“deb (network)”) from Nvidia website, follow their
installation instructions, including 
apt-get install cuda
 which installs Nvidia graphics driver.
(Jetson TK1) It is preloaded.
(Nvidia/Intel dual GPUs) After 
apt-get install cuda
, use 
sudo
prime-select intel
 to use Intel GPU for desktop.
(Other) Follow Nvidia website’s instructions.

安装 VAAPI (可选, Intel only) 
sudo dpkg -i debs/{libva,i965}*deb; sudo apt-get install

安装 OpenNI2 (可选)
sudo apt-add-repository ppa:deb-rob/ros-trusty && sudo apt-get update
sudo apt-get install libopenni2-dev
1
2
1
2
Build
cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON
make
sudo make install
1
2
3
4
5
1
2
3
4
5
针对上面
cmake
命令的说明, 第一个参数, 是特别指定安装的位置, 你也可以指定别的你觉得高兴的地方, 但一般标准的路径是上述示例路径或者
/usr/local

第二个参数是增加C++11的支持。
设定udev rules: 
cd ..
sudo cp platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
然后重新插拔Kinect2.
一切搞定, 现在可以尝试运行Demo程序: 
./bin/Protonect
, 不出意外, 应该能够看到如下效果: 


 

iai-kinect2

利用命令行从Github上面下载工程源码到工作空间内src文件夹内:
cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"
1
2
3
4
5
6
1
2
3
4
5
6
针对于上述命令中最后一行指令, 需要说明的是, 如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:
catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"
1
1
编译结束, 一切OK的话, 会看到如下提示: 



最后就是激动人心的时刻了, 在ROS中获取Kinect2的数据。

打开一个终端,依次输入:
cd catkin_ws
source devel/setup.bash
roslaunch kinect2_bridge kinect2_bridge.launch



使用roslaunch发起kinect2相关节点,
可以看到如下结果:



打开另外一个终端, 输入
rostopic list

可以查看到该节点发布出来的Topic, 或者依次输入
cd catkin_ws
source devel/setup.bash
rosrun kinect2_viewer kinect2_viewer
来开启一个Viewer查看数据。 结果如下图所示:


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Ubuntu14.04 kinect 驱动