Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@srs

ROS講座56 Webカメラの画像を表示する

More than 1 year has passed since last update.

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 16.04
ROS Kinetic

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

主なロボットのセンサーとしてビジョンカメラが挙げられます。専用のカメラを使うこともありますが、ROSではWebカメラを使うことが一般的です。基本的な開発としてWebカメラの画像を取得して画面に写すということをします。

要素の解説

uvc_camera

uvc_cameraはwebカメラの画像を取得してimage形でROSトピックをpublishします。

sensor_msgs/Image型
std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
uint32 height
uint32 width
string encoding
uint8 is_bigendian
uint32 step
uint8[] data

以下のコマンドでインストールします。

sudo apt-get install -y ros-kinetic-uvc-camera 

image_view

image_viewはimage形のROSトピックできた画像を表示します。

Rviz

Rvizには様々なトピックを可視化する機能があります。Image型ももちろん表示することができます。

USBカメラ

uvcというクラスに対応していれば使えます。最近のWebカメラならほとんどが対応しています。
ちなみに私はBUFFALO 200万画素WEBカメラ 広角120°マイク内蔵 ブラック BSW200MBKというものをよく使っています。広角で使いやすいカメラです。

image_viewで表示する。

launchファイル

cam_lecture/launch/cam_view.launch
<?xml version="1.0"?>
<launch>
  <node name="uvc_camera_node" pkg="uvc_camera" type="uvc_camera_node" />
  <node name="image_view" pkg="image_view" type="image_view" >
    <remap from="image" to="/image_raw"/>
  </node>
</launch>

実行

roslaunch cam_lecture cam_view.launch 

以下のようなウィンドウが現れます。
cam_simple1.png

Rvizで表示する。

launchファイル

cam_lecture/launch/cam_rviz.launch
<?xml version="1.0"?>
<launch>
  <arg name="rvizconfig" default="$(find cam_lecture)/rviz/cam_rviz.rviz" />
  <node name="uvc_camera_node" pkg="uvc_camera" type="uvc_camera_node" />
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" />
</launch>

実行

roslaunch cam_lecture cam_rviz.launch 

cam_simple2.png

この状態で「$rostopic list」をすると以下のようなリストが現れます。/image_rawが非圧縮の画像のトピックです。

/camera_info
/image_raw
/image_raw/compressed
/image_raw/compressed/parameter_descriptions
/image_raw/compressed/parameter_updates
/image_raw/compressedDepth
/image_raw/compressedDepth/parameter_descriptions
/image_raw/compressedDepth/parameter_updates
/image_raw/theora
/image_raw/theora/parameter_descriptions
/image_raw/theora/parameter_updates
/image_view/output
/image_view/parameter_descriptions
/image_view/parameter_updates
/rosout
/rosout_agg

rvizの設定

「add」ボタンを押す -> Imageを選択する。DisplayウィンドウのImageの「Image Topic」でトピックの名前を選択します。
cam_simple3.png

参考

ROSでカメラ画像を表示

目次ページへのリンク

ROS講座の目次へのリンク

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
srs
ロボットを日々こつこつと製作しています。ロボットやROSやC++、pythonに関心があります。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?