ORBSLAM2编译依赖(实现视觉SLAM)

参考: ①XTDrone语雀文档
https://www.yuque.com/xtdrone/manual_cn/vslam
②B站Up主冷泉村西的视频
https://www.bilibili.com/video/BV1744y1n7fC?spm_id_from=333.999.0.0

一、Pangolin

  1. 下载
    https://github.com/stevenlovegrove/Pangolin
    不同版本可能有所不同,并且也不知道编译会不会出错,我用的是0.5版本,编译可以实现。

    我自己下载的是压缩包,然后放到Ubuntu自己选定的一个路径解包

  2. build编译
    新建文件夹build,然后在build路径下打开终端,cmake ..

    会出现报错

    输入

sudo apt-get install libglew-dev glew-utils

然后重新cmake …

cmake ..

然后编译

make -j4

这一步,终端在编译过程中会出现警告表示出现错误,我们翻上去一个一个错误进行更正就ok了,这里的主要错误是某些文件(报错已指出)缺少一个头文件#include<unistd.h>,添加就可以了。

然后安装

sudo make install

二、OpenCV

ROS有自带的OpenCV3.2

三、Eigen3

  1. 下载
    http://eigen.tuxfamily.org
  2. 解压并放到自己选的路径
  3. bulid编译
    新建文件夹build,然后在build路径下打开终端,cmake ..
  4. 安装
sudo make install

四、DBoW2和g2o

不需要另外安装

五、编译ORBSLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

如果在上面这一步也出现报错,那么也是同样的问题。找到对应文件加入头文件#include<unistd.h>

六、用TUM运行ORBSLAM2的实例

  1. 下载TUM数据
    https://gitee.com/link?target=http%3A%2F%2Fvision.in.tum.de%2Fdata%2Fdatasets%2Frgbd-dataset%2Fdownload


然后解压到自己选的路径,我放在主文件夹(我自己的电脑/home/vm123/)

  1. 在终端执行下面的命令
    这里需要根据自己具体的路径修改,把TUMX.yaml改为具体的TUM1.yamlTUM2.yamlTUM3.yamlPATH_TO_SEQUENCE_FOLDER改为具体路径加rgbd_dataset_freiburg1_xyz
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER

下面是一个例子:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ~/rgbd_dataset_freiburg1_xyz


执行完以后,它会自动弹出动画进行测试,等到测试完毕它会自动关闭。

七、基于XTDrone文档的ORBSLAM2编译

cp -r ~/XTDrone/sensing/slam/vslam/ORB_SLAM2/ ~/catkin_ws/src/
mkdir ~/catkin_ws/scripts/
cp ~/catkin_ws/src/ORB_SLAM2/xtdrone* ~/catkin_ws/scripts/
cd ~/catkin_ws/src/ORB_SLAM2
chmod +x build.sh
./build.sh

执行到这一步编译,也会出现上面提到的报错,用同样的方法可以解决,只不过这里需要注意文件的路径不同。

export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src/ORB_SLAM2/Examples/ROS

这一步是环境变量设置,一劳永逸方法:到主文件夹打开./bashrc
把这行代码复制进去

chmod +x build_ros.sh
./build_ros.sh

八、运行测试

  1. 启动仿真
cd PX4_Firmware
roslaunch px4 indoor1.launch
  1. 启动ORBSLAM2
 cd ~/catkin_ws/scripts/
sh xtdrone_run_stereo.sh
  1. 另一终端
cd ~/XTDrone/communication
python multirotor_communication.py iris 0
  1. 再另一终端
cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel

