ROS melodic で ARマーカーを検出するための環境設定 ① Unbuntu 上で Docker コンテナを立ち上げるまで
はじめに
初めてROSを触る人が、DockerでROSのコンテナを立ち上げてARマーカーをUSBカメラで検出するまでの流れを記録として残します。
ROS melodicのDocekrイメージのPullから、ar-track-alvar
パッケージの動作確認までが目標です。
この記事では、X serverを用いたGUI環境と、USBカメラのデバイス情報を設定してROS melodic
コンテナをrun するところまで紹介します。
環境
環境 | |
---|---|
OS | Ubuntu 18.04 LTS |
プロセッサ | Intel Core i7-6700HQ CPU |
RAM | 8GB |
GPU | GeForce GTX960M |
ROS | melodic |
このシリーズについて
複数回に分けて紹介します。
0. 環境設定編(Windows10にUbuntuをデュアルブートして、Dockerをセットアップする)
1. ROSのコンテナを作成する この記事です
2. AR検出用のパッケージをセットアップする
docker imageのインストール
ROS1の中では melodicが最新なのでイメージをインストールします
ターミナルで以下を実行してください。
$ docker pull {image-name:tag-name}
例
$ docker pull orsf/ros:melodic-desktop-full-bionic
タグの中身の違いは現状わかっていません。
例えば、stretchとか検索するとraspbianというワードが出るから、リソース小さいマシン用なのかな?
ちなみにpull済のイメージ一覧は次のコマンドで知ることができます。
$ docker image ls
container の起動
イメージからコンテナを作成します。
このときに外部接続の設定と、USB deviceの設定をしないとROSコンテナ内でGUI画面が出てきません。
(エラーメッセージ cannot connect X server
とか、カメラ画像が出てこない事象に悩みます。)
docker tutorialのスクリプトを参考にrun スクリプトで設定を
行いました。
$ docker run -it \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--device="/dev/video2:/dev/video2" \
--name="AR_Env" \
osrf/ros:melodic-desktop-full-bionic \
rqt
export containerId=$(docker ps -l -q)
device
やname
, 使うイメージは適宜読み替えてください。
次の項で、デバイス情報取得で調べ方を記述します。
usbカメラデバイスdevice
の情報取得
$ lsusb
コマンドがないときは、
$ apt-get install lsusb
でインストールできます
$ v4l2-ctl -d /dev/video0 --all
私の環境の場合、/dev/video2
がusbcamだったのでこちらの情報を使っています。
X severの準備
noVNCとか使いたかったのですが、いまのところ難しかったのでdocker tutorialより
シンプルだけど、安全でない 方法でとりあえず動かします。
runのスクリプトを実行する前に、Ubuntu側のX server設定を変更しておきます。
$ xhost +local:root
Ubuntuを立ち上げる都度設定してあげないと、作ったコンテナがstart しないという事態を経験します。
そうゆうときは
$ docker logs {container name}
で何が起こっているか見ることができます。(Xseverに繋がらないからstartできない、とか)
コンテナのrunスクリプトを実行すると起動します。device
で設定したUSBカメラを接続していないとコンテナがstartしないのでご注意ください。
おわりに
USBカメラを接続した状態でROSのコンテナが起動でき、撮影した画像をGUIで表示する準備ができました。
Author And Source
この問題について(ROS melodic で ARマーカーを検出するための環境設定 ① Unbuntu 上で Docker コンテナを立ち上げるまで), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshikee/items/d26f94f749d8c4275257著者帰属:元の著者の情報は、元の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 .