最新博客地址已转到:

  http://blog.csdn.net/zzlyw?viewmode=contents  

------------------------------------------------------------------------

本文将会介绍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

微软KinectV2深度传感器在Ubuntu上的配置和使用的更多相关文章

  1. ubuntu上kdump配置:

    ubuntu上kdump配置: 1, 安装kdump apt-get install linux-crashdump 2, 调整crashkernel内存大小为768M(默认192M内存太小) 修改 ...

  2. Ubuntu上VNC 配置

    Ubuntu下VNC配置文章分类:操作系统通过将服务器配置成VNC SERVER,可以让其他主机使用图形方式登录这台服务器. 在ubuntu下配置vnc server很简单,方法如下: 服务器端: 1 ...

  3. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  4. 在Debian系列Linux系统Ubuntu上安装配置yum的试验

    用习惯了Red Hat系统的都知道我们习惯于三种安装方式:一种是rpm包的方式安装,一种就是tar包的方式来安装,还有一种方式就是yum源的安装. 首先rpm包的用法,我们一般是在Red Hat光驱里 ...

  5. Ubuntu上安装配置Java环境

    参考文献:在Ubuntu 14.04中安装JDK 方法一: @ 安装 1. 添加PPA repository系统 PPA repository介绍 $sudo add-apt-repository p ...

  6. ubuntu上配置nginx实现反向代理

    反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  7. 【vim环境配置】解决ubuntu上 由YouCompleteMe插件配置不当引起的 自动补全失效的问题

    背景: 由于不可抗拒的原因,学习环境由之前centos的一台机器上,变成了ubuntu的一台机器上.因此,需要在新的ubuntu的机器上再配置一次vim环境.算起来这已经是第三次配置vim环境了(ma ...

  8. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

  9. SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)

    本文从零开始一步一步介绍如何在Ubuntu上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创建Ubuntu系统(Create U ...

随机推荐

  1. SQL中使用or影响性能的解决办法

    近期做了一个存储过程,执行时发现非常的慢,竟然需要6.7秒! 经排查,发现时间主要都耗在了其中一段查询语句上.这个语句用于查出结构相同的两个表中,其中两个字段的任一个字段数据相同的记录. 例如,A表的 ...

  2. JavaScript OOP 之「创建对象」

    工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...

  3. 我们都是IT民工---------流浪人IDE开发札记

    你生命中的有些东西终究会失去,比如我住了6年的陈寨,这个聚集了郑州十几万IT民工的地方,说拆就拆了.再比如我玩了3年的坦克英雄,这个带给我太多快乐的游戏,说停就停了. 编程对我而言是种爱好,我上学6年 ...

  4. Ajax入门(一)

    最近开始学习Ajax了0.0,虽然其他的还没巩固,但既然学了就先写下来吧... Ajax的定义呢,百度吧= =...就觉得最实用的地方就是页面无刷新,但网页实现了与后台的同步更新.   1, 首先创建 ...

  5. 理解"熵"

    熵描述了事物的混乱程度 一个变量x,它的可取值为x1,x2,x3,x4.当它取值为这几个值时,概率分别为p1,p2,p3,p4.那么这个混乱程度就可以描述为f(p1,p2,p3,p4). 二元取值时熵 ...

  6. jQuery之回调对象

    1. jQuery 1.7 版本中新增的 jQuery.Callbacks() 函数返回一个全能的对象,此对象对管理回调列表提供了强大的方式.它能够增加.删除.触发.禁用回调函数. 2. callba ...

  7. weui 图片弹框

    添加图片与弹出效果对比: HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  8. the user operation is waiting

    eclipse在编辑完代码保存的时候,弹出一个进度框,等N长时间,标题是"user operation is waiting",里面显示的是building workspace的进 ...

  9. svn1.6在centos6下的使用

    版本 CentOS 6:svn 1.6.11 svn1.6版本的不足在于,每个目录递归存在.svn目录:从1.7开始就只有root节点目录存在.svn目录,和git一样了. 但是因为还在用CentOS ...

  10. Struts2深入学习:OGNL表达式原理

    今天看了ognl表达式,不是很理解,准备以后再回头复习: http://developer.51cto.com/art/201203/322509.htm#case1