ORB-SLAM2をビルド済みコンテナーイメージを使って素早く試してみる
はじめに
この記事ではJetson上でコンテナーイメージを使ってORB-SLAM2を実行する手順を説明します。
手順を実行すると以下のような画面が立ち上がり、ORB-SLAM2を試すことが出来ます。
今回は以下にあるコンテナーイメージを使用します。
ビルド済みであるため、ビルドで苦労することはありません。
Dockerfileはこちらのリポジトリにあります。
https://github.com/dusty-nv/jetson-containers
環境
Jetson Nano 4G
Jetpack 4.6
Webカメラ:logicool C505
手順
1. Default Runtimeの設定
/etc/docker/daemon.jsonを以下のように変更します。
変更後、Jetsonを再起動( sudo reboot
)します。
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
2. コンテナーの起動
コンテナーから画面を表示出来るようにX Windowの設定を行います。
また、Webカメラがコンテナーから参照出来るようにdeviceオプションで設定します。
sudo xhost +si:localuser:root
sudo docker run -it --rm --network host \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v `pwd`:/scripts \
--device /dev/video0:/dev/video0:mwr \
--name orb-slam2 \
dustynv/ros:foxy-slam-l4t-r32.6.1
上記のコマンドを実行すると以下のようにコンテナーが起動されます。
not found librealsense2は、ここでは無視します。
3. ORB-SLAM2を起動
コンテナーのプロンプトから以下のコマンドを実行します。
export LD_LIBRARY_PATH=/tmp/pangolin/build/src:/opt/ORB_SLAM2_CUDA/Thirdparty/DBoW2/lib:/opt/ORB_SLAM2_CUDA/lib:$LD_LIBRARY_PATH
ros2 run ros2_orbslam mono /opt/ORB_SLAM2_CUDA/Vocabulary/ORBvoc.txt /opt/ORB_SLAM2_CUDA/Examples/RGB-D/TUM1.yaml
上記のコマンドを実行すると以下のようにORB-SLAM2の画面が表示されます。
カメラ映像がまだ入力されないため、Currnet FrameのWindowは黒い状態です。
4. Webカメラを起動
コンテナーに接続して、Webカメラ(v4l2_camera_node)を起動します。
新しいターミナルを立ち上げて、以下のようなコマンドを実行します。
sudo docker ps # 起動しているコンテナーを確認
sudo docker exec -it orb-slam2 bash # orb-slam2という名前のコンテナーに接続
ros2 topic list # トピックを確認。/cameraトピックを確認出来るはず。
ros2 run v4l2_camera v4l2_camera_node -r image_raw:=camera # cameraトピックにカメラの映像をpublishするように起動する
コンテナーに接続して、トピックを確認すると/cameraトピックがあることを確認できます。
v4l2_camera_nodeを起動すると以下のような出力が出ます。
ERRORとWARNが出ていますが、カメラ映像は取得出来ているはずです。
Author And Source
この問題について(ORB-SLAM2をビルド済みコンテナーイメージを使って素早く試してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/tsota/items/e334cdaee0ca746805ab著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .