kinect_v2-ros(iai_kinect2)安装,环境ubuntu1604+INTEL+NVIDIA
使用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相关推荐
- 踩坑NVIDIA Jetson TX2、Ubuntu16.04、ROS Kinetic安装
踩坑NVIDIA Jetson TX2.Ubuntu16.04.ROS Kinetic安装 摘要 一.NVIDIA Jetson TX2环境配置 1.1开机使用图形化界面 1.2刷机 1.3修改TX2 ...
- Intel+Nvidia双显卡笔记本Linuxmint18下安装CUDA+OpenCV+Caffe的安装记录
一.安装环境: 硬件:微星GE70 2PC 089-XCN,14年性价比较高的一款,然而两年多过去后配置已经落伍...当年的价格现在能买到i7+GTX1050了... CPU:intel i5 420 ...
- ROS集成开发环境 --- RoboWare(安装及学习笔记)
后附 RoboWare中文教程网盘链接 Designer Studio Viewer RoboWare Studio是什么 v1.2.0 32位 deb v1.2.0 64位 deb v1.2.0 使 ...
- ROS学习(一)ROS Noetic安装及环境配置
文章目录 前言 0.ROS Installation Options 1.Installation 1.1 Configure your Ubuntu repositories 1.2 Setup y ...
- (01)ORB-SLAM2源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析-接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...
- DL之IDE:深度学习环境安装之NVIDIA驱动程序安装图文教程(根据Anaconda的CUDA版本去安装对应匹配的NVIDIA)之详细攻略
DL之IDE:深度学习环境安装之NVIDIA驱动程序安装图文教程(根据Anaconda的CUDA版本去安装对应匹配的NVIDIA)之详细攻略 目录 根据Anaconda的CUDA版本去安装对应匹配的N ...
- (02)Cartographer源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析链接如下: (02)Cartographer源码无死角解析-(00)目录_最 ...
- ROS kinetic安装、Kinect2驱动安装和配置
转载自:ROS kinetic安装.Kinect2驱动安装和配置 直接看原帖,会更加舒适一些,粘过来没来得及将命令行单独排版. 为了以后的人可以少走弯路,我会尽可能的列出自己遇到的问题和解决方法. 提 ...
- ubuntu + oepncv + PCL + realsenseSDK + ROS + OpenVino开发环境搭建
目的 本文主要介绍ROS机器人操作系统中主要开发环境的搭建过程. 注意:以下操作尽量在系统原本的空间中,不要在conda建立的虚拟空间中操作. 环境搭建找到正确的路线后,几乎是分分钟就能完成的事,但是 ...
- linux nvidia是否安装程序,Linux 为 Nvidia 显卡安装闭源驱动
**2018/06/30更新:如果你只想用独显,不需要安装Bumblebee进行双显卡切换,请移步此文[Install Nvidia driver, CUDA 9.1 and Tensorflow 1 ...
最新文章
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
- Codeforces 396A 数论,组合数学
- 格式编号始终显示2个小数位
- shell-grep命令详解(转)
- Python中的str与unicode处理方法
- 原来数学才是世界上最浪漫的学科!
- VirtualBox4.3.12 安装ubuntu 14.04 分辨率过小(600*480)问题的解决方法
- android 类型.this,Android中this的用法
- .Net 1.1 到 .Net 2.0 开发日志
- 【BERT中文改进版】预训练ALBERT模型:参数更少,效果更好,拿下13项NLP任务
- 二进制部署Kubernetes-v1.14.1集群
- 嗅探辅助利器-幻影网盾原理
- .dat文件三维点云可视化
- asyncore斗鱼弹幕抓取
- win10无法装载iso文件_win10系统iso文件怎么安装
- maven 报错[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectj
- Gstore官网学习一:知识图谱与gStore介绍
- <2021SC@SDUSC>博客(5)山东大学软件工程应用与实践JPress代码分析(四)
- UE4 通过UI蓝图来控制游戏的暂停和返回
- Git - 从远程仓库中拉取指定分支到本地
热门文章
- Mysql 生成随机数字
- KMS激活报错0x8007000D
- 录播系统服务器大全,专业高清录播服务器 全高清录播系统 系统设计精美
- Windows 11正式版来了!一文带你免费升级、镜像下载、最低系统要求
- 听小S教你如何瘦小腿
- c语言程序设计大赛 作品,撒花 | C语言程序设计大赛、数据结构大赛圆满成功!...
- 2021年起重机械指挥考试题库及起重机械指挥最新解析
- minio-operator部署minio服务,并用Java客户端访问minio
- Python量化交易平台:QMT (日内交易策略示例)
- 案例实战|泰坦尼克号船员获救预测(数据预处理部分)