LoginSignup
1
3

More than 3 years have passed since last update.

ROSの勉強 第5弾:アクションと定義

Last updated at Posted at 2021-02-03

#プログラミング ROS< アクションと定義 >

はじめに

1つの参考書に沿って,ROS(Robot Operating System)を難なく扱えるようになることが目的である.改めて初めから学び,復習も兼ねながら学習を進めていくこととする.その第5弾として,アクションと定義を扱う.

環境

仮想環境
ソフト VMware Workstation 15
実装RAM 2 GB
OS Ubuntu 64 ビット
isoファイル ubuntu-mate-20.04.1-desktop-amd64.iso
コンピュータ
デバイス MSI
プロセッサ Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50GHz
実装RAM 8.00 GB (7.89 GB 使用可能)
OS Windows (Windows 10 Home, バージョン:1909)
ROS
Distribution noetic
プログラミング言語 Python 3.8.5

アクションとは?

サービスでは苦手な時間のかかるゴール指向のタスクを実装するのに最も適した方法.サービスが同期的であるのに対してアクションは非同期的である.アクションの中身は複数のトピックで構成されている.そのトピックには,ゴール,リザルト,フィードバックなどがある.以下にそれらのトピックのイメージを示す.
image.png
フィードバックの役割
・ゴールに対する進歩状況の更新に使われる
・ゴールを取り消す仕組みも用意

アクションの定義

アクション定義ファイル(.action):
  ゴール,リザルト,フィードバックのメッセージフォーマットをもつ.

ここでは,自作タイマー用のアクション定義ファイルを例とする.以下に示すのは,その定義ファイルである.
キャプチャ1.PNG

メッセージやサービス同様,package.xmlファイルとCMakeList.txtファイルの一部をアクション定義のために変更し,catkin_make~/catkin_wsにおいて,実行することで,アクション定義を完了させる.完了後,rosmsgs list | grep Timerとして,定義されていることを確認する.そのときの様子を次に示す.
キャプチャ.PNG
パッケージ名の後ろにいろいろな名前でアクションが作成されていることが分かる.これで,アクションの定義は完了である.

感想

改めてしっかりとアクションについて学び,トピックの組み合わせと捉えられたことで,アクションの扱いづらそうなイメージを払拭できたと思う.次回は今回定義したアクションを利用することで,アクションの扱いへの理解をより深められることを期待する.

参考文献

プログラミングROS Pythonによるロボットアプリケーション開発
        Morgan Quigley, Brian Gerkey, William D.Smart 著
                       河田 卓志 監訳
            松田 晃一,福地 正樹,由谷 哲夫 訳
                  オイラリー・ジャパン 発行

1
3
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
3