ORBSLAM2编译依赖(实现视觉SLAM)
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
下载
https://github.com/stevenlovegrove/Pangolin
不同版本可能有所不同,并且也不知道编译会不会出错,我用的是0.5版本,编译可以实现。
我自己下载的是压缩包,然后放到Ubuntu自己选定的一个路径解包
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
- 下载
http://eigen.tuxfamily.org
- 解压并放到自己选的路径
- bulid编译
新建文件夹build,然后在build路径下打开终端,cmake ..
- 安装
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的实例
- 下载TUM数据
https://gitee.com/link?target=http%3A%2F%2Fvision.in.tum.de%2Fdata%2Fdatasets%2Frgbd-dataset%2Fdownload
然后解压到自己选的路径,我放在主文件夹(我自己的电脑/home/vm123/)
- 在终端执行下面的命令
这里需要根据自己具体的路径修改,把TUMX.yaml
改为具体的TUM1.yaml
或TUM2.yaml
或TUM3.yaml
,PATH_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
八、运行测试
- 启动仿真
cd PX4_Firmware
roslaunch px4 indoor1.launch
- 启动ORBSLAM2
cd ~/catkin_ws/scripts/
sh xtdrone_run_stereo.sh
- 另一终端
cd ~/XTDrone/communication
python multirotor_communication.py iris 0
- 再另一终端
cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel
ORBSLAM2编译依赖(实现视觉SLAM)相关推荐
- 视觉SLAM:模型介绍、算法框架及应用场景
作者:张长鸿 湖南大学 校稿:董亚微 编辑:郑欣欣@一点人工一点智能 原文地址:视觉SLAM:模型介绍.算法框架及应用场景 目录 01 什么是SLAM 1.1 相机模型 1.2 相机运动 1.3 建图 ...
- 视觉SLAM十四讲---第一、二讲(讲解slam框架, c++编译实践)
同时定位与地图构建:首先是估计自己的运动,然后描述环境这两件事. 困难之处: 数据来源只有图像等 视觉slam14讲有编程内容 书中有相关知识的小例题 一.视觉slam框架分为四个模块 定位和建图的相 ...
- 《视觉SLAM 十四讲》第五讲 实践:拼接点云-编译遇到的terminate called after throwing an instance of 'pcl::IOException问题及解决方法
<视觉SLAM 十四讲>第五讲 实践:拼接点云-编译遇到的terminate called after throwing an instance of 'pcl::IOException问 ...
- 编译《视觉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 ...
- ORB-SLAM2可以说是目前最优秀的基于特征点的视觉SLAM
ORB-SLAM2可以说是目前最优秀的基于特征点的视觉SLAM https://blog.csdn.net/qq_38589460/article/details/82559816
- 《视觉SLAM十四讲》第二版源码slambook2编译调试
slambook2-master/ch2 编译正常,log如下: slambook2-master/ch2# mkdir build && cd build && cm ...
- 【视觉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 ...
- OpenREALM :基于视觉SLAM和三维重建的无人机实时空中测绘
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨泡泡机器人SLAM 标题:OpenREALM: Real-time Mappi ...
- 高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法
目录 前言 系统版本 下载高翔视觉SLAM十四讲第二版的源代码 一.安装 Vim 二.安装 g++ 三.安装 KDevelop 以及汉化 1.安装 2.汉化 四.安装 Eigen 库 五.安装 Pan ...
最新文章
- HDLBits 系列(31)Serial Receiver and Datapath
- 手机自动化测试:appium源码分析之bootstrap八
- pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载...
- java十年技术栈[总结复习用]
- path:path在路由中的使用
- this指向问题(2)
- SCOPE_IDENTITY和@@identity的区别
- matlab knn,MATLAB K近邻算法 — knnsearch() 函数 | 学步园
- Redis 管道技术——Pipeline
- excel教程自学网_想学习PS和视频剪辑,自学,有哪些好的学习网站和资源吗?
- 信息学奥赛一本通C++语言——1004:字符三角形
- 英特尔傲腾存储业务主管已离职 因个人原因离开
- 思科模拟器 简单网络连接操作
- 动态取值_软件测试|动态测试技术
- 超像素池化弱监督语义分割
- 计算机病毒 文章400字,身边的俗世奇人作文400字 - 中小学生作文网
- HDMI/DVI分配器芯片
- JavaScript中this的绑定
- 如何将前端echats 图表插入到execl 中
- iOS 苹果开发者注册 和 App Store问题咨询
热门文章
- 如何使用企业微信群机器人定时发送消息
- 设计模式六大原则5---》迪米特法则
- 深度学习——深度聚类 小调研
- CAD交互绘制云线标注(网页版)
- 【C# / Algorithm】RGB、HSV、HSL颜色模型的互相转换
- java猜数游戏图形界面_猜数游戏java实现代码
- fastapi获取请求参数
- C#上位机基础学习_基于SOCKET实现与PLC服务器的TCP通信(二)
- UE4虚幻引擎,编辑器基础应用,使用技巧(三)
- python类型转换astype时间_python – 使用astype()无法转换Timedelta对象