Ubuntu18.04+ROS安装Kinect V2

Ubuntu18.04+ROS安装Kinect V2步骤及问题解决

笔者配置环境
Ubuntu18.04
ros-melodic
Kinect v2

本文参考:
boyhoodme 的博客:
https://blog.csdn.net/boyhoodme/article/details/89059888?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

1.安装依赖

sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev 
sudo apt-get install libglfw3-dev
sudo apt-get install libopenni2-dev
sudo apt-get install libusb-1.0-0-dev

2.安装libfreenect2

在工作空间的src目录下打开终端下载libfreenect2

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
mkdir build 
cd build
cmake ..
make
sudo make install

若发生错误,根据下面报错1提示解决。
接着设定udev rules:(填好自己libfreenect2的路径,以下是例子)
在src工作空间的目录下

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

然后重新插拔Kinect2。在刚才build目录下运行

./bin/Protonect

此时可以打开摄像头,看到录像了。

下面是ROS上使用Kinect v2

安装iai_kinect2

需要安装iai_kinect2这个metapackage,在src工作空间的目录下克隆功能包

cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .

在最后一个命令报错情况下参考链接:https://answers.ros.org/question/237451/run-rosdep-install-r-from-paths-error-when-i-install-iai_kinect2/
然后返回工作空间的目录下进行编译:

cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"

运行测试Kinect

测试之前一定要进行编译一下,编译成功后再进行测试

roslaunch kinect2_bridge kinect2_bridge.launch
rosrun kinect2_viewer kinect2_viewer

报错以及解决办法:

报错1:

ubuntu@ubuntu:~/Desktop/libfree/libfreenect2/build$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
-- using tinythread as threading library
-- Checking for modules 'libva;libva-drm'
--   No package 'libva' found
--   No package 'libva-drm' found
-- Could NOT find TegraJPEG (missing: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_L4T_OK TegraJPEG_DRIVER_OK TegraJPEG_WORKS) 
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find TurboJPEG (missing: TurboJPEG_INCLUDE_DIRS TURBOJPEG_WORKS)
Call Stack (most recent call first):
  /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  cmake_modules/FindTurboJPEG.cmake:66 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:237 (FIND_PACKAGE):
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/Desktop/libfree/libfreenect2/build/CMakeFiles/CMakeOutput.log"

解决办法:

sudo apt-get install libturbojpeg0-dev

然后删掉文件夹libfreenect2目录下的build文件夹,重新建build然后cmake . .

mkdir build 
cd build
cmake ..
make
sudo make install

报错2:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
kinect2_viewer: Cannot locate rosdep definition for [kinect2_bridge]
kinect2_calibration: Cannot locate rosdep definition for [kinect2_bridge]
kinect2_bridge: Cannot locate rosdep definition for [kinect2_registration]
Continuing to install resolvable dependencies...
All required rosdeps installed successfully

解决办法:
可以忽略,如果不想忽略,
参考链接:https://answers.ros.org/question/237451/run-rosdep-install-r-from-paths-error-when-i-install-iai_kinect2/

rosdep install --from-paths ~/catkin_ws/src/iai_kinect2 --ignore-src -r

参考链接:
https://blog.csdn.net/boyhoodme/article/details/89059888?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

https://answers.ros.org/question/237451/run-rosdep-install-r-from-paths-error-when-i-install-iai_kinect2/

  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

求知小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值