Ubuntu16.04安裝+ROS kinetic安裝+ORB-SLAM2算法安裝(小白詳細教程操作+常見錯誤解決方法)

前言

本篇博客將詳細講述我是如何在裸機狀態下安裝Ubuntu16.04雙系統,並安裝對應版本的ROSkinetic系統。外加在安裝了這兩個系統之後,如何成功安裝調試INDEMIND雙目攝像頭並實現ORB-SLAM算法。

我使用的是DELL-inspirion5488, 對於攝像頭配有3.0的USB接口,請各位在安裝過程中不要低於這個配置,以免安裝之後算法無法執行。

一、安裝Ubuntu16.04

IDEMIND這款雙目攝像頭可以匹配ubuntu18.04和ubuntu16.04兩個版本的ubuntu,但是最好使用ubuntu16.04版本。

由於我安裝了太多遍,忘記截圖,詳細過程還請參考這位博主的文章:https://blog.csdn.net/wyx100/article/details/51582617

二、安裝ROS

安裝過程主要參考:https://blog.csdn.net/softimite_zifeng/article/details/78632211
輔助參考ROS kinetic官網:http://wiki.ros.org/kinetic/Installation/Ubuntu
輔助參考18.04版本:https://blog.csdn.net/sinat_34130812/article/details/81666728

在安裝過程中請注意ROS的版本,一定要與自己Ubuntu的版本相匹配。 Ubuntu16.04對應的ROS版本是kinetic。如果不清楚自己的Ubuntu對應什麼版本的ROS可以自行百度。

有能力的朋友可以直接去ROS kinetic的官網上面跟着官方的安裝指南走,網上多數的安裝過程都是官網上的翻譯。而且官網上面能夠保證使用的是最新的key。(官網的鏈接一件在上面給出)

1.配置Ubuntu的資源庫
在這裏插入圖片描述

其中Download from的網址使用阿里雲的鏈接最爲有效(如圖中所示)。安裝過程中一定要使用穩定的網絡!!!!使用手機熱點最好。絕大部分的錯誤都是因爲網絡不穩定導致

2. 設置Ubuntu的sources.list

sudo sh -c 'echo "deb `http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

3. 設置key

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

如果無法連接上述服務器,可以嘗試hkp://pgp.mit.edu:80或者hkp://keyserver.ubuntu.com:80

4. 更新package

sudo apt-get update

5. 安裝ROS kinetic完整版

sudo apt-get install ros-kinetic-desktop-full

安裝完可以查看可用的package:apt-cache search ros-kinetic

6. 初始化rosdep
在使用ROS之前必須要初始化

sudo rosdep init
rosdep update

7. 配置環境

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

其中:sourc ~/.bashrc 是更新配置文件的代碼,每次更改bash文件之後都要執行該命令才能生效。

8. 安裝building package的依賴

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

9. 測試ROS安裝成功

  1. 打開Termial,輸入以下命令,初始化ROS環境:
 roscore
  1. 打開新的Termial,輸入以下命令,彈出一個小烏龜窗口:
rosrun turtlesim turtlesim_node
  1. 打開新的Termial,輸入以下命令,可以在Termial中通過方向鍵控制小烏龜的移動:
rosrun turtlesim turtle_teleop_key

在這裏插入圖片描述
4) 打開新的Termial,輸入以下命令,彈出新的窗口查看ROS節點信息:

rosrun rqt_graph rqt_graph

在這裏插入圖片描述

三、安裝INDEMIND中ORB-SLAM算法

以下過程多爲ubuntu18.04版本下的安裝操作過程記錄。第二次ubuntu16.04版本的安裝稍有不同,以標註的形式體現,沒有截圖記錄。

1. 配置環境

1.1 安裝pangolin

參考:https://www.cnblogs.com/liufuqiang/p/5618335.html
安裝一些必要的庫:
Glew

sudo apt-get install libglew-dev

CMake:

sudo apt-get install cmake

Boost:

sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

Python: ubuntu16.04和18.04自帶Python2,無需重新安裝

在安裝完上述依賴後,就可以開始安裝Pangolin了

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j

一定要注意網絡的問題!!使用熱點比較保險。如果中間報錯不是’XXX package not found’ 這種錯誤,多半是網絡不穩定造成的,多次重新執行失敗的命令即可成功。

