LoginSignup
1
0

More than 3 years have passed since last update.

[はじめてのRDBOX(4)]rdbox使ってみました:ROS Subscriber編

Last updated at Posted at 2019-08-29

はじめに

ROS の初心者が、とっても簡単なROSアプリを作ってみました。(連載記事です)

今回の記事の概要

構築

関連パッケージ

  • 画像データ取り扱いに関連して OpenCV を使用している
  $ sudo apt install -y python-opencv ros-melodic-cv-bridge

ROS アプリ作成 : scripts/sub_photo.py

  • 今回の記事のアプリソースファイルの作成
    • 画像データ受信(=Subscribe)する
    • 受信した画像データをファイルに保存する
  • 以下(↓)は具体的な手順(下記例では、GitHubよりファイルを取得)
  $ mkdir -p ${HOME}/ros_ws/src/picam_ros/scripts
  $ cd ${HOME}/ros_ws/src/picam_ros/scripts
  $ curl -s -o sub_photo.py https://raw.githubusercontent.com/higuchi-toshio-intec/example-picam/master/picam_ros/scripts/sub_photo.py
  $ chmod +x sub_photo.py

ソースファイルの主要部分説明

  • 画像ファイルの待ち受け(Subscriber)
    • トピック名称:example_picam_photo
    • データ型:picam_photo
    • Callback:save_photo
    • 以下(↓)は対応する部分
  def sub_photo():
      rospy.init_node('sub_photo', anonymous=True)
      rospy.Subscriber('example_picam_photo', picam_photo, save_photo)
      rospy.spin()
  • Callback (メッセージ picam_photo が届いたら呼び出される処理)
    • 引数の数:1
    • データ型:picam_photo
    • 以下(↓)は対応する部分
  def save_photo(msg):

      print("[INFO] Call : save_photo")
      ### 以降省略 ### 画像ファイル作成などの処理 ###

GitHub への登録

  • 作成したファイル全てを GitHub に登録
    • clone 済みなので、add/commit/push を実行
    • commit メッセージは、あとでどのような commit であるかわかるようにすると良い
  • 以下(↓)は具体的な手順
  $ cd ${HOME}/ros_ws/src/picam_ros
  $ git add .
  $ git commit -m 'CommitMessage'
  $ git push

アプリ起動

  • 以下(↓)は具体的な手順
$ cd ${HOME}/ros_ws
$ source /opt/ros/${ROS_DISTRO}/setup.bash
$ source devel/setup.bash
$ rosrun picam_ros sub_photo.py

記事リスト

  1. 概要編
  2. 画像参照アプリの構築編
  3. ROSパッケージ作成編
  4. ROS Subscriber編(← 今回の記事)
  5. ROS Publisher編
  6. DockerImage 作成編
  7. RDBOX(k8s) ポート転送編
  8. RDBOX(k8s) Subscriber アプリ編
  9. RDBOX(k8s) Publisher アプリ編
  10. 雑記
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0