# Option kicklogger-checkborder ## State Machine ## State check
If that state is active,
> | The basic behavior stand is executed.
The decision tree:
Pseudo code of the decision tree:
if ( | kicklogger.ball-outside-area | ) | // Outside Area
{
transition-to-state(outside);
}
else
{
transition-to-state(inside);
}
## State outside
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-between-feet
| sound-request | = | sound-request.howl
The decision tree:
Pseudo code of the decision tree:
if ( |
!( | kicklogger.ball-outside-area | )
| ) | // Inside again
{
transition-to-state(outside-check);
}
else
{
transition-to-state(outside);
}
## State outside-check
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| head-control-mode | = | head-control-mode.search-for-landmarks
The decision tree:
Pseudo code of the decision tree:
if ( | kicklogger.ball-outside-area | ) | // Outside again
{
transition-to-state(outside);
}
else if ( | time-of-state-execution > 1000 | ) | // Inside long enough
{
transition-to-state(outside-check2);
}
else
{
transition-to-state(outside-check);
}
## State outside-check2
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-between-feet
| sound-request | = | sound-request.xcellent
The decision tree:
Pseudo code of the decision tree:
if ( | time-of-state-execution > 100 | ) | // Inside long enough
{
transition-to-state(inside);
}
else
{
transition-to-state(outside-check2);
}
## State inside
This state is a target state.
If that state is active,
> | The basic behavior stand is executed.
The decision tree:
Pseudo code of the decision tree:
if ( | kicklogger.ball-outside-area | ) | // Outside again
{
transition-to-state(outside);
}
else
{
transition-to-state(inside);
}