Option estimate_time_to_reach_ball

Estimate the time to reach the ball, used for role assignment

Parameters of that option:
ParameterTypeMeasureRangeDescription
estimate_time_to_reach_ball.player_is_strikerbooleantrue/ falseWhether the player currently is the striker

State Machine

This browser can't display the SVG file svg/option_estimate_time_to_reach_ball.svg.



The Adobe SVG Viewer 3.0 can be downloaded from http://www.adobe.com/svg/viewer/install/main.html

State not_at_the_ball

If that state is active,
 >  The option estimate_blocking is executed.
 >  This decimal output symbol is set:
    strategy.estimated_time_to_reach_ball  = 
((((ball.distance() / 0.2) + (abs( ball.opponent_goal.angle() ) / 0.1)) + (ball.time_since_last_seen() * 2)) + strategy.blocking_penalty)
 >  This decimal output symbol is set:
    strategy.estimated_time_to_reach_ball  = 
max( strategy.estimated_time_to_reach_ball , 0 )
 
The decision tree:
  This browser can't display the SVG file svg/option_estimate_time_to_reach_ball_state_not_at_the_ball.svg.



The Adobe SVG Viewer 3.0 can be downloaded from http://www.adobe.com/svg/viewer/install/main.html
 
Pseudo code of the decision tree:
 
/** */
if (
!(@estimate_time_to_reach_ball.player_is_striker)
)
{
  
goto supporter;
}
else
{
  
/** */
if ( strategy.ball_is_grabbed)
{
  
goto at_the_ball;
}
else
{
  
stay;
}
}

State at_the_ball

If that state is active,
 >  The option estimate_blocking is executed.
 >  This decimal output symbol is set:
    strategy.estimated_time_to_reach_ball  = 
0
 
The decision tree:
  This browser can't display the SVG file svg/option_estimate_time_to_reach_ball_state_at_the_ball.svg.



The Adobe SVG Viewer 3.0 can be downloaded from http://www.adobe.com/svg/viewer/install/main.html
 
Pseudo code of the decision tree:
 
/** */
if (
!(@estimate_time_to_reach_ball.player_is_striker)
)
{
  
goto supporter;
}
else
{
  
/** */
if ( strategy.ball_is_grabbed)
{
  
goto at_the_ball;
}
else
{
  
goto not_at_the_ball;
}
}

State supporter

If that state is active,
 >  The option estimate_blocking is executed.
 >  This decimal output symbol is set:
    strategy.estimated_time_to_reach_ball  = 
( ball.was_seen() ? (((ball.distance() / 0.2) + (abs( ball.opponent_goal.angle() ) / 0.1)) + strategy.blocking_penalty) : 1000000 )
 >  This decimal output symbol is set:
    strategy.estimated_time_to_reach_ball  = 
max( strategy.estimated_time_to_reach_ball , 0 )
 
The decision tree:
  This browser can't display the SVG file svg/option_estimate_time_to_reach_ball_state_supporter.svg.



The Adobe SVG Viewer 3.0 can be downloaded from http://www.adobe.com/svg/viewer/install/main.html
 
Pseudo code of the decision tree:
 
/** */
if (
!(@estimate_time_to_reach_ball.player_is_striker)
)
{
  
goto supporter;
}
else
{
  
/** */
if ( strategy.ball_is_grabbed)
{
  
goto at_the_ball;
}
else
{
  
goto not_at_the_ball;
}
}