使用Kinect_v2相机做一点东西,需要在ros里面用,所以需要安装kinect与ros间的驱动,即iai_kinect2

参考:

https://github.com/code-iai/iai_kinect2

https://blog.csdn.net/wuguangbin1230/article/details/77184032

过程中需要安装libfreenect2(点击查看安装详细过程),libfreenect2安装后测试遇到问题,点击libfreenect2错误解答

前言:

2020.8.5日第二次安装libfreenect2补充

OpenNI是微软的xbox 360配件kinect,在PC上的开源驱动必须安装的一个API。刚开始还以为OpenNI是一种类似cuda的运算加速应用。。。可为什么libfreenect2中安装OpenNI2是可选的呢?求教

2020.8.7日补充:

最开始的时候,kinect的转接盒的线没插紧。。。导致虽然侥幸成功了,但是运行显示出来的视频特别卡。。。我还以为是驱动哪里没装好导致性能不够。。。折腾了两天各种装cuda、NVIDIA、屏蔽核显操作。。。

甚至今天忽然怎么都启动不了kinect,我还以为是usb驱动、opengl、opencl、只用独显等出了问题,挨个折腾没效果。。最后发现原来线没插紧。。运行./libfreenect2/build/bin/Protonect报错是和插错usb2.0口是一样的,见遇到的问题的图。记得插好线...插好的长这样:

一、第一次安装libfreenect2

第一次安装:使用的是OpenNI2, 详见libfreenect2安装过程中给出的optional项;未安装cuda

参考:https://blog.csdn.net/wuguangbin1230/article/details/77184032,详细过程见libfreenect2

过程如下:

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev
#安装OPENNI2
sudo apt-get install libopenni2-devmkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2  #这样make后生成的库在home/gyh里,也可以用usr/local,这样生成的库就在usr/local里
make
make install

设定udev rules:

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

然后重新插拔Kinect2。尝试运行Demo程序:

gyh@gyh:~/libfreenect2/build$ ./bin/Protonect

不出意外, 应该能够看到弹出窗口,显示如下效果:

遇到的问题:

1.装好后运行./bin/Protonect,不成功。结果如下图

解决办法:参考 libfreenect2错误解答

使用 lsusb -t  查看kinect连接的usb接口,确保为usb3.0接口:

如下图,Bus 02, Driver=xhci_hcd/6p, 5000M;这个就是3.0口

libfreenect2错误解答中给出的连接正确时的显示信息:

更换正确的usb插口还不行的话,就多拔插usb头几次,多打开几次终端试几次。

二、安装编译iai_kinect2

参考github/iai_kinect2

1.将源码包clone到工作空间中,我的是在~/research_subject/test_ws/src

cd ~/research_subject/test_ws/src
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/research_subject/test_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"

注意:rosdep会提示错误信息如下图:无法定位[kinect2_bridge] 和 [depth_registration],这是正常的,因为kinect2_bridge和kinect2_registration是本地的包,不需要安装

2.连接好kinect相机,然后运行kinect2_bridge

roslaunch kinect2_bridge kinect2_bridge.launch

运行后不会有什么反应,如果没有错误,就会停留在等待client启动的状态:

[ INFO] [1596467145.242440487]: [Kinect2Bridge::main] waiting for clients to connect

3.启动kinect2_viewer

rosrun kinect2_viewer kinect2_viewer

就能看到弹出窗口,显示图像和点云叠加的信息。但是对的不准,需要校正。

三、第二次安装libfreenect2(使用cuda加速)

使用NVIDIA+INTEL核显双显卡的机子,测试Protonect和kinect2_viewer时,图像信息特别卡。希望用cuda加速

1.首先安装cuda

  • 此前已经安装了NVIDIA显卡驱动,在NVIDIA官网下载的对应显卡和系统版本的驱动,然后进行安装,教程见文件:1604安装问题。安装后的附加驱动里查看显卡驱动是这样的:

  • 进行cuda的安装,教程见文件:cuda9.0安装教程。安装包在官网下载9.0对应系统的runfile版本。我的是cuda_9.0.176_384.81_linux.run
  • 安装好cuda后,重启电脑发现显卡驱动又没了(显示分辨率不对,双屏没法用),但是还好没有循环登录或黑屏的问题。此时用cuda安装教程给的解决方法也没用,就重装一遍NVIDIA显卡驱动

2.重新安装libfreenect2

第一次装的时候,根据libfreenect2给出的optional项,安装了OpenNI2,这一次想着既然用了cuda了,是不是就不用再装OpenNI2了?因为他们都是optional的项,选一个就行了。

于是就把OpenNI2卸载了(apt remove),装libfreenect2时没问题,不过后面编译iai_kinect2的时候就报错缺少OpenNI2了。。于是又装回来了。

将第一次新建的build文件夹删除,然后重新开始编译libfreenect2,过程如下

#这些第一次安装libfreenect2时都做过了(当然从头装的话还是要做一遍的)
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev#安装OPENNI2
sudo apt-get install libopenni2-dev#第二次装,编译时按照下面的流程
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
cmake .. -DENABLE_CXX11=ON -DCUDA_PROPAGATE_HOST_FLAGS=off
make
make install

Set up udev rules for device access:

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

然后重新插拔Kinect2。尝试运行Demo程序:

gyh@gyh:~/libfreenect2/build$ ./bin/Protonect

3.重新编译iai_kinect2

编译之前需要安装一些依赖,还有配置一下cuda环境:

  • 安装依赖:
