当前位置:网站首页>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
效果如下:
边栏推荐
- 对C语言数组的再认识
- uva 1401 dp+Trie
- POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)
- 1123. The nearest common ancestor of the deepest leaf node
- 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
- Ds-5/rvds4.0 variable initialization error
- Scenario practice: quickly build wordpress blog system based on function calculation
- AcWing 904. 虫洞 题解(spfa求负环)
- AcWing 346. 走廊泼水节 题解(推公式、最小生成树)
- 一起看看matlab工具箱内部是如何实现BP神经网络的
猜你喜欢

The cradle of eternity

Dark horse notes - exception handling

AcWing 361. Sightseeing cow problem solution (SPFA seeking positive ring)

JVM 内存模型

域分析工具BloodHound的使用说明

【唯一】的“万字配图“ | 讲透【链式存储结构】是什么?
![[advanced C language] 8 written questions of pointer](/img/d4/c9bb2c8c9fd8f54a36e463e3eb2fe0.png)
[advanced C language] 8 written questions of pointer

AcWing 345. Cattle station solution (nature and multiplication of Floyd)

Comparison of picture beds of free white whoring

AcWing 361. 观光奶牛 题解(spfa求正环)
随机推荐
制作带照明的DIY焊接排烟器
域分析工具BloodHound的使用说明
Clickhouse fields are grouped and aggregated, and SQL is queried according to the granularity of any time period
糊涂工具类(hutool)post请求设置body参数为json数据
LeetCode:1175. Prime permutation
AcWing 1148. 秘密的牛奶运输 题解(最小生成树)
curl 命令
JS reverse -- ob confusion and accelerated music that poked the [hornet's nest]
mongodb查看表是否导入成功
盒子拉伸拉扯(左右模式)
uva 1401 dp+Trie
The cradle of eternity
Google发布安全更新,修复Chrome中已被利用的0 day
黑马笔记---异常处理
mysqlbackup 还原特定的表
Google released a security update to fix 0 days that have been used in chrome
JS ES5也可以创建常量?
Make Jar, Not War
永久的摇篮
拖拽改变顺序