Option penalty_goalie

The penalty goalie

State Machine

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



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

State position

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.goalie_head_control
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 >  The option goalie_position is executed.
 >  The option goalie_block is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_penalty_goalie_state_position.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:
 
/** Ball far in penalty area, enemy can't reach it anymore without being disqualified */
if (
(ball.was_seen() )
&& 
(ball.position.field.x() < (field.own_penalty_area.x() - 250))
&& 
(abs( ball.position.field.y() ) < (field.left_penalty_area.y() - 250))
&& 
(vector.abs( ball.speed.robot.x() , ball.speed.robot.y() ) < 150)
)
{
  
goto wait_for_end;
}
else
{
  
stay;
}

State clear_ball

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.search_for_ball
 >  This enumerated output symbol is set:
    leds.back_front_white  = 
leds.blink.llll
 >  The option goalie_clear_ball is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_penalty_goalie_state_clear_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:
 
/** ball is handled */
if ( strategy.ball_is_grabbed)
{
  
stay;
}
else
{
  
/** */
if ( state_time > 1500)
{
  
goto position;
}
else
{
  
stay;
}
}

State wait_for_end

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.goalie_head_control
 >  This enumerated output symbol is set:
    leds.back_front_white  = 
leds.blink.llll
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 
The decision tree:
  This browser can't display the SVG file svg/option_penalty_goalie_state_wait_for_end.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 ( ball.time_since_last_seen() > 4000)
{
  
goto position;
}
else
{
  
/** */
if (
!(ball.was_seen() )
)
{
  
stay;
}
else
{
  
/** */
if (
(ball.position.field.x() < (field.own_penalty_area.x() + 30))
&& 
(abs( ball.position.field.y() ) < (field.left_penalty_area.y() - 30))
)
{
  
stay;
}
else
{
  
goto position;
}
}
}