ORBSLAM2编译依赖(实现视觉SLAM)相关推荐

  1. 视觉SLAM:模型介绍、算法框架及应用场景

    作者:张长鸿 湖南大学 校稿:董亚微 编辑:郑欣欣@一点人工一点智能 原文地址:视觉SLAM:模型介绍.算法框架及应用场景 目录 01 什么是SLAM 1.1 相机模型 1.2 相机运动 1.3 建图 ...

  2. 视觉SLAM十四讲---第一、二讲(讲解slam框架, c++编译实践)

    同时定位与地图构建:首先是估计自己的运动,然后描述环境这两件事. 困难之处: 数据来源只有图像等 视觉slam14讲有编程内容 书中有相关知识的小例题 一.视觉slam框架分为四个模块 定位和建图的相 ...

  3. 《视觉SLAM 十四讲》第五讲 实践:拼接点云-编译遇到的terminate called after throwing an instance of 'pcl::IOException问题及解决方法

    <视觉SLAM 十四讲>第五讲 实践:拼接点云-编译遇到的terminate called after throwing an instance of 'pcl::IOException问 ...

  4. 编译《视觉SLAM十四讲》ch5里joinmap出现 ***/anaconda3/lib/libpng16.so.16:‘inflateValidate@ZLIB_1.2.9’未定义的引用

    编译<视觉SLAM十四讲>ch5里joinmap,make时出现//home/yjbing11/anaconda3/lib/libpng16.so.16:对'inflateValidate ...

  5. ORB-SLAM2可以说是目前最优秀的基于特征点的视觉SLAM

    ORB-SLAM2可以说是目前最优秀的基于特征点的视觉SLAM https://blog.csdn.net/qq_38589460/article/details/82559816

  6. 《视觉SLAM十四讲》第二版源码slambook2编译调试

    slambook2-master/ch2 编译正常,log如下: slambook2-master/ch2# mkdir build && cd build && cm ...

  7. 【视觉SLAM】An Improved ORB-SLAM2 in Dynamic Scene with Instance Segmentation

    Cite: H. Qian and P. Ding.An Improved ORB-SLAM2 in Dynamic Scene with Instance Segmentation[C].2019 ...

  8. OpenREALM :基于视觉SLAM和三维重建的无人机实时空中测绘

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨泡泡机器人SLAM 标题:OpenREALM: Real-time Mappi ...

  9. 高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法

    目录 前言 系统版本 下载高翔视觉SLAM十四讲第二版的源代码 一.安装 Vim 二.安装 g++ 三.安装 KDevelop 以及汉化 1.安装 2.汉化 四.安装 Eigen 库 五.安装 Pan ...

最新文章

  1. HDLBits 系列(31)Serial Receiver and Datapath
  2. 手机自动化测试:appium源码分析之bootstrap八
  3. pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载...
  4. java十年技术栈[总结复习用]
  5. path:path在路由中的使用
  6. this指向问题(2)
  7. SCOPE_IDENTITY和@@identity的区别
  8. matlab knn,MATLAB K近邻算法 — knnsearch() 函数 | 学步园
  9. Redis 管道技术——Pipeline
  10. excel教程自学网_想学习PS和视频剪辑,自学,有哪些好的学习网站和资源吗?
  11. 信息学奥赛一本通C++语言——1004:字符三角形
  12. 英特尔傲腾存储业务主管已离职 因个人原因离开
  13. 思科模拟器 简单网络连接操作
  14. 动态取值_软件测试|动态测试技术
  15. 超像素池化弱监督语义分割
  16. 计算机病毒 文章400字,身边的俗世奇人作文400字 - 中小学生作文网
  17. HDMI/DVI分配器芯片
  18. JavaScript中this的绑定
  19. 如何将前端echats 图表插入到execl 中
  20. iOS 苹果开发者注册 和 App Store问题咨询

热门文章

  1. 如何使用企业微信群机器人定时发送消息
  2. 设计模式六大原则5---》迪米特法则
  3. 深度学习——深度聚类 小调研
  4. CAD交互绘制云线标注(网页版)
  5. 【C# / Algorithm】RGB、HSV、HSL颜色模型的互相转换
  6. java猜数游戏图形界面_猜数游戏java实现代码
  7. fastapi获取请求参数
  8. C#上位机基础学习_基于SOCKET实现与PLC服务器的TCP通信(二)
  9. UE4虚幻引擎,编辑器基础应用,使用技巧(三)
  10. python类型转换astype时间_python – 使用astype()无法转换Timedelta对象