sudo apt-get install nvidia-modprobe opencl-headers
  • 把下面的两行添加到.bashrc中:
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
export PATH="/usr/local/cuda/bin:${PATH}"
  • 终端再运行一下下面语句:
echo "/usr/local/cuda/lib64" | sudo tee /etc/ld.so.conf.d/cuda.confsudo ldconfig

本来以为是要把OpenNI2卸载掉的,可是编译iai_kinect2时,报错如下,就又装回来了

然后再编译就没问题了

编译过程同第一次安装

完成之后,运行kinect2_bridge:

roslaunch kinect2_bridge kinect2_bridge.launch

能看到有关cuda的信息输出:

再运行kinect2_viewer,正常。但是没感到有啥提高,还是卡卡的。。可能还是没装对吧。待续...  线插好就不卡了

三、校准Kinect

待续。。

kinect_v2-ros(iai_kinect2)安装,环境ubuntu1604+INTEL+NVIDIA相关推荐

  1. 踩坑NVIDIA Jetson TX2、Ubuntu16.04、ROS Kinetic安装

    踩坑NVIDIA Jetson TX2.Ubuntu16.04.ROS Kinetic安装 摘要 一.NVIDIA Jetson TX2环境配置 1.1开机使用图形化界面 1.2刷机 1.3修改TX2 ...

  2. Intel+Nvidia双显卡笔记本Linuxmint18下安装CUDA+OpenCV+Caffe的安装记录

    一.安装环境: 硬件:微星GE70 2PC 089-XCN,14年性价比较高的一款,然而两年多过去后配置已经落伍...当年的价格现在能买到i7+GTX1050了... CPU:intel i5 420 ...

  3. ROS集成开发环境 --- RoboWare(安装及学习笔记)

    后附 RoboWare中文教程网盘链接 Designer Studio Viewer RoboWare Studio是什么 v1.2.0 32位 deb v1.2.0 64位 deb v1.2.0 使 ...

  4. ROS学习(一)ROS Noetic安装及环境配置

    文章目录 前言 0.ROS Installation Options 1.Installation 1.1 Configure your Ubuntu repositories 1.2 Setup y ...

  5. (01)ORB-SLAM2源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析-接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...

  6. DL之IDE:深度学习环境安装之NVIDIA驱动程序安装图文教程(根据Anaconda的CUDA版本去安装对应匹配的NVIDIA)之详细攻略

    DL之IDE:深度学习环境安装之NVIDIA驱动程序安装图文教程(根据Anaconda的CUDA版本去安装对应匹配的NVIDIA)之详细攻略 目录 根据Anaconda的CUDA版本去安装对应匹配的N ...

  7. (02)Cartographer源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析链接如下: (02)Cartographer源码无死角解析-(00)目录_最 ...

  8. ROS kinetic安装、Kinect2驱动安装和配置

    转载自:ROS kinetic安装.Kinect2驱动安装和配置 直接看原帖,会更加舒适一些,粘过来没来得及将命令行单独排版. 为了以后的人可以少走弯路,我会尽可能的列出自己遇到的问题和解决方法. 提 ...

  9. ubuntu + oepncv + PCL + realsenseSDK + ROS + OpenVino开发环境搭建

    目的 本文主要介绍ROS机器人操作系统中主要开发环境的搭建过程. 注意:以下操作尽量在系统原本的空间中,不要在conda建立的虚拟空间中操作. 环境搭建找到正确的路线后,几乎是分分钟就能完成的事,但是 ...

  10. linux nvidia是否安装程序,Linux 为 Nvidia 显卡安装闭源驱动

    **2018/06/30更新:如果你只想用独显,不需要安装Bumblebee进行双显卡切换,请移步此文[Install Nvidia driver, CUDA 9.1 and Tensorflow 1 ...

最新文章

  1. 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
  2. Codeforces 396A 数论,组合数学
  3. 格式编号始终显示2个小数位
  4. shell-grep命令详解(转)
  5. Python中的str与unicode处理方法
  6. 原来数学才是世界上最浪漫的学科!
  7. VirtualBox4.3.12 安装ubuntu 14.04 分辨率过小(600*480)问题的解决方法
  8. android 类型.this,Android中this的用法
  9. .Net 1.1 到 .Net 2.0 开发日志
  10. 【BERT中文改进版】预训练ALBERT模型:参数更少,效果更好,拿下13项NLP任务
  11. 二进制部署Kubernetes-v1.14.1集群
  12. 嗅探辅助利器-幻影网盾原理
  13. .dat文件三维点云可视化
  14. asyncore斗鱼弹幕抓取
  15. win10无法装载iso文件_win10系统iso文件怎么安装
  16. maven 报错[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectj
  17. Gstore官网学习一:知识图谱与gStore介绍
  18. <2021SC@SDUSC>博客(5)山东大学软件工程应用与实践JPress代码分析(四)
  19. UE4 通过UI蓝图来控制游戏的暂停和返回
  20. Git - 从远程仓库中拉取指定分支到本地

热门文章

  1. Mysql 生成随机数字
  2. KMS激活报错0x8007000D
  3. 录播系统服务器大全,专业高清录播服务器 全高清录播系统 系统设计精美
  4. Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
  5. 听小S教你如何瘦小腿
  6. c语言程序设计大赛 作品,撒花 | C语言程序设计大赛、数据结构大赛圆满成功!...
  7. 2021年起重机械指挥考试题库及起重机械指挥最新解析
  8. minio-operator部署minio服务,并用Java客户端访问minio
  9. Python量化交易平台:QMT (日内交易策略示例)
  10. 案例实战|泰坦尼克号船员获救预测(数据预处理部分)