Skip to content
This repository has been archived by the owner on Jan 14, 2024. It is now read-only.

ABPに対応する #90

Open
milkcocoa0902 opened this issue Oct 16, 2018 · 0 comments
Open

ABPに対応する #90

milkcocoa0902 opened this issue Oct 16, 2018 · 0 comments
Projects

Comments

@milkcocoa0902
Copy link
Owner

ABP(=Autonomous Ball Placement )に対応したい
ABPとは,セットプレイに移行する際にロボットによって指定座標にボールを配置するような行為を指す.
配置座標が与えられるため, その座標にボールを持っていけるようなActionを作成してほしい

仕様

class AutonomousBallPlacement : public base {
public:
  // (1)
  AutonomousBallPlacement(const model::world& _world, bool _isYellow, uint32_t _id, Eigen::Vector2d _target);

  // (2)
  enum class runningState { 
        Move, // ボール前まで移動
        Hold,  // ボールを持つ
        Place, // ボールを指定位置まで運ぶ
        Wait,  // ボールの回転を止めるためドリブルバーを止めて停止
        Leave,  // ボールから離れる
        Finished // 動作終了(停止)
  };

  // (3)
  enum class placeMode { 
        Pull, 
        Push
  };

  // (4)
  model::command execute() override;

private:
  // (5)
  runningState state_;
  placeMode mode_;
  bool waitFlag_;
  bool roundFlag_;
  util::TimePointType begin_;
  util::TimePointType now_;
  Eigen::Vector2d target_;
  Eigen::Vector2d abpTarget_;
  double firstBallx_;
  double firstBally_;
};

(1) コンストラクタ

_target には,ボールを配置する座標を指定してください

(2) enum runningState

処理の進行具合を表すステートマシンです.

(3) enum placeMode

配置する際にpull(引っ張る)かpush(押していく)かを指定するための列挙体です.

(4) execute()関数

実際の処理を記述してください

(5) メンバ

runningState state_; 現在の進行具合です
placeMode mode_; どうやって目的地まで持っていくか
bool waitFlag_; 待つ?
bool roundFlag_; 回り込む?
util::TimePointType begin_; 開始時刻
util::TimePointType now_; 現在時刻
Eigen::Vector2d target_; 移動目標位置
Eigen::Vector2d abpTarget_; 最終的な目的地
double firstBallx_; ボールが最初にあったx座標
double firstBally_; ボールが最初にあったy座標

実装するファイル

src
└── ai
    └── game
        └── action
            ├── abp.cpp
            └── abp.hpp

備考

  • クラスは ai::game::action 名前空間に登録してください

関連ファイル

  • 参考
    • ai/game/action/move.(hpp | cpp)
    • ai/game/action/getBall.(hpp | cpp)
  • 各モデル
    • ai/model/ball.(hpp | cpp)
    • ai/model/robot.(hpp | cpp)
    • ai/model/world.(hpp | cpp)
  • command
    • ai/model/command.(hpp | cpp)
  • チームカラー
    • ai/model/teamColor.hpp
@milkcocoa0902 milkcocoa0902 added this to To do in Game via automation Oct 16, 2018
@TasukuToiyama TasukuToiyama moved this from To do to In progress in Game Jan 20, 2019
@Rinneko-san Rinneko-san self-assigned this Jan 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Game
  
In progress
Development

No branches or pull requests

2 participants