ORB-SLAM3在Ubuntu20.04下的前期环境配置
一、ROS的安装
1.1 换源
为了加快下载速度,在安装ROS前应先进行换源,使用国内的镜像源,具体可参考相关博客。
1.2 安装ROS
完成换源后,我们可使用小鱼ROS的一键安装、配置ROS的代码(注:在Ubuntu20.04下对应的ROS1为Noetic),在终端输入以下指令
wget http://fishros.com/install -O fishros && bash fishros
具体过程如上图所示,大家按需选择相应指令,完成ROS的安装与配置
1.3 ROS的测试
在终端输入以下指令,查看ROS版本
rosversion -d

按次序输入以下指令
终端1输入指令
roscore
按住Crtl+Alt+T,打开终端2,输入指令(注意:不要关闭终端1窗口)
rosrun turtlesim turtlesim_node
按住Crtl+Alt+T,打开终端3,输入指令(注意:不要关闭终端1、2窗口)
rosrun turtlesim turtle_teleop_key
最后你将得到如下图的“键盘控制乌龟走动“的游戏了

到此为止,若所有过程都没报错,那么恭喜你,你已经成功安装ROS了!
二、Opencv的安装
2.1 安装git,g++
sudo apt-get install git
sudo apt install g++
2.2 安装cv_bridge库
sudo apt-get install libopencv-dev
sudo apt-get install ros-noetic-cv-bridge
2.3 安装Opencv依赖库
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt install python3-dev python3-numpy
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
2.4 下载Opencv源文件
打开Opencv官网:https://opencv.org/releases/,选择合适的OpenCV版本,点击Sources进行下载(本人选择4.2.0版本)

将下载的压缩包opencv-4.5.5.zip解压至主目录,重新命名:opencv

2.4 安装Opencv
依次输入以下指令
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
make -j16
sudo make install

查看Opencv版本号
pkg-config --modversion opencv4

三、安装EIGEN和Pangolin库
3.1 安装EIGEN库
cd
sudo apt-get install libeigen3-dev

3.2 安装Pangolin依赖项
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libpng-dev

3.3 下载Pangolin 0.6
点击进入网址:https://github.com/stevenlovegrove/Pangolin/archive/refs/tags/v0.6.zip 下载
将下载的 Pangolin-0.6.zip 解压到主目录,重新命名为 Pangolin

3.4 Pangolin 的安装
依次输入以下指令
cd Pangolin
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
make
sudo make install

完成安装编译后,下一步验证是否安装成功(还是在~/Pangolin/build 目录下进行)
cd ../examples/HelloPangolin
mkdir build && cd build
cmake ..
运行的目录应如下

make
./HelloPangolin

如果出现如上的Main程序,那么恭喜你,你成功安装了Pangolin!
四、ORB-SLM3的安装与编译
4.1 安装Boost库
进入Boost官网:https://www.boost.org/releases/1.77.0/ ,(在右上角可以选择Boost版本,本人选择1.77.0)。选择Unix平台后缀为 tar.gz 的Boost版本下载。

解压Boost
tar -xvf boost_1_77_0.tar.gz
编译Boost
cd ./boost_1_77_0
./bootstrap.sh
sudo ./b2 install
4.2 下载ORB-SLAM3
可以直接去ORB-SLAM3的Github官网下载:https://github.com/UZ-SLAMLab/ORB_SLAM3#
也可以使用Clone指令下载
cd
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

4.3 修改ORB-SLAM3的源文件
1、修改 ~/ORB_SLAM3目录下的 CMakeLists.txt
进入ORB-SLAM3文件夹,文件目录为 ~/ORB_SLAM3 ,打开 CMakeLists.txt 文件
1)将第20行的 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 修改为
set(CMAKE_CXX_STANDARD 14)

2)将第33行的 find_package(OpenCV 4.4) 修改为
find_package(OpenCV 4.2.0 REQUIRED)

3)将第41行的 find_package(Eigen3 3.1.0 REQUIRED) 修改为
find_package(Eigen3 REQUIRED)

2、修改~/ORB_SLAM3/Examples_old/ROS/ORB_SLAM3 目录下的 CMakeLists.txt
进入 ~/ORB_SLAM3/Examples_old/ROS/ORB_SLAM3 目录下,打开CMakeLists.txt
1)将第12行的 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
修改为
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3")
2)将第13行的 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native") 修改为
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")

3)将第20行的 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 修改为
set(CMAKE_CXX_STANDARD 14)

4)将第33行的 find_package(OpenCV 3.0 QUIET) 修改为
find_package(OpenCV 4.2.0 REQUIRED)

5)将第41行的 find_package(Eigen3 3.1.0 REQUIRED) 修改为
find_package(Eigen3 REQUIRED)

3、修改 ~/ORB_SLAM3/Thirdparty/DBoW2 目录下的 CMakeLists.txt
进入 ~/ORB_SLAM3/Thirdparty/DBoW2 目录下,打开CMakeLists.txt
1)将第8行的 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
修改为
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3")
2)将第9行的 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native") 修改为
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")

4、修改 ~/ORB_SLAM3/Thirdparty/g2o 目录下的 CMakeLists.txt
进入 ~/ORB_SLAM3/Thirdparty/g2o 目录下,打开CMakeLists.txt
1)将第57行的 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march=native") 修改为
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
2)将第58行的 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -march=native") 修改为
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")

3)将第72行的 FIND_PACKAGE(Eigen3 3.1.0 REQUIRED) 修改为
FIND_PACKAGE(Eigen3 REQUIRED)

4.4 添加ROS环境
打开终端,安装python2.7
sudo apt install libpython2.7-dev
再次打开终端,输入以下指令
sudo gedit ~/.bashrc
弹出以下窗口(记住.bashrc低下的路径:/home/xiaorui)

在文件末尾加入以下代码(每个人路径不同,要修改)
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/xiaorui/ORB_SLAM3/Examples/ROS

添加完成后,保存并退出,继续在终端输入
source ~/.bashrc
echo ${ROS_PACKAGE_PATH}
若结果如下图,能正确显示刚刚加入的地址,则添加ROS成功
sudo pip install rosdepc
4.5 编译ORB-SLAM3
打开终端,输入以下指令进入ORB-SLAM3文件夹,并完成ORB-SLAM3的编译
cd ORB_SLAM3
chmod +x build.sh
./build.sh
4.6 编译ROS下ORB-SLAM3(待续)
更多推荐



所有评论(0)