从零开始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入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
目录
相关文章
|
7月前
|
Ubuntu 机器人 Shell
在Jetson TX2的Ubuntu18.04系统中安装ROS的教程
所有这些步骤并不复杂,但确实需要仔细一点。如果遇到问题,不要灰心,问题是解决问题的开始。保持耐心,细心阅读错误信息,通常情况下,问题的答案就藏在其中。祝ROS旅程顺利!
234 18
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
2783 1
ROS2教程02 ROS2的安装、配置和测试
|
传感器 NoSQL 算法
ROS Moveit 配置全网最详细教程
本文是关于ROS Moveit配置的全网最详细教程,提供了一键安装脚本,以及如何使用Moveit进行机器人运动规划的详细步骤和说明。文中还深入解析了Moveit的配置包文件、Moveit的源码,以及如何使用不同的运动规划算法(如CHOMP、LERP、STOMP)进行路径规划。
2728 1
ROS Moveit 配置全网最详细教程
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
1054 1
|
Ubuntu 机器人 测试技术
奥比中光 Femto Bolt相机ROS配置
这篇文章介绍了奥比中光Femto Bolt相机在ROS1 Noetic和ROS2 Humble环境下的配置过程,包括自动脚本和手动配置方法,适用于Ubuntu 20.04/22.04系统和Jetson Orin平台。
751 0
奥比中光 Femto Bolt相机ROS配置
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
2362 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
Ubuntu Apache
Ubuntu20.04下一键安装ROS1 Noetic
本文提供了一个简化在Ubuntu 20.04系统上安装ROS1 Noetic过程的一键安装脚本工具,该脚本通过优化配置和使用清华大学镜像源,加速了国内用户的下载速度,并自动完成环境设置和依赖安装,同时提供了详细的使用说明和源码。
1104 0
Ubuntu20.04下一键安装ROS1 Noetic
|
8月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
887 12
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
208 1
|
存储 Ubuntu Go
在Ubuntu 18.04上安装Go的方法
在Ubuntu 18.04上安装Go的方法
272 1

推荐镜像

更多
  • ros