一、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-SLAM3Github官网下载: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(待续)

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