欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu16.04/18.04+ROS Kinect/Melodic + KinectV2 制作自己的TUM_RGBD数据集

程序员文章站 2022-04-16 20:30:18
...

台式机是Ubuntu16的 笔记本是18.04的跟着turtlebot在跑,下午基本就耗在18.04上装ROS解决各种兼容性问题了。

首先是在机器上装ROS Kinect/Melodic 这个网上有很多Blog,基本上问题会出在软件源上面,ROS官网上提供的源不行就换国内的。有了ROS后基本就完成了一半。

之后安装Kinect的驱动libfreenect2,可以参照git上的readme,也可以按下面的步骤来,这里我是安装在ROS工作空间catkin_ws中的,不知道怎么建工作空间的同志也可以找一下Blog

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

cd catkin_ws/src
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2  //make install的安装目录
make 
sudo make install 

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

///这一句是为了设置运行rules

Ubuntu16.04/18.04+ROS Kinect/Melodic + KinectV2 制作自己的TUM_RGBD数据集

借好电源,数据线 。 运行 ./bin/Protonect 测试一下有没有显示8。

之后安装iai-kinect2,为了让Kinect2在Ros中正常运行。

同样的可以参考git上的Readme,或者下面的步骤。

cd catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .         //这一句很有可能报错,就看各位的软件源有无问题了
cd ..
catkin_make -DCMAKE_BUILD_TYPE="Release"

注意这里你的驱动libfreenect2如果没有装在工作空间编译可能报错找不到libfreeconfig.camke之类的喔

如果以上安装都很顺利,开启三个命令行,应该可以看到深度图喔

roslaunch kinect2_bridge kinect2_bridge.launch

rosrun kinect2_viewer kinect2_viewer sd cloud

rostopic list

之后我们参考博客制作数据集,在源码中填好自己的数据集存储地址(data data/rgb data/depth),在工作空间中编译该程序

catkin_make -DCATKIN_WHITELIST_PACKAGES="dataset_make"

生成的可执行程序应该在   catkin_make/devel/lib/dataset_make/get_image_node

之后两个命令行运行。

roslaunch kinect2_bridge kinect2_bridge.launch

./get_image_node

就可以看到正常运行啦! 这里生成的rgb.txt与depth.txt在本机都是有问题的,写入数据的时候会把之前的数据覆盖掉

因此将其中的 ofstream frgb(save_path + "rgb.txt")改为

ofstream frgb(save_path + "rgb.txt")