Option roll_demo

State Machine

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



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

State stand

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.look_straight_ahead
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 
The decision tree:
  This browser can't display the SVG file svg/option_roll_demo_state_stand.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 (
(switch.hind_back_button_pressed() )
&& 
(state_time > 1000)
)
{
  
goto stand;
}
else
{
  
/** */
if (
(switch.fore_back_button_pressed() )
&& 
(state_time > 1000)
)
{
  
goto grab;
}
else
{
  
stay;
}
}

State grab

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.search_for_ball
 >  The option grab_ball is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_roll_demo_state_grab.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 (
(switch.hind_back_button_pressed() )
&& 
(state_time > 1000)
)
{
  
goto stand;
}
else
{
  
/** grab finished */
if ( action_done)
{
  
goto roll;
}
else
{
  
/** grab unsuccessful */
if ( state_time > 5000)
{
  
goto stand;
}
else
{
  
stay;
}
}
}

State roll

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.look_straight_ahead
 >  This enumerated output symbol is set:
    leds.back_front_white  = 
leds.blink.llll
 
The decision tree:
  This browser can't display the SVG file svg/option_roll_demo_state_roll.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 (
(switch.hind_back_button_pressed() )
&& 
(state_time > 1000)
)
{
  
goto stand;
}
else
{
  
/** */
if ( action_done)
{
  
goto stand;
}
else
{
  
stay;
}
}