Option dribble_turn

turn with the grabbed ball in the given direction

Parameters of that option:
ParameterTypeMeasureRangeDescription
dribble_turn.angledecimaldeg-180..180The angle where to dribble the ball to relative to the robot
dribble_turn.angle_widthdecimaldeg-180..180The width of the angle where to dribble the ball to
dribble_turn.left_rightdecimal* Turn direction * > 0 left * < 0 right

State Machine

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



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

State decide_turn

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.grab_ball
 >  This boolean output symbol is set:
    strategy.ball_is_grabbed  = 
true
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.walk
 >  This enumerated output symbol is set:
    motion.walk_type  = 
motion.walk_type.walk_with_ball
 >  This decimal output symbol is set:
    motion.walk_speed.x  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.y  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.rot  = 
0
 
The decision tree:
  This browser can't display the SVG file svg/option_dribble_turn_state_decide_turn.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:
 
/** do not turn for small angles */
if ( abs( @dribble_turn.angle ) < @dribble_turn.angle_width)
{
  
goto finished;
}
else
{
  
/** */
if (
(@dribble_turn.left_right > 0)
|| 
(
(@dribble_turn.left_right == 0)
&& 
(@dribble_turn.angle > 0)
)
)
{
  
goto turn_left;
}
else
{
  
goto turn_right;
}
}

State turn_right

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.grab_ball
 >  This boolean output symbol is set:
    strategy.ball_is_grabbed  = 
true
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.walk
 >  This enumerated output symbol is set:
    motion.walk_type  = 
motion.walk_type.walk_with_ball
 >  This decimal output symbol is set:
    motion.walk_speed.x  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.y  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.rot  = 
( state_time < 200 ? -60 : (
(@dribble_turn.angle > -60)
&& 
(@dribble_turn.angle < 0)
? -120 : -200 ) )
 
The decision tree:
  This browser can't display the SVG file svg/option_dribble_turn_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 (
(@dribble_turn.angle >= 0)
&& 
(@dribble_turn.angle < 160)
)
{
  
goto finished;
}
else
{
  
stay;
}

State turn_left

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.grab_ball
 >  This boolean output symbol is set:
    strategy.ball_is_grabbed  = 
true
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.walk
 >  This enumerated output symbol is set:
    motion.walk_type  = 
motion.walk_type.walk_with_ball
 >  This decimal output symbol is set:
    motion.walk_speed.x  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.y  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.rot  = 
( state_time < 200 ? 60 : (
(@dribble_turn.angle < 60)
&& 
(@dribble_turn.angle > 0)
? 120 : 200 ) )
 
The decision tree:
  This browser can't display the SVG file svg/option_dribble_turn_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 (
(@dribble_turn.angle < 0)
&& 
(@dribble_turn.angle > -160)
)
{
  
goto finished;
}
else
{
  
stay;
}

State finished

This state is a target state.



If that state is active,
 >  This boolean output symbol is set:
    strategy.ball_is_grabbed  = 
true
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.grab_ball
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 >  This enumerated output symbol is set:
    motion.walk_type  = 
motion.walk_type.walk_with_ball
 >  This decimal output symbol is set:
    motion.walk_speed.x  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.y  = 
0
 >  This decimal output symbol is set:
    motion.walk_speed.rot  = 
0
 
The decision tree:
  This browser can't display the SVG file svg/option_dribble_turn_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:
 
stay;