>xabsl
Behavior Documentation
>
Index
>Agents
>Symbols
>Basic Behaviors
>Options
>> align_pass
>>>
decide
>>>
receiver
>>>
wait_until_receiver_seen
>>>
turn_to_seen_receiver
>>>
aligned
>>>
receiver_not_seen
Option align_pass
Parameters of that option:
Parameter
Type
Measure
Range
Description
align_pass.sender
boolean
true/ 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;
}