action_sample

ROSのアクション通信のPython版サンプルです。 クラス構造で記述しています。

アクション通信

  • 非同期+同期(非同期通信の確実なデータのやりとりが保証されていないこと、同期通信の並列処理ができないという2つのデメリットを打ち消したもの)
  • 1対1
  • アクションクライアント⇔アクションスクライバ(複数OK)
    例えるなら、留守番を頼んで出かけた親(アクションクライアント)と留守番をしている子ども(アクションサーバ)
    -- 親が子どもに留守番中のお手伝いを頼む(アクションクライアント→アクションサーバ):一緒にリアルタイムにいる、その間アクションクライアント側は返答待ち(一時停止)→同期
    -- 子どもが留守番中にお手伝い+親が外で買い物をする(アクションクライアントの処理+アクションサーバの処理):それぞれ別々のことをしている→非同期
    -- 親が帰宅して子どもにできたか確認する(アクションクライアント→アクションサーバ):一緒にリアルタイムにいる、その間アクションクライアント側は返答待ち(一時停止)→同期