Skip to content

2023-06-21

タスク

  • プランナの実行失敗からの再割当てまでのフローを固める
  • フォーメーションの実装

プランナの実行失敗からの再割当てまでのフローを固める

ブレスト的なの

  • 実行失敗?
    • world_modelなどを入力にして判定関数を定義する
    • 役割の責任失敗とは違う
      • ゴールキーパーがゴールされたからといってここでいう失敗に当たらない
    • 再割当てしたほうが良い状況になったとき
      • 毎フレーム他のロボットのスコアも確認する必要あり
        • game_analyzerとかでやったほうが良くない?
  • 失敗したときに考えられる次の行動
    • 同じプランナに別のロボットを再割当てして該当プランナだけやり直し
    • 全ロボット再割当て(場合によってはセッション切り替え)
  • 実行失敗の実際
    • Receiverが

構造変更?

  • ロボット割り当てやその時のスコア計算はgame_analyzerでやるべき
    • robot_assignerの名前の方がいい?
    • session_controllerでやればええやん
  • スコアは毎フレーム計算して適宜再割当てする
    • 再割当て後のコストが高いSessionについてはHysteresisコストを設ける

構造変更|実践編

  • SessionModuleないを改造していく
    • 計算はModule内でやって計算結果だけを渡す感じ
    • スコア計算関数は計算するだけの処理にする
    • 割当関数は実際に通信して割り当てる
    • いくつかの関数は実装をpluginから持ってきたい
      • スコア計算関数

次のタスク

  • Plannerが青チーム前提になっているのを修正
    • Receiver
    • Waiter
  • session_controllerでロボット割当するときの初期ロボット列をworld_modelから入れる
  • ペナルティキックの実装

RobotReceiver

蹴ったかどうかの判定が非常に難しいので,ロボットからのフィードバックがほしい. オカダがUDPに既に投げてくれているので,あとはそれを拾ってROS 2に持ってくるだけではある