sabo laboratory

備忘録的な技術系ブログです。組み込み、ガジェットなどなどについて書いていきます。

さくっとPTAMをROSで試す(3)・・・USBカメラで撮影する

前回の記事

sabo.hatenablog.com

sabo.hatenablog.com

前回、USBカメラの接続を確認したが、うまく映像をPTAMで利用できなかった。 今回はPTAMで映像を利用できるようにする。

環境

  • ホストOS:Windows10
  • ゲストOS:Ubuntu14.04
  • VirtualBoxバージョン:5.0.12
  • 使うカメラ

問題究明

どうやらカラー画像なのが問題そう。 カメラから得られる映像"/cv_camera/image_raw"を、モノクロ画像へと変換して接続してみる。

上記サイトを参考に、/cv_cameraから出力されるimage_rawを、image_procを使ってimage_monoへ変換する。

まず画像を変換するためのimage_procを起動。 cv_cameraのノードで利用するため、ネームスペースを指定する。

rosrun cv_camera cv_camera_node
ROS_NAMESPACE=/cv_camera rosrun image_proc image_proc

PTAMのlaunchファイルも、この変更に合わせる。 "/cv_camera/image_raw"を"/cv_camera/image_mono"に変更する。

<remap from="image" to="$(openenv IMAGE /cv_camera/image_mono)" />

PTAMの起動。

roslaunch ptam ptam.launch

各ノードを起動して接続した状態が下の図。

f:id:sabo_321:20160120210808p:plain

PTAMの動作を確認

f:id:sabo_321:20160120214707p:plain f:id:sabo_321:20160120214709p:plain f:id:sabo_321:20160120214711p:plain

いい感じ!