18.04 SLAM環境構成

7880 ワード

目次
第1話——Ubuntu、mentohust、同期時間、検索入力方式の配置
第2話——CMake、g++、git
第3話——Eigen
第4話-Sophus
第5講——OpenCV、PCL、Pangolin
第6回-Ceres,g 2 o,DboW 3
第13話-octomap

第1話——Ubuntu、mentohust、同期時間、検索入力方式の配置

#  home/package               。

インストール
sudo dpkg -i mentohust_0.3.4-1_amd64.deb

#  
sudo mentohust

#    
sudo gedit /etc/mentohust.conf
 DaemonMod  1, 2   

#    
sudo mentohust -k

#    
sudo mentohust -u Username -p Password -w

#  
sudo gedit /etc/mentohust.conf

#            ubuntu           ,         ,         :
sudo service network-manager restart

どうきじかん
sudo apt-get install ntpdate

sudo ntpdate time.windows.com

sudo hwclock --localtime --systohc

サーチ入力方式
sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb

sudo apt-get install -f

sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb

reboot

第2話——CMake、g++、git


最も基本的なc++コンパイル環境は、g++をインストールする必要があり、直接apt-get(すでにインストールされている可能性があります)
sudo apt-get install cmake

sudo apt-get install g++

sudo apt-get install git

第3話——Eigen


g 2 oのインストールにはEigenサポートが必要です
  
sudo apt-get install libeigen3-dev

    
pkg-config --cflags eigen3

  
sudo apt-get remove libeigen3-dev

第4話-Sophus


Sophusのインストールには2つの問題があります.1つはSophusテンプレートクラスと非テンプレートクラスの違いです.初心者が14回の講演で紹介した非テンプレートクラスのSophusを使いやすいように、gitからのSophusをa 621 ffバージョンにロールバックする必要があります.もう1つは,コンパイラバージョンの違いにより,非テンプレートクラスSophusコンパイルが出現することである.
ubuntu 18で04/18.10で次の問題が発生します.
“unit_complex_.real() = 1.;   unit_complex_.imag() = 0. ;"   

解決方法:コンパイルする前にsophus/so 2を開く必要があります.cppファイルでは、
 
unit_complex_.real() = 1. ;
unit_complex_.imag() = 0. ;

  
unit_complex_.real(1.) ;
unit_complex_.imag(0.) ;

Sophusはコンパイルだけでインストールは必要ありません.
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make -j12

第5講——OpenCV、PCL、Pangolin


下は18.04下の3.3.1インストール方法:2系OpenCVは公式サイトからダウンロードして自分で解凍してインストールする必要があります
sudo apt-get install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libopenexr-dev libtbb-dev
sudo apt-get install libtiff4-dev

mkdir build
cd build 
cmake -D CMAKE_BUILD_TYPE=Release \ -D OPENCV_EXTRA_MODULES_PATH=/home/melodic/package/opencv-3.3.1/opencv_contrib-3.3.1/modules/ \ -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j12
sudo make install

    
pkg-config --modversion opencv

筆者が先にソースコードにインストールopencv 3.4、apt-getインストールのバージョンが3.2であることを発見した後、同じソースインストール2.4バージョンを選択し、同時にソースインストールで2つのバージョンをインストールするには、別のブログにインストールする必要があります.https://blog.csdn.net/qq_41814939/article/details/81625666公式サイトでソースをダウンロードするのは少し遅いかもしれませんが、この文章にも解決方法が貼られています.
まずubuntu 18と書きます.04の違い.以前のバージョンのubuntu端末apt-getにインストールされたopencvは2系であり、ubuntu 18では04は3.2バージョンにインストールされています.この違いは、ソースコードを直接ダウンロードしてインストールした3系で、2系のインストールで発見された違いです.
apt-get opencvの最新バージョンのインストール
sudo apt-get install libopencv-dev

エラーに遭遇
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1484:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
                     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1484:21: note: suggested alternative: ‘AV_CODEC_FLAG_GLOBAL_HEADER’
         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
                     ^~~~~~~~~~~~~~~~~~~~~~~~
                     AV_CODEC_FLAG_GLOBAL_HEADER
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp: In function ‘int icv_av_write_frame_FFMPEG(AVFormatContext*, AVStream*, uint8_t*, uint32_t, AVFrame*)’:
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1512:30: error: ‘AVFMT_RAWPICTURE’ was not declared in this scope
     if (oc->oformat->flags & AVFMT_RAWPICTURE) {
                              ^~~~~~~~~~~~~~~~
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1512:30: note: suggested alternative: ‘AVFMT_NOFILE’
     if (oc->oformat->flags & AVFMT_RAWPICTURE) {
                              ^~~~~~~~~~~~~~~~
                              AVFMT_NOFILE
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function ‘void CvVideoWriter_FFMPEG::close()’:
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1686:35: error: ‘AVFMT_RAWPICTURE’ was not declared in this scope
         if( (oc->oformat->flags & AVFMT_RAWPICTURE) == 0 )
                                   ^~~~~~~~~~~~~~~~
/home/z2/pkg/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp:1686:35: note: suggested alternative: ‘AVFMT_NOFILE’
         if( (oc->oformat->flags & AVFMT_RAWPICTURE) == 0 )
                                   ^~~~~~~~~~~~~~~~
                                   AVFMT_NOFILE

解決策https://www.jianshu.com/p/da49a712410f
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

OpenCVのアンインストール
cd /home/opencv/build
make uninstall//           
sudo rm -r build//  build  
//            
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

cd /home/hy chmod a+x opencv// opencv  
rm -r opencv//             ,           ,
chomd a+x    

PCL
Ubuntu16.04以降pclをインストールすると直接apt-getできます
sudo apt-get install libpcl-dev pcl-tools

Pangolin
gitのソースコード、コンパイルインストールです
     
sudo apt-get install libglew-dev  libboost-dev libboost-thread-dev libboost-filesystem-dev

git clone https://github.com/stevenlovegrove/Pangolin.git

cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST= 1 ..
make -j12
sudo make install

第6回-Ceres,g 2 o,DboW 3


CeresはGoogleのログとテストツールに依存しています
#18.04   libcxsparse3.1.2    libcxsparse3
sudo apt-get install liblapack-dev libsuitesparse-dev libgflags-dev libgoogle-glog-dev libgtest-dev libcxsparse3

git clone https://github.com/ceres-solver/ceres-solver.git

cd ceres-solver
mkdir build
cd build
cmake ..
make -j12
sudo make install

g2o
g 2 oのインストールにはEigenサポートが必要です
ubuntu 18で04 g 2 oのインストールと14.04でのインストールの主な違いはqtで、18.04はqt 5をデフォルトでインストールし、libqglviewer-devはlibqglviewer-headersに変更します
sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-headers

git clone https://github.com/RainerKuemmerle/g2o

cd g2o
mkdir build
cd build
cmake ..
make -j12
sudo make install

コンパイルが完了したらインストールする必要があります(そうしないとエラーが発生します)
sudo apt-get install libsuitesparse-dev

DBoW3
  DBoW2     OpenCV  
git clone https://github.com/rmsalinas/DBow3.git

cd DBow3
mkdir build
cd build
cmake ..
make -j12
sudo make install

第13話-octomap

sudo apt-get install doxygen-latex doxygen-doc doxygen-gui graphviz libclang1-6.0

cd octomap
mkdir build
cd build
cmake ..
make -j12
sudo make install

インストール完了後
sudo apt-get install libqglviewer-headers