wsl ubuntu 20.04 ORB_SLAM3環境構築

windows ubuntu LTSなどにORB_SLAM3を構築する手順
初心者を対象とします

  1. ubuntuをwsl上にインストールします。やり方(hyper-v等の仮想環境)などの設定は他サイト手順を真似てください。

  2. ubuntuの環境をupdate

  3. Opencv(※c++等で使用するStandAlone)の物を構築します

  4. SLAMの環境構築 SLAMにはいくつかProjectの種類があります。日本の国立産業技術のOpenSlamがありましたが現在Prjが止まっております。特許関連でPrjが止まった為にこれは除外です。恐らく永久に復活は無いとの事。。。

  5. SLAM事前構築1 Pangolin
    概要:ルート直下においてbuild dirを作成してその中でビルドします
    mkdir ~/soiya cd ~/soiya git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin ./scripts/install_prerequisites.sh recommended cmake -B build cmake --build buil

  6. SLAM事前構築2 Eigen ←gitlabからソースを取得するので間違えないようにしてください。 githubにもあるらしいが信ぴょう性の担保なし
    概要:ルート直下においてbuild dirを作成してその中でビルドします
    mkdir eigen
    cd eigen
    git clone https://gitlab.com/libeigen/eigen.git
    mkdir
    build
    cd build
    cmake .. sudo make install

  7. 上記で初めてORB-SLAM3のインストールが可能となります

  8. ORB-SLAM3のインストール 
    ルート直下に
    git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
    ORB_SLAM3ディレクトリが作成されます
    cd
    ORB_SLAM3
    chmod +x build.sh ./build.sh

  9. CmakeList.txtの編集
    8で実行すると環境違いのビルドエラーが出力されます。
    例:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CMake Warning at CMakeLists.txt:33 (find_package): Could not find a configuration file for package "OpenCV" that is compatible with requested version "4.4". The following configuration files were considered but not accepted: /usr/lib/x86_64-linux-gnu/cmake/opencv4/OpenCVConfig.cmake, version: 4.2.0 /lib/x86_64-linux-gnu/cmake/opencv4/OpenCVConfig.cmake, version: 4.2.0 CMake Error at CMakeLists.txt:35 (message): OpenCV > 4.4 not found. -- Configuring incomplete, errors occurred! See also "/home/handaru/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  10. 上記9のエラー対策
    windowsのエクスプローラーで
    \\wsl$
    上記で開き対象のubuntuディレクトリをGUIで開くと即ルート直下で開かれます。昔のファイルToolなど必要ないです。
    cmakelist.txtをサクラでもなんでも良いので開き
    find find_package
    個々のopencv versionを書き換えます。Opencv_Version で現在Versionがわかりますので4.9やら4.10等と表記されますのでそれを書き換えてください。

  11. 次はbuild version等違ったりする可能性があるので下記を入力
    sed -i 's/++11/++14/g' CMakeLists.txt chmod +x build.sh ./build.sh
    また、cmakeよくわからない場合は再インストールしてみてください

    何故エラーとなるかはgitからダウンロードしてきたcmakefileがゴミクズの為です。※使用する様々な環境の人を考えていないcmakeをそのままgitにぶち込んでいる為。。。
    ※SLAM系はニッチ技術の為、ゴミ&ゴミが一杯いるので注意してください。(自分たちの世界で4545している意識高い系のゴミなので相手にしなくて良いです。)
    とりあえず第一ステップは上記で以上となります
    つぎはROSラッパー(ROS使用しない人は特にする必要ないです。ここで終了となります。)
    くれぐれもSLAM自体がゴールではなく、料理で例えると調理器具程度なのでうまく行かなくても全然かまいません!
    調理器具に拘っていると時間の無駄なので別の方法や別の技術を積極的に取り入れてください。ハッキリいって料理も出来ていないのにどうたらこうたら議論することの無意味さでテンション下がらない様にw

(イキリマンが多いのはなぜなのでしょう?未だ意識高い系がイキッテいるのを見かけますが、周りからは痛スギて可哀そうな目で見られてますよ!そこのあなた!)



以上で終了となります
次のステップはUSBカメラへのマウント
使用方法となります。

備考:WSL上であえて使う必要等ありません
singleBord Jetson nano/orinやOrinで使用する事のほうが多い潮流です。
外に持ち出して 実際に3D生成しながらチェックしたほうが効率的の場合もあります。
SingleBordおススメ: RDK X3 これがORB_SLAMが動くとのレポートが上がっております。yolo detectionが30fpsで動くなど、今まで課題であった
on the Car, detection/predictionの壁が乗り越えられたので一気に世間への汎用が開かれました。Edge Compute on the Carの到来となります。


この記事が気に入ったらサポートをしてみませんか?