从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(一):安装与配置

本文涉及的产品
资源编排,不限时长
简介: 从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(一):安装与配置

1 Wins+Ubuntu双系统安装

2 配置ORBSLAM2

2.1 工具配置

2.2 安装Pangolin库

2.3 安装Opencv2.4.11

2.4 安装Eigen3

2.5 安装ORBSLAM2

3 安装与配置ROS

4 错误记录与解决方案

1 Wins+Ubuntu双系统安装

对于ORBSLAM这种对硬件要求较高的大型计算机视觉实验,不推荐在虚拟机上实现,建议安装双系统以集成对显卡、摄像头更好的支持,由于本文关注ORBSLAM,因此关于双系统详细的图文安装步骤请移步参考Linux不会装?Win10+Ubuntu双系统安装、配置、卸载保姆级图文避雷指南

2 配置ORBSLAM2

2.1 工具配置

 sudo apt-get install cmake       #安装CMake
 sudo apt-get install git     #安装Git
 sudo apt-get install gcc g++   #安装g++

2.2 安装Pangolin库

首先安装库依赖文件

sudo apt-get install libglew-dev   #安装Glew
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev                  #安装Boost
sudo apt-get install libpython2.7-dev

接着下载、编译、安装Pangolin,为方便第三方库管理,在ORBSLAM2根目录下创建3rd/Pangolin/src

mkdir -p ~/Project/SLAM/ORBSLAM2/3rd/Pangolin/src
cd ~/Project/SLAM/ORBSLAM2/3rd/Pangolin/src
git clone https://github.com/stevenlovegrove/Pangolin.git
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
# 这一步用虚拟机可能会卡死,需要根据自身硬件设备调整线程数
make -j4              
sudo make install     # 关键,用于安装

2.3 安装Opencv2.4.11

mkdir -p ~/Project/SLAM/ORBSLAM2/3rd/Opencv2/src
cd ~/Project/SLAM/ORBSLAM2/3rd/Opencv2/src

OpenCV官网下载OpenCV2.4.11然后解压到上述目录。

接着安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译安装

mkdir build
cd build
sudo cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_nppi_LIBRARY=true -DWITH_CUDA=OFF -DBUILD_TIFF=ON -DCMAKE_INSTALL_PREFIX=/usr/local/include/opencv2411
make 
sudo make install

2.4 安装Eigen3

安装

 sudo apt-get install libeigen3-dev

Eigen头文件的默认位usr/include/eigen3 中。

2.5 安装ORBSLAM2

ORBSLAM2依赖库g2o和DBoW2在这一步编译完成

cd ~/Project/SLAM/ORBSLAM2
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
# 编译
chmod +x build.sh
./build.sh

到这里为止ORBSLAM项目编译完成,可以下载数据集进行测试,这里推荐几个数据集网站:

1.ORBSLAM2数据集序列(TUM)

2.ORBSLAM2数据集序列(EUROC)

3.ORBSLAM2数据集序列(KITTI)


解压在项目根目录的dataSet文件里,进入ORBSLAM2根目录进行测试


TUM数据集

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ~/Project/SLAM/ORBSLAM2/dataSet/rgbd_dataset_freiburg1_xyz

其中标签TUM1.yaml可以替换成其他,~/Project/Slam/ORBSLAM2/dataSet/rgbd_dataset_freiburg1_xyz是数据集序列所在路径,rgbd_dataset_freiburg1_xy是序列名称。

EuROC数据集

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ~/Project/SLAM/ORBSLAM2/dataSet/V2_01_easy/mav0/cam0/data ./Examples/Monocular/EuRoC_TimeStamps/V201.txt 

如果遇到加载动态库错误

ORB_SLAM2 libORB_SLAM2.so: cannot open shared object file: No such file or directory

执行下面语句

sudo cp lib/libORB_SLAM2.so /usr/lib
sudo cp Thirdparty/g2o/lib/libg2o.so /usr/lib
sudo cp Thirdparty/DBoW2/lib/libDBoW2.so /usr/lib

3 安装与配置ROS

ROS的安装与配置请参考

4 错误记录与解决方案

错误1:编译执行 ./build_ros.sh 时出现


CMakeLists.txt:4 (rosbuild_init)

– Configuring incomplete, errors occurred!

make: *** 没有指明目标并且找不到 makefile停止。


解决方案:此为ROS配置错误,需要修改

sudo gedit ~/.bashrc
# 增加
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/Project/SLAM/ORBSLAM2/ORB_SLAM2/Examples/ROS
source ~/.bashrc

错误2:error reading version line

解决方案:一般由rosbag包错误导致,重新下载ros_bag文件。


错误3:[FATAL] [1630244733.986587231]: Error opening file: rgbd_dataset_freiburg1_xyz.bag

解决方案:没有启动ros导致,在某个终端启动roscore即可解决。


相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
1天前
|
存储 Ubuntu
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第2天】本文详细介绍了在使用 Ubuntu 过程中常见的五个问题及其解决方案:下载镜像文件速度慢或损坏,可更换镜像源或验证哈希值;制作启动盘失败,需检查 U 盘及设置;安装过程中的分区问题,需合理规划分区;安装后的驱动问题,可通过安装官方驱动解决;软件安装和更新问题,需检查仓库配置及依赖关系。
|
1月前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
157 3
Ubuntu 18.04 安装Docker实战案例
|
1月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
60 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
18天前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
36 1
|
29天前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
50 3
|
1月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
107 2
|
1月前
|
Ubuntu NoSQL
ubuntu上安装某个程序的符号表和源码包
ubuntu上安装某个程序的符号表和源码包
|
1月前
|
Ubuntu
在树莓派4B上安装ubuntu系统
在树莓派4B上安装ubuntu系统
|
1月前
|
Ubuntu
树莓派 —— ubuntu上通过netplan配置网络
树莓派 —— ubuntu上通过netplan配置网络
|
1月前
|
Ubuntu
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
下一篇
无影云桌面