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
借好电源,数据线 。 运行 ./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")