我在Ubuntu18.04下遇到如下問題,僅供參考:
ERROR1:
在這裏插入圖片描述
解決方法:
在這裏插入圖片描述
ERROR2:
在這裏插入圖片描述解決方法:
在這裏插入圖片描述
還有可能出現一些package找不到的錯誤,只需要按照提示去安裝相應的包即可。在安裝包完成之後重新執行下面兩行代碼即可:

cmake -DCPP11_NO_BOOST=1 ..
make -j

1.2. 安裝opencv3.4.3

opencv一定要安裝3.4.3版本,否則INDEMIND無法運行。
安裝過程主要參考:https://blog.csdn.net/qq_32408773/article/details/83346816
雖然是18.04的安裝教程,但是用於16.04也完全沒有問題。

  1. 在opencv官網上下載對應的版本:https://opencv.org/releases/
  2. 安裝cmake和其他依賴項
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
  1. 下載完之後對文件進行解壓
  2. 進入解壓後的文件夾並創建build文件夾,並進入build
mkdir build
cd build
  1. cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  1. 編譯
sudo make
  1. 執行安裝命令
sudo make install
  1. 配置環境
sudo gedit /etc/ld.so.conf.d/opencv.conf 

在打開的空白文檔中添加:

/usr/local/lib

之後執行使得修改生效:

sudo ldconfig 
  1. 配置bash
sudo gedit /etc/bash.bashrc

在打開的文件末尾添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH

之後執行以下命令進行更新:

source /etc/bash.bashrc 
sudo updatedb

配置完成!

  1. 測試
    進入opencv-3.4.3/samples/cpp/example_cmake,這裏面是一些cmake官方程序,執行調用攝像頭程序:
 cmake .
 make
 ./opencv_example

如果能夠調用自己電腦的攝像頭,說明安裝成功!

1.3. 安裝Eigen3

sudo apt-get install libeigen3-dev

1.4 安裝DBoW2

安裝DBoW2的時候需要OpenCV的支持

git clone https://github.com/dorian3d/DBoW2

cd DBow2
mkdir build
cd build

cmake ..
make
sudo make install

1.5 安裝g2o

安裝過程主要參考:https://blog.csdn.net/Coderii/article/details/87606036

  1. 官網下載壓縮包
  2. 安裝依賴項
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev

其中linqglviewer-dev安裝不了,如果不需要g2o的viewer模塊,則不必裝該依賴項,如果需要可以去官網直接下載,然後mkdir build;cd build;cmake …;make;sudo make install單獨安裝

  1. 編譯
mkidr build
cd build
cmake ..     
make         
  1. 安裝
sudo make install

2. 安裝SDK依賴環境

2.1 安裝google-glog +gflags

sudo apt-get install libgoogle-glog-dev

2.2 安裝BLAS&LAPACK

sudo apt-get install libatlas-base-dev

2.3 安裝SuiteSparse and CXSparse

sudo apt-get install libsuitesparse-dev

3. 安裝SDK

注意:ubuntu16.04必須使用GCC5.4進行編譯,否則可能鏈接失敗。
參考教程:
1.https://indemind-sdk.readthedocs.io/zh_CN/latest/src/sdk/ros%20SDK%20anzhuang.html
2. INDEMIND微信公衆號上ORB-SLAM的教程

3.1 下載SDK和源碼

下載地址:
SDK: https://github.com/INDEMIND/SDK-Linux
ORB-SLAM: https://github.com/INDEMINDtech/run.ORB

3.2 進行SDK的安裝

  1. 下載好SDK 後,進入SDK-Linux/demo_ros/src目錄。將下載好的ORB-SLAM2放在該目錄下.
  2. 將下載的CMakeList.txt替換到…SDK/demo_ros/src目錄下
  3. 進入sdk/demo_ros/src/ORB_SLAM2/Vocabulary目錄下執行:
tar -xf ORBvoc.txt.tar.gz
  1. 在Linux SDK的demo_ros文件夾下打開終端使用命令來進行編譯:
catkin_make

執行成功之後會在demo_ros 文件夾之下生成兩個執行文件:

module_driver
stereo_euroc

  1. 打開一個新的終端,執行:
roscore
  1. 將module_driver拷貝到SDK/lib/1604下,打開終端執行
sudo -s
sudo chmod 777 ./run.sh
./run.sh
  1. 進入SDK/demo_ros目錄下,打開終端,執行
./stereo_euroc

即可得到實時ORB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章