Ubuntu20.04+ROS Noetic配置Kinect V2问题记录

我的OpenCV版本是4.2.0,在此基础上进行配置,并且已经安装过cuda_11.0.2(非必需)

第一步——安装所需依赖

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg0-dev
sudo apt-get install libglfw3-dev

第二步——安装libfreenect2

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
mkdir build 
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install

第三步——测试上述安装

在/libfreenect2/build/bin下有两个可执行文件,在此处打开终端:

./Protonect

成功获得图像!

第四步——安装ROS的功能包:IAI Kinect2

打开终端:

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"

第五步——错误解决(必出错误)

第一个错误:

/usr/include/pcl-1.10/pcl/point_types.h:525:1: error: 'minusscalar' is not a member of 'pcl::traits'

525 | POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::_PointWithViewpoint,

具体如图所示,一堆红色!

解决方法:找到报错的功能包修改对应的CMakelist.txt,我的图示里面为iai_kinect2/kinect2_viewer。

添加:

set(CMAKE_CXX_STANDARD 14)

第二个错误:

/home/lwc/catkin_ws/src/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp:113:22: error: ‘CV_IMWRITE_PNG_COMPRESSION’ was not declared in this scope
  113 |     params.push_back(CV_IMWRITE_PNG_COMPRESSION);
具体如图所示:

解决方法:找到报错的cpp文件,将红色报错信息的CV_****修改为cv::****

第三个错误:

error: CV_BGR2GRAY was not declared in this scope

解决方法:找到对应的cpp文件,添加如下头文件:

#include <opencv2/imgproc/types_c.h> 

第四个错误:

error: CV_AA was not declared in this scope

解决方法:找到对应的cpp文件,添加如下头文件:

#include<opencv2/imgproc/imgproc_c.h>

第六步——测试IAI Kinect2

cd ~/catkin_ws
source /devel/setup.bash
roslaunch kinect2_bridge kinect2_bridge.launch

再新开一个终端启动rviz查看图像:

rosrun rviz rviz

添加的图像主题以及订阅的话题如下图所示:

添加的点云主题以及订阅的话题如下图所示:

Global Options记得修改为相机坐标系:kinect2_rgb_optical_frame。

大佬的参考链接:Kinect V2 在ros-noetic使用(ubuntu20.04)_noetic 对应的驱动libfreenect-CSDN博客

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值