Option vlc2-border

Parameters of that option:
ParameterMeasureRangeDescription
vlc2-border.destination-anglefor the ball to shoot
vlc2-border.left-right-border

State Machine

This browser can't display the SVG file svg/option_vlc2-border.svg.



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

State at-border

If that state is active,
 >  The basic behavior do-nothing is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_at-border.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 (abs( robot-pose.y ) > abs( ball.known-or-near.y ))   //
{
  
if (robot-pose.x > ball.known-or-near.x)   //
{
  
transition-to-state(A);
}
else
{
  
transition-to-state(B);
}
}
else
{
  
if (robot-pose.x > ball.known-or-near.x)   //
{
  
transition-to-state(D);
}
else
{
  
transition-to-state(C);
}
}

State C

If that state is active,
 >  The basic behavior turn-around-point is executed. Parameters:
 
    turn-around-point.x  =  ball.known-or-near.x ;
    turn-around-point.y  =  ball.known-or-near.y ;
    turn-around-point.radius  =  450 ;
    turn-around-point.left-right  =  ::vlc2-border.left-right-border ;
    turn-around-point.forward-component  =  1 ;
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_C.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 (abs( robot-pose.y ) > (abs( ball.known-or-near.y ) + 100))   //
{
  
transition-to-state(B);
}
else
{
  
transition-to-state(C);
}

State D

If that state is active,
 >  The basic behavior turn-around-point is executed. Parameters:
 
    turn-around-point.x  =  ball.known-or-near.x ;
    turn-around-point.y  =  ball.known-or-near.y ;
    turn-around-point.radius  =  450 ;
    turn-around-point.left-right  =  (-1 * ::vlc2-border.left-right-border) ;
    turn-around-point.forward-component  =  1 ;
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_D.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 (abs( robot-pose.y ) > (abs( ball.known-or-near.y ) + 100))   //
{
  
transition-to-state(A);
}
else
{
  
transition-to-state(D);
}

State A

If that state is active,
 >  The option grab-ball-with-head is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_A.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 (subsequent-option-reached-target-state)   //
{
  
transition-to-state(turn-left);
}
else
{
  
transition-to-state(A);
}

State B

If that state is active,
 >  The basic behavior do-nothing is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_B.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:
 
transition-to-state(finished);

State finished

This state is a target state.



If that state is active,
 >  The option dribble-ball-vlc2 is executed. Parameters:
 
    dribble-ball-vlc2.destination-angle  =  angle.best-angle-to-opponent-goal ;
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_finished.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:
 
transition-to-state(finished);

State turn-left

If that state is active,
 >  The basic behavior walk is executed. Parameters:
 
    walk.type  =  walk-type.walk-with-ball ;
    walk.speed-x  =  0 ;
    walk.speed-y  =  0 ;
    walk.rotation-speed  =  (120 * ::vlc2-border.left-right-border) ;
 
 >  These output symbols are set:
 
    head-control-mode  =  head-control-mode.hold-ball
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_turn-left.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 (abs( angle.best-angle-to-opponent-goal ) < 20)   //
{
  
transition-to-state(finished);
}
else
{
  
transition-to-state(turn-left);
}

State turn-right

If that state is active,
 >  The basic behavior walk is executed. Parameters:
 
    walk.type  =  walk-type.walk-with-ball ;
    walk.speed-x  =  0 ;
    walk.speed-y  =  0 ;
    walk.rotation-speed  =  (-120 * ::vlc2-border.left-right-border) ;
 
 >  These output symbols are set:
 
    head-control-mode  =  head-control-mode.hold-ball
 
The decision tree:
  This browser can't display the SVG file svg/option_vlc2-border_state_turn-right.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 (abs( angle.best-angle-to-opponent-goal ) < 20)   //
{
  
transition-to-state(finished);
}
else
{
  
transition-to-state(turn-right);
}