-[rcssserver] キックノイズモデル再変更 (akiyama) 01:51:02

再び変更というか,別アルゴリズムをテスト.
 double power_rand = M_kick_rand * eff_power * power / ServerParam::instance().maxPower();
 double speed_rand = M_kick_rand * M_stadium.ball().vel().r();
 double max_rand = power_rand + speed_rand;
 PVector kick_noise = PVector::fromPolar( drand( 0.0, max_rand ),
                                                        drand( -M_PI, M_PI ) );
 
 accel += kick_noise;

昨日のアルゴリズムだとボールスピードによるノイズの計算に無理があったが,これならkick_randを素直にスピードの大きさへ反映できる.
実装もシンプルで分かりやすいし,生成されるノイズもまあまあ妥当.

-[rcssserver] MPObject::noise() 変更 (akiyama) 02:00:51

変更すべきかどうか迷ったが,どう考えても元のノイズ生成アルゴリズムは不自然なので変更してみた.

旧:
  double maxrnd = M_randp * vel().r();
  return PVector( drand( -maxrnd, maxrnd ), 
                       drand( -maxrnd, maxrnd ) );
新:
  double maxrnd = M_randp * vel().r();
  return PVector::fromPolar( drand( 0.0, maxrnd ),
                                      drand( -M_PI, M_PI ) );


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.