Option localize

Wait until robot has seen landmark in order to localize

State Machine

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



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

State finished

This state is a target state.



If that state is active,
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_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:
 
/** */
if ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
/** */
if (
!(robot_pose.is_valid() )
)
{
  
goto wait_for_valid_pose;
}
else
{
  
/** */
if ( selfloc.time_since_last_seen_two_landmarks() > 8000)
{
  
goto wait_for_landmark;
}
else
{
  
stay;
}
}
}

State wait_for_landmark

If that state is active,
 >  The option turn_for_landmarks is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_state_wait_for_landmark.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 ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
/** */
if (
!(robot_pose.is_valid() )
)
{
  
goto wait_for_valid_pose;
}
else
{
  
/** */
if ( selfloc.time_since_last_seen_two_landmarks() < 1000)
{
  
goto localize;
}
else
{
  
stay;
}
}
}

State wait_for_valid_pose

If that state is active,
 >  The option turn_for_landmarks is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_state_wait_for_valid_pose.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 ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
/** */
if ( robot_pose.is_valid() )
{
  
goto finished;
}
else
{
  
stay;
}
}

State localize

If that state is active,
 >  This enumerated output symbol is set:
    head.control_mode  = 
head.control_mode.search_for_landmarks
 >  This enumerated output symbol is set:
    motion.type  = 
motion.type.stand
 >  This decimal output symbol is set:
    strategy.destination.x  = 
robot_pose.x()
 >  This decimal output symbol is set:
    strategy.destination.y  = 
robot_pose.y()
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_state_localize.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 ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
/** */
if ( state_time > 2000)
{
  
goto finished;
}
else
{
  
stay;
}
}

State grabbed

If that state is active,
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_state_grabbed.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 ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
goto after_grab;
}

State after_grab

If that state is active,
 
The decision tree:
  This browser can't display the SVG file svg/option_localize_state_after_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 ( strategy.ball_is_grabbed)
{
  
goto grabbed;
}
else
{
  
/** */
if ( state_time < 1000)
{
  
stay;
}
else
{
  
goto finished;
}
}