2023-05-03¶
インプレイ判定のチェック(ルール5.4)¶
- 以下のコマンド送信後にボールが少なくとも0.05m動く
- キックオフ
- フリーキック
- ペナルティーキック
- キックオフから10秒経過
- FORCE_STARTコマンド送信後
開発環境整備¶
- pre-commit導入
- include文の呼び分け
- boostの警告文抑制
GUIへの現状の表示¶
play_switcher.launch
へのGUI追加
動作がおかしい?¶
ログ
[crane_play_switcher]: last 4, THEIR_KICKOFF_PREPARATION : 2.025060
[crane_play_switcher]: last 4, THEIR_KICKOFF_PREPARATION : 2.049855
[crane_play_switcher]: コマンド変化!
[crane_play_switcher]: THEIR_KICKOFF_START
[crane_play_switcher]: inplay cmd : 22
[crane_play_switcher]: CMD : 2
[crane_play_switcher]: last 2, THEIR_KICKOFF_START : 0.000022
[crane_play_switcher]: コマンド変化!
[crane_play_switcher]:
[crane_play_switcher]: inplay cmd : 0
[crane_play_switcher]: CMD : 2
[crane_play_switcher]: last 2, : 0.000019
[crane_play_switcher]: last 2, : 0.024619
COMMAND_PREPARE_KICKOFF_YELLOW
が来て2秒後に NORMAL_START
が来ている
その後,
参考情報
- COMMAND_NORMAL_START = 2
- COMMAND_PREPARE_KICKOFF_YELLOW = 4
- inplay/halt = 0
- inplay/their_kickoff_start = 22
RAWコマンドの移り変わりとその解釈
- 2:NORMAL_START,前回のコマンドが残っている?
- 0:HALT,試合開始
- 1:STOP,RESUMEを押した
- 4:PREPARE_KICKOFF_YELLOW,KICKOFFした
- 2:NORMAL_START, 2秒経って勝手に始まる
- 2:NORMAL_START, 10秒たってINPLAYに入った
結局直った気がする¶
⇒色々あって結局デバッグしやすいLOGを整えたら直った気がする こんな感じ
[crane_play_switcher]: ---
[crane_play_switcher]: RAW_CMD : COMMAND_STOP
[crane_play_switcher]: INPLAY_CMD : STOP
[crane_play_switcher]: REASON : RAWコマンド変化:コマンド転送
[crane_play_switcher]: PREV_CMD_TIME: 12.505770
[crane_play_switcher]: ---
[crane_play_switcher]: RAW_CMD : COMMAND_PREPARE_KICKOFF_YELLOW
[crane_play_switcher]: INPLAY_CMD : THEIR_KICKOFF_PREPARATION
[crane_play_switcher]: REASON : RAWコマンド変化:コマンド転送
[crane_play_switcher]: PREV_CMD_TIME: 15.174960
[crane_play_switcher]: ---
[crane_play_switcher]: RAW_CMD : COMMAND_NORMAL_START
[crane_play_switcher]: INPLAY_CMD :
[crane_play_switcher]: REASON : RAWコマンド変化&NORMAL_START:KICKOFF/PENALTYはPREPARATIONからSTARTに移行
[crane_play_switcher]: PREV_CMD_TIME: 19.425025
[crane_play_switcher]: ---
[crane_play_switcher]: RAW_CMD : COMMAND_NORMAL_START
[crane_play_switcher]: INPLAY_CMD : INPLAY
[crane_play_switcher]: REASON : INPLAY判定:キックオフから10秒経過
[crane_play_switcher]: PREV_CMD_TIME: 10.024822
コマンド更新通知¶
PlaySituation.msg
にcommand_updated
を追加した.
INPLAYのコマンド更新時にcommand_updated
をtrue
にする処理を実装した
次回¶
PlaySituationを受け取って行う処理の実装
session_controller
の実装- 主に,コマンドを受け取ってセッションを組む部分の実装(ここも泥臭そう...)
session_controller
で使う上で足りないプランナのリストアップ