当前位置:网站首页>ROS学习(21)机器人SLAM功能包——orbslam的安装与测试
ROS学习(21)机器人SLAM功能包——orbslam的安装与测试
2022-07-06 18:12:00 【敲代码的雪糕】
前言
在前面的学习中,我们完成了rgdbslam的安装和测试,本篇在此基础上完成ORB-SLAM的安装,这里需要安装的东西就不多了,之前安装RGBD-SLAM时,多数都已安装完毕。
一、安装Pangolin
Pangolin 作为可视化和用户界面。这里需要安装0.5版本的Pangolin,若安装最新版本的,会在SLAM项目编译时报错。
Pangolin0.5下载地址:
https://github.com/stevenlovegrove/Pangolin/releases/tag/v0.5
解压到指定目录,输入命令如下:
cd Pangolin-0.5
mkdir build
cd build
cmake ..
make -j
编译成功,效果如下:
继续输入命令,进行安装:
sudo make install
安装完成后,效果如下:
二、编译ORB-SLAM2
先下载ORB-SLAM2,命令如下:
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
若编译成功,则效果如下:
然后需要添加ROS环境路径,方法如下:
打开 /opt/ros/kinetic/setup.bash文件,在最后添加一行代码,即
export ROS_PACKAGE_PATH=${
ROS_PACKAGE_PATH}:/home/zt/ORB_SLAM2/Examples/ROS
刷新,命令如下:
source setup.sh
类似上面文件,打开~/.bashrc文件,在最后添加一行代码,即
export ROS_PACKAGE_PATH=${
ROS_PACKAGE_PATH}:/home/zt/ORB_SLAM2/Examples/ROS
刷新,命令如下:
source ~/.bashrc
完成ROS环境路径添加操作后,继续执行编译命令:
cd ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh
报错,如下:
原因是系统编译的时候找不到boost的链接库,解决方法是修改/ORB_SLAM2/Examples/ROS/ORB_SLAM2/CmakeLists.txt,添加一句
-lboost_system
如下图:
重新输入命令:
./build_ros.sh
编译成功,效果如下:
三、数据集测试
打开新的终端,输入:
roscore
打开新的终端,输入:
rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml
找到之前下载的数据集,文件名为rgbd_dataset_freiburg1_room.bag,存放在catkin_rgbdslam_ws/rgdb_data目录下,在此目录下,打开新的终端,输入:
rosbag play rgbd_dataset_freiburg1_room.bag /camera/rgb/image_color:=/camera/image_raw
效果如下:
边栏推荐
- Start from the bottom structure to learn the customization and testing of fpga---- FIFO IP
- AcWing 345. 牛站 题解(floyd的性质、倍增)
- Blue Bridge Cup 2022 13th provincial competition real topic - block painting
- LeetCode:1175. 质数排列
- MySQL最基本的SELECT(查询)语句
- Google released a security update to fix 0 days that have been used in chrome
- 一文带你走进【内存泄漏】
- 拖拽改变顺序
- 黑马笔记---创建不可变集合与Stream流
- Public key \ private SSH avoid password login
猜你喜欢

黑马笔记---异常处理

Yunna | work order management software, work order management software app

JVM 内存模型

C语言关于链表的代码看不懂?一篇文章让你拿捏二级指针并深入理解函数参数列表中传参的多种形式

蓝桥杯2022年第十三届省赛真题-积木画

一起看看matlab工具箱内部是如何实现BP神经网络的

Let's see how to realize BP neural network in Matlab toolbox

Analyze "C language" [advanced] paid knowledge [End]

Gin introduction practice

Appium基础 — Appium Inspector定位工具(一)
随机推荐
Dark horse notes - exception handling
Yiwen takes you into [memory leak]
鼠标右键 自定义
编译命令行终端 swift
js如何快速创建一个长度为 n 的数组
tansig和logsig的差异,为什么BP喜欢用tansig
uva 1401 dp+Trie
AcWing 1142. 繁忙的都市 题解(最小生成树)
Machine learning: the difference between random gradient descent (SGD) and gradient descent (GD) and code implementation.
WCF基金会
mongodb查看表是否导入成功
拖拽改变顺序
hdu 4661 Message Passing(木DP&组合数学)
Telnet,SSH1,SSH2,Telnet/SSL,Rlogin,Serial,TAPI,RAW
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
Can't you understand the code of linked list in C language? An article allows you to grasp the secondary pointer and deeply understand the various forms of parameter passing in the function parameter
图片打水印 缩放 和一个输入流的转换
Right mouse button customization
[chip scheme design] pulse oximeter
736. LISP syntax parsing: DFS simulation questions