zoukankan      html  css  js  c++  java
  • 微软KinectV2深度传感器在Ubuntu上的配置和使用

    本文将会介绍Kinect V2怎样在Ubuntu上进行配置。

    首先我们针对的是Kinect的第二代产品,与一代产品有着明显的不同,所以不用担心会认错。

    1 安装libfreenect2

    因为官方没有给出Kinect v2在Linux系统上的驱动,所以我们需要自己下载开源的驱动,好在已经有大神们把这些驱动写好了(这里膜拜一下这些人)。

    下载地址是https://github.com/OpenKinect/libfreenect2

    注意libfreenect2 仅仅针对2代kinect,一代的kinect需要libfreenect1。libfreenect2支持RGB图像传输、红外和深度图传输、RGB图像和深度图像注册。

    USB 3.0接口是必要的。如果没有,将会导致kinect连接失败。

    我们采用ubuntu 14.04做实验,主要的安装过程如下:

    (1)先转到你准备存放libfreenect2的目录,下载libfreenect2的源代码

    git clone https://github.com/OpenKinect/libfreenect2.git

    cd libfreenect2

    (2)安装必要的package

    cd depends

    ./download_debs_trusty.sh

    sudo apt-get install build-essential cmake pkg-config

    sudo dpkg -i debs/libusb*deb

    sudo apt-get install libturbojpeg libjpeg-turbo8-dev

    sudo dpkg -i debs/libglfw3*deb; sudo apt-get install -f; sudo apt-get install libgl1-mesa-dri-lts-vivid (如果最后一个库与其他包存在冲突,可以不安装它)

    还有一些可选的组件,如果要安装可以参照官网教程。

    (3)编译安装

    cd ..

    mkdir build && cd build

    cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON

    make

    make install

    如果有基于CMake的第三方应用想要找到libfreenect2,你需要在编译你的工程时指定cmake的编译选项

    cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2

    (4)设置设备访问规则,然后重新连接硬件。

    sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

    (5)运行测试程序。

    ./bin/Protonect

    2 ROS接口的安装

    2.1 首先需要安装ROS(indigo版本)

    (1)配置ubuntu的软件仓库允许restricted, universe和multiverse三种。

    (2)设置下载源

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

    (3)设置Keys

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

    如果遇到gpg: keyserver timed out 错误,可以尝试下面的命令

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

    (4)安装

    sudo apt-get update

    注意,如果你使用的是Ubuntu Trusty 14.04.2,出现依赖问题,可以尝试下面命令来解决。

    sudo apt-get install libgl1-mesa-dev-lts-utopic

    ROS有很多的库可以使用,推荐初学者完全安装,以备以后学习。

    桌面完整版安装:(推荐)包含ROS、rqtrviz、通用机器人函数库、2D/3D仿真器、导航以及2D/3D感知功能。

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

    (5)初始化 rosdep

    sudo rosdep init

    rosdep update

    (6)环境变量设置

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

    source ~/.bashrc

    (7)获得rosinstall

    rosinstall是一个在ROS中常用的命令行工具,但是它是独立于ROS发布的。

    sudo apt-get install python-rosinstall

    (8)设置ROS工作区

    mkdir -p ~/catkin_ws/src

    cd ~/catkin_ws/src

    catkin_init_workspace

    尽管工作空间刚创建时空的,我们仍然可以build工作区

    cd ~/catkin_ws/

    catkin_make

    source devel/setup.bash

    请确认环境变量ROS_PACKAGE_PATH包含你所在的目录

    echo $ROS_PACKAGE_PATH

    /home/youruser/catkin_ws/src:/opt/ros/kinetic/share:/opt/ros/kinetic/stacks

    2.2 安装iai_kinect2

    (1)对于已经安装Ros Indigo的Ubuntu14.04来说,可以开始安装iai_kinect2了。iai_kinect2是一个工具和库的集合,有了它ROS就可以使用Kinect了。

    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"

    注意,如果你的libfreenect2没有安装在$HOME/freenect2下,你就需要为在catkin_make后添加-Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2来指定路径。

    (2)连接传感器

    roslaunch kinect2_bridge kinect2_bridge.launch

    (3)标定步骤

    Kinect需要进行标定,这样可以提升RGB和深度图的匹配效果。请参考以下网址

    https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration#calibrating-the-kinect-one

    (4)重新启动kinect2_bridge,然后观看结果

    rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud

  • 相关阅读:
    from 的使用
    Form组件 钩子方法
    session cookie 中间件
    Django 中购物车的登录 注册 退出
    python安装
    Skeleton-Based Action Recognition with Directed Graph Neural Network
    Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition
    Everybody Dance Now
    Collaborative Spatioitemporal Feature Learning for Video Action Recognition
    python安装第三方库--换镜像源
  • 原文地址:https://www.cnblogs.com/yanhuiqingkong/p/7770091.html
Copyright © 2011-2022 走看看