>xabsl 2
Behavior Documentation
>
Index
>Agents
>Symbols
>Basic Behaviors
>Options
>> head-control
>>>
other-head-movements
>>>
track-ball
>>>
directed-scan-for-obstacles
>>>
catch-and-release-ball
Option head-control
Selects between ball tracking and other movements
State Machine
This browser can't display the SVG file
svg/option_head-control.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
State other-head-movements
If that state is active,
>
The option
other-head-movement
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_head-control_state_other-head-movements.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
(
head-is-blocked
)
// A special action or walk type uses the head
{
transition-to-state(
other-head-movements
);
}
else if
(
(
head-control-mode
==
search-auto
)
||
(
head-control-mode
==
search-for-ball
)
||
(
head-control-mode
==
search-for-ball-left
)
||
(
head-control-mode
==
search-for-ball-right
)
)
// The head control mode is searchForBall or searchAuto
{
transition-to-state(
track-ball
);
}
else if
(
(
head-control-mode
==
catch-ball
)
||
(
head-control-mode
==
catch-ball-high
)
||
(
head-control-mode
==
release-caught-ball-when-turning-left
)
||
(
head-control-mode
==
release-caught-ball-when-turning-right
)
)
// head control mode is catch-ball or release-ball-when...
{
transition-to-state(
catch-and-release-ball
);
}
else if
(
head-control-mode
==
directed-scan-for-obstacles
)
//
{
transition-to-state(
directed-scan-for-obstacles
);
}
else if
(
(
!(
head-control-mode
==
search-auto
)
)
&&
(
!(
head-control-mode
==
search-for-ball
)
)
)
// The head control mode is not searchForBall and not searchAuto
{
transition-to-state(
other-head-movements
);
}
else
{
transition-to-state(
other-head-movements
);
}
State track-ball
If that state is active,
>
The option
track-ball
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_head-control_state_track-ball.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
(
head-is-blocked
)
// A special action or walk type uses the head
{
transition-to-state(
other-head-movements
);
}
else if
(
(
head-control-mode
==
search-auto
)
||
(
head-control-mode
==
search-for-ball
)
||
(
head-control-mode
==
search-for-ball-left
)
||
(
head-control-mode
==
search-for-ball-right
)
)
// The head control mode is searchForBall or searchAuto
{
transition-to-state(
track-ball
);
}
else if
(
(
head-control-mode
==
catch-ball
)
||
(
head-control-mode
==
catch-ball-high
)
||
(
head-control-mode
==
release-caught-ball-when-turning-left
)
||
(
head-control-mode
==
release-caught-ball-when-turning-right
)
)
// head control mode is catch-ball or release-ball-when...
{
transition-to-state(
catch-and-release-ball
);
}
else if
(
head-control-mode
==
directed-scan-for-obstacles
)
//
{
transition-to-state(
directed-scan-for-obstacles
);
}
else if
(
(
!(
head-control-mode
==
search-auto
)
)
&&
(
!(
head-control-mode
==
search-for-ball
)
)
)
// The head control mode is not searchForBall and not searchAuto
{
transition-to-state(
other-head-movements
);
}
else
{
transition-to-state(
track-ball
);
}
State directed-scan-for-obstacles
If that state is active,
>
The basic behavior
directed-scan-for-obstacles
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_head-control_state_directed-scan-for-obstacles.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
(
head-is-blocked
)
// A special action or walk type uses the head
{
transition-to-state(
other-head-movements
);
}
else if
(
(
head-control-mode
==
search-auto
)
||
(
head-control-mode
==
search-for-ball
)
||
(
head-control-mode
==
search-for-ball-left
)
||
(
head-control-mode
==
search-for-ball-right
)
)
// The head control mode is searchForBall or searchAuto
{
transition-to-state(
track-ball
);
}
else if
(
(
head-control-mode
==
catch-ball
)
||
(
head-control-mode
==
catch-ball-high
)
||
(
head-control-mode
==
release-caught-ball-when-turning-left
)
||
(
head-control-mode
==
release-caught-ball-when-turning-right
)
)
// head control mode is catch-ball or release-ball-when...
{
transition-to-state(
catch-and-release-ball
);
}
else if
(
head-control-mode
==
directed-scan-for-obstacles
)
//
{
transition-to-state(
directed-scan-for-obstacles
);
}
else if
(
(
!(
head-control-mode
==
search-auto
)
)
&&
(
!(
head-control-mode
==
search-for-ball
)
)
)
// The head control mode is not searchForBall and not searchAuto
{
transition-to-state(
other-head-movements
);
}
else
{
transition-to-state(
directed-scan-for-obstacles
);
}
State catch-and-release-ball
If that state is active,
>
The option
catch-and-release-ball
is executed.
The decision tree:
This browser can't display the SVG file
svg/option_head-control_state_catch-and-release-ball.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
(
head-is-blocked
)
// A special action or walk type uses the head
{
transition-to-state(
other-head-movements
);
}
else if
(
(
head-control-mode
==
search-auto
)
||
(
head-control-mode
==
search-for-ball
)
||
(
head-control-mode
==
search-for-ball-left
)
||
(
head-control-mode
==
search-for-ball-right
)
)
// The head control mode is searchForBall or searchAuto
{
transition-to-state(
track-ball
);
}
else if
(
(
head-control-mode
==
catch-ball
)
||
(
head-control-mode
==
catch-ball-high
)
||
(
head-control-mode
==
release-caught-ball-when-turning-left
)
||
(
head-control-mode
==
release-caught-ball-when-turning-right
)
)
// head control mode is catch-ball or release-ball-when...
{
transition-to-state(
catch-and-release-ball
);
}
else if
(
head-control-mode
==
directed-scan-for-obstacles
)
//
{
transition-to-state(
directed-scan-for-obstacles
);
}
else if
(
(
!(
head-control-mode
==
search-auto
)
)
&&
(
!(
head-control-mode
==
search-for-ball
)
)
)
// The head control mode is not searchForBall and not searchAuto
{
transition-to-state(
other-head-movements
);
}
else
{
transition-to-state(
catch-and-release-ball
);
}