小型カメラ運転VINS-Fusion(一)


前に書くと:1.本文は別の文章win 10+ubuntu 16.04+ROS Kinetic 2.参照[4]に基づいて非常に良い投稿であるが、githubで管理されているコードが更新されているため、いくつかのステップと文で適切に調整する必要がある.
第一歩:小探をインストールするカメラ駆動をダウンロードする
1.Opencvのインストール:公式リンク–OpenCV Installation in Linux【注1】:カードはIPPICVでダウンロードする.解決策は、まずオフラインでダウンロードし、cmakeファイルを変更し、ファイルの保存場所を指摘することです.具体的なステップは招待状を参照します:opencvはippicvのダウンロードの問題"file:///home/changshenxu/"を解決します【注2】:コンパイル中のいくつかのヒントと処理(できるだけ大部分のヒントを解決して、すべて解決していません)
ヒント
しょりlooking for ccache --not found sudo apt-get install ccache Looking for linux/videodev2.h - not found sudo apt-get install libv4l-dev No package 'gstreamer-video-1.0' found sudo apt-get install libgstreamer-plugins-base1.0-dev sudo apt-get install libgstreamer1.0-dev Looking for sys/videoio.h - not found
解決待ち(これは間違いではなくopencvが依存に応じて自動的に自分の機能を調整するそうです)No package 'libavresample' found sudo apt-get install libavresample-dev No package 'gtk+-3.0' found sudo apt-get install libgtk-3-dev
2.ドライバリファレンス[1]をインストールする手順を行えばよい(ドライバインストール部のみ参照).
git clone https://github.com/slightech/MYNT-EYE-S-SDK.git
cd   //    MYNT-EYE-S-SDK  
make init
make install  //  ,       /usr/local   
make samples
make tools

./samples/_output/bin/api/camera_a //   !

また、次にROSのインタフェースを使用して、次のコンパイルを続行します.
make ros

source wrappers/ros/devel/setup.bash
echo "source ~/MYNT-EYE-S-SDK-2.3.8/wrappers/ros/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

roslaunch mynt_eye_ros_wrapper display.launch  //   !

ステップ2:コンパイルしたvins-fusionルーチンのソースコードをダウンロードする
小探はvins−fusionをルーチン(samles)としてgithubに管理した[2].ここには2つのブランチがあります.ブランチdocker_featはdockerをインストールする必要があり、ブランチmasterは必要ありません(このブランチを使用します).ダウンロードコンパイルはブランチmasterを使用し、[3],[4]プロセスを参照でき、コマンドは少し調整する必要がある.
0.ダウンロードおよびコンパイル
  • まず、このVINS-Fusion Masterブランチリンクで直接ウェブダウンロード方式で圧縮パッケージをダウンロードする.
  • コンパイル前に依存ceresをインストールします.公式ceres-solver-installationリンク
  • 最後に、ROSワークスペースを新規作成し、VINS_Fusion解凍は~/MYNT-EYE_ws/srcディレクトリの下に置かれています.次のコマンドを使用してコンパイルします:
  • cd ~/MYNT-EYE_ws
    catkin_make
    
    source devel/setup.bash
    echo "source ~/MYNT-EYE_ws/devel/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    

    【注】:catkin_makeヒントCould not find a package configuration file provided by "cv_bridge"およびCould not find a package configuration file provided by "image_geometry"(完全版ROSをインストールしていますが).解決策:次のコマンドを使用して、プロンプトの2つのパッケージを再インストールします.
    sudo apt-get install ros-kinetic-cv-bridge 
    sudo apt-get install ros-kinetic-image-geometry
    

    1.MYNT-EYE-S-SDKドライバのmynteyeノードを実行する
    cd (local path of MYNT-EYE-S-SDK)
    source ./wrappers/ros/devel/setup.bash //      `./bashrc`,     
    roslaunch mynt_eye_ros_wrapper vins_fusion.launch
    

    2.別の端末を開き、ルーチンMYNT-EYE-FUSION-Sampleのvinsノードを実行する
    cd (local path of MYNT-EYE-Fusion-Sample)
    source ./devel/setup.bash //  ,     
    roslaunch vins mynteye-s-stereo-imu.launch 
    

    ステップ3:vins-fusionルーチンのソースコードのカメラパラメータを変更する
    2歩目の運転が始まると、軌跡が飛んでいることに気づきました!これは正常な現象です.configファイルのパラメータを自分の小さなカメラに基づいて修正していないからです.カメラパラメータの取得方法および修正が必要なソースファイルは、[4]を参照!1.小さな変更./samples/_output/bin/tutorials/get_img_paramsを使用して、左右のカメラのk2,k3,k4,k5,mu,mv,u0,v0パラメータを取得し、left_equ.yamlおよびright_equ.yamlを変更します.
    2.大修正:Camera-IMU再標定に関する投稿参照[5]-[7]と、次の文章ではカメラを探してVINS-Fusion(二)--Camera-IMUパラメータ標定を実行します.
    参考文献及びリンク:
    [1].視覚SLAM-小型カメラ実測vins-monoステップ[2].https://github.com/slightech/MYNT-EYE-VINS-FUSION-Samples.git [3].小さなカメラ標準入門版を用いてvinsを実行する[5].Kalibr標定ツール:Camera+IMU連携標定(MYNTEYEカメラ)[6].KalibrのCamera-IMU標定(まとめ)[7]・Kalibr標定camera-IMU詳細手順
    [5].小探技術サポートセンター
    小問題のまとめ
    1.テストポケットベル(すなわち、./samples/_output/bin/api/camera_aを実行する)は、デバイスが検出されていないというエラーが発生した.解决:カメラを差し込む!
    2.git cloneはCeresライブラリをダウンロードするときに速度がありません.【注】:このCeresライブラリはVINSの依存である.小型カメラの駆動はOpenCVのみに依存し,これには依存しない.解決:ブラウザを使用してその公式サイトでreleaseバージョン1.14.0をダウンロードします.次の手順に進みます.
    3.git cloneがVINS-Fusionをダウンロードすると、error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.が解決します.この問題の原因はhttpキャッシュが不足したり、ネットワークが不安定になったりします.次のコマンドを使用してキャッシュを強化します.git config --global http.postBuffer 524288000
    4.pipの問題、ImportError: cannot import name main.解決:usr/bin/ディレクトリのpipファイルを変更する
    5.ファームウェアのインストールに関する問題.解決:欠落したファームウェア(以下のURL)をダウンロードし、対応する場所にコピーします.https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 sudo cp **.bin/lib/firewarm/…
    6.pandas 0.24.2 has requirement numpy>=1.12.0,but you'll have numpy 1.11.0解決:指定されたバージョンsudo pip install numpy=1.12.0に更新