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駆動ではなく,イベント駆動にする
- 各イベントについての設定を外部ファイルから読み込めるようにする
- 代表的なイベントについてプリセットを用意