• [rcssserver] v13試案 (akiyama) 19:17:19

とりあえず,これを叩き台にしてみようか.

==全方位移動dash==

server::side_dash_power_rate = 0.25?
server::max_side_dash_angle = 90.0
server::back_dash_power_rate = 1.0
server::back_dash_stamina_rate = -2.0
dash( power, dir )
  power_need = power < 0
               ? NormalizeDashPower( power ) * back_dash_stamin_rate
               : NormalizeDashPower( power ) );
  残りスタミナ値に応じてpowerを修正
  stamina -= power
 
  dprate = power < 0
           ? dash_power_rate * back_dash_power_rate
           : dash_power_rate
  dir = bound( -max_side_dash_angle, dir, +max_side_dash_angle )
  dir_rate = fabs( dir ) / max_side_dash_angle  * side_dash_power_rate

  effective_dash_power = effort * power * dprate * ( 1.0 - dir_rate );
  accel = polar2vector( effective_dash_power, body + dir )

==スタミナモデル==

tirednessパラメータを導入する. ただし,v13ではまだ実際には機能させない. これkら1年かけてパラメータ調整.

 server::stamina_max = 150000 ~ 200000
 server::stamina_inc_max = 0 ~ 5
 server::effort_dec_thr = 0
 server::recover_dec_thr = 0

 server::tiredness_max = 100000.0?
 server::tiredness_rate = 1.0
 server::tiredness_dec_factor = ???
 server::tired_effort_dec_thr = 50000.0?
 server::tired_effort_inc_thr = 10000.0?
 dash( power, dir )
   // tirednessの上昇は線形
   tiredness += fabs( power ) * tiredness_rate
   if ( tiredness > tiredness_max ) tiredness = tiredness_max
     nodash_count=0
   first_tiredness = tiredness
 update_stamina()
   if tiredness >= tired_effort_dec_thr
     effort -= effort_dec
   else if tiredness <= tired_effort_inc_thr
     effort += effort_inc

   if nodash_count != 0
     // tirednessの下降は指数関数
     tiredness = first_tiredness * exp(-tiredness_dec_factor * nodash_count)
   ++nodash_count

できれば、v13で以下のスタミナ関連パラメータを変更したいが,頻繁に変更するのも混乱を起こすので止めておいた方が無難か.

 server::stamina_max = 8000
 server::stamina_inc_max = 35
 server::recover_dec_thr = 0.1

==ヘテロ==

server::tiredness_rate = 0.9~1.1 くらい?

できれば,stamina_inc_maxのばらつきをよりおおきくしたい.

player::new_stamina_inc_max_delta_factor = -8000

goalieのヘテロ化は要望が多ければ.

==tackle==

真後ろへのタックルを完全に禁止

server::max_back_tackle_power = 0.0

==v13プロトコル==

kickを観測可能に

(<PLAYER> DIST DIR ... TACKLE|KICK)

tirednessをsense_bodyに含める

(sense_body ... (stamina <STAMINA> <EFFORT> <TIREDNESS>)

==その他==

rcssbaseをrcssserverへ統合し,メンテナンスコストを小さく,配布しやすくする. 移植性を高めることも目的(できればWindowsバイナリを公式配布).

rclフォーマットを変更 。サイクル停止時間も含めるようにする.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:38 (1863d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.