Option goalie-position

Positions the goalie inside it's goal.

State Machine

This browser can't display the SVG file svg/option_goalie-position.svg.



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

State ball-just-seen-not-moving

If that state is active,
 >  The basic behavior goalie-position is executed. Parameters:
 
    goalie-position.max-speed  =  120 ;
    goalie-position.min-x-trans  =  25 ;
    goalie-position.min-y-trans  =  25 ;
    goalie-position.weight-pose  =  1 ;
    goalie-position.weight-odo  =  0 ;
    goalie-position.cut-y  =  300 ;
    goalie-position.guard-direct-to-goal  =  200 ;
    goalie-position.guard-line  =  -150 ;
 
 >  These output symbols are set:
 
    leds.face2  =  face2.lolo
    leds.face3  =  face3.olol
    head-control-mode  =  head-control-mode.search-for-ball
 
The decision tree:
  This browser can't display the SVG file svg/option_goalie-position_state_ball-just-seen-not-moving.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 < 3500)   // ball was seen in the last 3500 msecs -> dont jump
{
  
if (executed-motion-request.motion-type == stand)   // Dog is not moving -> only look at ball
{
  
transition-to-state(ball-just-seen-not-moving);
}
else
{
  
transition-to-state(ball-just-seen);
}
}
else
{
  
transition-to-state(ball-not-seen);
}

State ball-just-seen

If that state is active,
 >  The basic behavior goalie-position is executed. Parameters:
 
    goalie-position.max-speed  =  120 ;
    goalie-position.min-x-trans  =  20 ;
    goalie-position.min-y-trans  =  20 ;
    goalie-position.weight-pose  =  1 ;
    goalie-position.weight-odo  =  0 ;
    goalie-position.cut-y  =  300 ;
    goalie-position.guard-direct-to-goal  =  200 ;
    goalie-position.guard-line  =  -150 ;
 
 >  These output symbols are set:
 
    leds.face1  =  face1.lolo
    leds.face2  =  face2.lolo
    leds.face3  =  face3.llll
 
The decision tree:
  This browser can't display the SVG file svg/option_goalie-position_state_ball-just-seen.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 < 3500)   // ball was seen in the last 3500 msecs -> dont jump
{
  
if (executed-motion-request.motion-type == stand)   // Dog is not moving -> only look at ball
{
  
transition-to-state(ball-just-seen-not-moving);
}
else
{
  
transition-to-state(ball-just-seen);
}
}
else
{
  
transition-to-state(ball-not-seen);
}

State ball-not-seen

If that state is active,
 >  The basic behavior go-to-point is executed. Parameters:
 
    go-to-point.x  =  (field.own-groundline.x + 200) ;
    go-to-point.y  =  0 ;
    go-to-point.destination-angle  =  0 ;
    go-to-point.distance-remain  =  100 ;
    go-to-point.angle-remain  =  10 ;
    go-to-point.max-speed  =  180 ;
 
 >  These output symbols are set:
 
    leds.face2  =  face2.oooo
    leds.face3  =  face3.lolo
    head-control-mode  =  head-control-mode.search-for-ball
 
The decision tree:
  This browser can't display the SVG file svg/option_goalie-position_state_ball-not-seen.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 < 3500)   // ball was seen in the last 3500 msecs -> dont jump
{
  
if (executed-motion-request.motion-type == stand)   // Dog is not moving -> only look at ball
{
  
transition-to-state(ball-just-seen-not-moving);
}
else
{
  
transition-to-state(ball-just-seen);
}
}
else
{
  
transition-to-state(ball-not-seen);
}