Skip to content

2023-05-06

タスクリスト

PlaySituationを受け取って行う処理の実装

  • session_controllerの実装
    • 主に,コマンドを受け取ってセッションを組む部分の実装(ここも泥臭そう...)
  • session_controllerで使う上で足りないプランナのリストアップ

session_controllerでの実装箇所確認

入力

topic : /play_situation
from : play_switcher
msg type : crane_msgs/PlaySituation.msg

msg content :

uint32 stage
uint32 command
string referee_text

crane_msgs/InPlaySituation inplay_situation
  bool ball_possession_ours
  bool ball_possession_theirs
  uint8 nearest_to_ball_robot_id_ours
  uint8 nearest_to_ball_robot_id_theirs

geometry_msgs/Point placement_position

crane_msgs/WorldModel world_model

bool command_updated

役割担当の見直し

Before

  • play switcher
    • referee コマンドの解釈
    • ボール保持判定など
    • world_modelの転送

After

  • play switcher
    • referee コマンドの解釈
  • game analyzer
    • ボール保持判定など

world_modelの受取は必要なものが各自行う

ボール保持判定のgame analyzerへの移行

msgの更新

  • crane_msgs/PlaySituation.msgからボール保持判定の削除
  • game analyzerから出力するためのボール保持判定のメッセージ検討
  • crane_msgs/PlaySituation.msgからupdateフラグを削除
  • crane_msgs/PlaySituation.msgからworld{_modelを削除

すこしGameAnalyzer周りの整備

  • game_analyzerの出力メッセージの定義に組み込む
  • game analyzerのノードドキュメントを追加

session_controllerの実装

イベント駆動

  • topicの購読
    • /game_analysis
    • /play_situation

メンバ変数の命名規則の更新

メンバ変数の末尾にアンダースコアを付けるのはやめにした

次回のタスク

  • session_controllerの実装
    • timer駆動ではなく,イベント駆動にする
    • 各イベントについての設定を外部ファイルから読み込めるようにする
    • 代表的なイベントについてプリセットを用意