Option align_pass

Parameters of that option:
ParameterTypeMeasureRangeDescription
align_pass.senderbooleantrue/ false

State Machine

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



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

State decide

If that state is active,
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_decide.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 ( @align_pass.sender)
{
  
goto wait_until_receiver_seen;
}
else
{
  
goto receiver;
}

State receiver

This state is a target state.



If that state is active,
 >  The option prepare_receive_pass is executed.
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_receiver.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;

State wait_until_receiver_seen

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
 >  This enumerated output symbol is set:
    leds.face1  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face3  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face5  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face9  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face2  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face4  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face6  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face10  = 
leds.blink.oooo
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_wait_until_receiver_seen.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 ( state_time < 1000)
{
  
stay;
}
else
{
  
/** */
if ( passing_challenge.sound_in.amplitude() > 100000)
{
  
goto turn_to_seen_receiver;
}
else
{
  
/** */
if ( state_time > 3000)
{
  
goto receiver_not_seen;
}
else
{
  
stay;
}
}
}

State turn_to_seen_receiver

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  = 
( passing_challenge.sound_in.phase_diff() > 0 ? 80 : -80 )
 >  This enumerated output symbol is set:
    leds.face1  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.oooo : leds.blink.llll )
 >  This enumerated output symbol is set:
    leds.face3  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.oooo : leds.blink.llll )
 >  This enumerated output symbol is set:
    leds.face5  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.oooo : leds.blink.llll )
 >  This enumerated output symbol is set:
    leds.face9  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.oooo : leds.blink.llll )
 >  This enumerated output symbol is set:
    leds.face2  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.llll : leds.blink.oooo )
 >  This enumerated output symbol is set:
    leds.face4  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.llll : leds.blink.oooo )
 >  This enumerated output symbol is set:
    leds.face6  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.llll : leds.blink.oooo )
 >  This enumerated output symbol is set:
    leds.face10  = 
( passing_challenge.sound_in.phase_diff() > 0 ? leds.blink.llll : leds.blink.oooo )
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_turn_to_seen_receiver.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 ( passing_challenge.sound_in.amplitude() < 50000)
{
  
goto receiver_not_seen;
}
else
{
  
/** */
if ( abs( passing_challenge.sound_in.phase_diff() ) < 0.05)
{
  
goto aligned;
}
else
{
  
stay;
}
}

State aligned

This state is a target state.



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
 >  This enumerated output symbol is set:
    leds.face1  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face3  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face5  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face9  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face2  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face4  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face6  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face10  = 
leds.blink.oooo
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_aligned.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 ( passing_challenge.sound_in.amplitude() < 50000)
{
  
goto receiver_not_seen;
}
else
{
  
/** */
if ( abs( passing_challenge.sound_in.phase_diff() ) < 0.05)
{
  
stay;
}
else
{
  
goto turn_to_seen_receiver;
}
}

State receiver_not_seen

This state is a target state.



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
 >  This enumerated output symbol is set:
    leds.face1  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face3  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face5  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face9  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face2  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face4  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face6  = 
leds.blink.oooo
 >  This enumerated output symbol is set:
    leds.face10  = 
leds.blink.oooo
 
The decision tree:
  This browser can't display the SVG file svg/option_align_pass_state_receiver_not_seen.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 ( passing_challenge.sound_in.amplitude() > 100000)
{
  
goto turn_to_seen_receiver;
}
else
{
  
stay;
}