当前位置:网站首页>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语言实例_4
- mongodb查看表是否导入成功
- Dark horse notes - exception handling
- JS reverse -- ob confusion and accelerated music that poked the [hornet's nest]
- Clickhouse fields are grouped and aggregated, and SQL is queried according to the granularity of any time period
- 永久的摇篮
- New job insights ~ leave the old and welcome the new~
- Vocabulary in Data Book
- C语言关于链表的代码看不懂?一篇文章让你拿捏二级指针并深入理解函数参数列表中传参的多种形式
- 数据手册中的词汇
猜你喜欢
Yunna | work order management measures, how to carry out work order management
对C语言数组的再认识
盒子拉伸拉扯(左右模式)
刨析《C语言》【进阶】付费知识【二】
AcWing 345. 牛站 题解(floyd的性质、倍增)
Typical problems of subnet division and super network construction
JS how to quickly create an array with length n
新工作感悟~辞旧迎新~
The cradle of eternity
tansig和logsig的差异,为什么BP喜欢用tansig
随机推荐
[chip scheme design] pulse oximeter
swiper组件中使用video导致全屏错位
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
Hutool post requests to set the body parameter to JSON data
图片打水印 缩放 和一个输入流的转换
First experience of JSON learning - the third-party jar package realizes bean, list and map to create JSON format
Image watermarking, scaling and conversion of an input stream
Related programming problems of string
What does security capability mean? What are the protection capabilities of different levels of ISO?
修改px4飞控的系统时间
Vocabulary in Data Book
蓝桥杯2022年第十三届省赛真题-积木画
Scenario practice: quickly build wordpress blog system based on function calculation
454 Baidu Mianjing 1
js如何快速创建一个长度为 n 的数组
According to the analysis of the Internet industry in 2022, how to choose a suitable position?
Ds-5/rvds4.0 variable initialization error
Yunna | work order management measures, how to carry out work order management
Curl command
Gin 入门实战