Skip to content

2023-07-01

タスク

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

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

構造変更?

  • ロボット割り当てやその時のスコア計算はsession_controllerでやる
    • 関数定義はそれぞれの
  • スコアは毎フレーム計算して適宜再割当てする
    • 再割当て後のコストが高いSessionについてはHysteresisコストを設ける

構造変更|実践編

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

構造変更|プラグイン化

  • SessionModuleの処理をPlannerBaseに移植
  • 各プランナのプラグイン登録
  • plugins.xml更新
  • 各プランナクラスの書き換え
    • プラグインにする場合,コンストラクタの引数はなしにする必要がある

構造変更|受け入れ体制整備

骨組み

update
  judgeSessionResult
  updateRoleScore
  judgeReassignSession
  • 有効なセッションとそうじゃないセッションをどうやって管理する?

次のタスク

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

RobotReceiver

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