Kinect2.0+ORBSLAM2_with_pointcloud_map
发布日期:2022-02-06 00:27:03 浏览次数:38 分类:技术文章

本文共 2496 字,大约阅读时间需要 8 分钟。

文章目录


一、kinect2.0驱动

1.libfreenect2

git clone https://github.com/OpenKinect/libfreenect2.gitcd libfreenect2cd depends; ./download_debs_trusty.sh //下载upgrade deb 文件sudo apt-get install build-essential cmake pkg-config//安装编译工具sudo dpkg -i debs/libusb*deb //安装libsubsudo apt-get install libturbojpeg libjpeg-turbo8-dev//安装TurboJPEGsudo dpkg -i debs/libglfw3*deb//安装OpenGLsudo apt-get install -fsudo apt-get install libgl1-mesa-dri-lts-vivid//Buildcd ..mkdir build && cd buildcmake .. makemake install

设定udev rules: sudo cp …/platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/, 然后重新插拔Kinect2

现在可以尝试运行Demo程序:./bin/Protonect

应该可以看到kinect相机的画面

2.iai-kinect2

从Github上面下载工程源码到工作空间内src文件夹内

cd ~/catkin_ws/src/git clone https://github.com/code-iai/iai_kinect2.gitcd iai_kinect2rosdep install -r --from-paths .cd ~/catkin_wscatkin_make -DCMAKE_BUILD_TYPE="Release"

注意

针对于上述命令中最后一行指令, 需要说明的是, 如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:

catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"

编译结束,可以在ROS中获取Kinect2的数据,如果遇到命令不能执行的情况,应该将对应的环境写入~/.bashrc文件。

roslaunch kinect2_bridge kinect2_bridge.launch

roslaunch发起相关的节点,另一个终端输入rostopic list 可以查看相关的Topic,还可以输入 rosrun kinect2_viewer kinect2_viewer sd cloud ,开启Viewer查看数据

二、ORBSLAM2_with_pointcloud_map

1.安装Pangolin

依赖项:

sudo apt-get install libglew-devsudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-devsudo apt-get install libdc1394-22-dev libraw1394-devsudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev

源码编译安装

git clone https://github.com/stevenlovegrove/Pangolin.gitcd Pangolinmkdir buildcd buildcmake ..cmake --build .sudo make install

2.ORBSLAM2_with_pointcloud_map

git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git

解压orbslam2_modified.zip,会得到两个文件夹,分别为g2o_with_orbslam2和ORB_SLAM2_modified

编译g2o

安装依赖项

sudo apt-get intall libsuitesparse-dev qtdeclarative5-dev qt5-default libqglviewer-dev

后期修改参照博客:

https://blog.csdn.net/qq_25349629/article/details/88350374

运行rgbd_tum,基于数据集查看建图情况:

我运行的指令如下图所示
在这里插入图片描述
点云情况如下:
在这里插入图片描述

3.用自己的Kinect实时建图

参考博客:

https://blog.csdn.net/qq_25349629/article/details/88528765

按照博主的编译通过了,但是最后遇到了一点问题

在这里插入图片描述
ERROR While loading shared libraries:cannot open shared object file

确实有点儿菜…

因为不能用自己的kinect实时跑,所以打算做自己的一个数据集,用数据集来建图看一下,然后就有了后面几张图片:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

用自己的数据集跑了一下,感觉效果并不怎么好,可能与录制的数据集有关,点云很稀疏。

实时再次证明:你还是很菜…

总结

问题总是会遇到的,当然还是要想法设法去解决,各种SLAM相关的包其实跑了也挺多,今天临时兴起简单总结一点相关ORB的,当然底层代码相关的才是最需要去深挖的,明天看代码,希望后面自己总结一些与代码相关的问题。

转载地址:https://blog.csdn.net/weixin_46181372/article/details/109279172 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:IMU的学习记录
下一篇:数据库的设计

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月02日 13时10分56秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【C++】攻克哈希表(unordered_map) 2019-04-27
转:【答学员问】- 该如何根据岗位学习相关技能 2019-04-27
转:【答学员问】有什么经验教训,是你在面试很多次之后才知道的? 2019-04-27
消息队列:解耦、异步、削峰,现有MQ对比以及新手入门该如何选择MQ? 2019-04-27
【奇技淫巧】-- 三角形最小路径和 2019-04-27
【小技巧】argc和argv的用法 2019-04-27
学不下去了怎么办? 2019-04-27
二叉树的前中后序遍历(迭代法)(带动画) 2019-04-27
【小技巧】【XShell】【Xftp】Windows桌面与Linux虚拟机互传文件 2019-04-27
【redis入门】Centos下安装redis 2019-04-27
【redis入门】redis安装后相关知识串讲 2019-04-27
【redis】来吧,展示一下redis 发布-订阅模式 2019-04-27
讲通C/C++预编译/条件编译指令 #ifdef,#ifndef,#endif,#define,… 2019-04-27
【redis6.0.6】redis源码慢慢学,慢慢看 -- 第二天:空间配置(zmalloc) 2019-04-27
当下热点词再学:redis缓存预热、更新、降级,限流 2019-04-27
【redis6.0.6】redis源码慢慢学,慢慢看 -- 第五天:adlist 2019-04-27
别抖,OK? 操作系统抖动现象、网络抖动与延迟、函数抖动之防抖与节流,串讲 2019-04-27
第六天:网络处理(anet部分)-- redis源码慢慢学,慢慢看【redis6.0.6】 2019-04-27
通过域名获取主机IP -- struct addrinfo 2019-04-27
【C++】算法集锦(8):从两数和问题拓展到一百数和问题 2019-04-27