Option handle_fall_down

This option lets the robot stand up when it has fallen down.

State Machine

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



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

State standing

If that state is active,
 
The decision tree:
  This browser can't display the SVG file svg/option_handle_fall_down_state_standing.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 (
(fall_down.state() == fall_down.state.crashed)
&& 
(game.penalty() == game.penalty.none)
)
{
  
goto crashed;
}
else
{
  
stay;
}

State crashed

If that state is active,
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.getup
 
The decision tree:
  This browser can't display the SVG file svg/option_handle_fall_down_state_crashed.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 (
(fall_down.state() == fall_down.state.crashed)
&& 
(game.penalty() == game.penalty.none)
)
{
  
goto crashed;
}
else
{
  
/** */
if ( executed_motion.type() == motion.type.getup)
{
  
goto getup;
}
else
{
  
stay;
}
}

State getup

If that state is active,
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 
The decision tree:
  This browser can't display the SVG file svg/option_handle_fall_down_state_getup.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 (
(fall_down.state() == fall_down.state.crashed)
&& 
(game.penalty() == game.penalty.none)
)
{
  
goto crashed;
}
else
{
  
/** */
if ( executed_motion.type() == motion.type.getup)
{
  
stay;
}
else
{
  
goto standing;
}
}