# Option walk-calibration Walk Calibration Parameters of that option:
Parameter | Measure | Range | Description
walk-calibration.rotation | deg/s | -300..300 | the requested rotation component for the calibartion run
## State Machine ## State initial
If that state is active,
> | The basic behavior walk-calibration is executed. Parameters:
| walk-calibration.initialize | = | 1 ;
| walk-calibration.rotation | = | ::walk-calibration.rotation ;
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-straight-ahead
The decision tree:
Pseudo code of the decision tree:
if ( | walk-calibration.result != walk-calibration.result.ready | ) | // initialization needed ??
{
transition-to-state(initial);
}
else
{
transition-to-state(measure);
}
## State measure
If that state is active,
> | The basic behavior walk-calibration is executed.
> | These output symbols are set:
| sound-request | = | sound-request.none
| head-control-mode | = | head-control-mode.look-straight-ahead
The decision tree:
Pseudo code of the decision tree:
if ( | walk-calibration.result == walk-calibration.result.unready | ) | // calibration is done
{
transition-to-state(done);
}
else if ( | walk-calibration.result == walk-calibration.result.reposition | ) | // auto reposition is required
{
transition-to-state(reposition);
}
else if ( | walk-calibration.result == walk-calibration.result.interaction | ) | // manual reposition is required
{
transition-to-state(interaction);
}
else
{
transition-to-state(measure);
}
## State reposition
If that state is active,
> | The option walk-omnidirectional is executed. Parameters:
| walk-omnidirectional.x | = | walk-calibration.start.x ;
| walk-omnidirectional.y | = | walk-calibration.start.y ;
| walk-omnidirectional.angle | = | walk-calibration.start.angle ;
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-straight-ahead
| sound-request | = | sound-request.bark1
The decision tree:
Pseudo code of the decision tree:
if ( | subsequent-option-reached-target-state | ) | //
{
transition-to-state(measure);
}
else
{
transition-to-state(reposition);
}
## State interaction
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| sound-request | = | sound-request.howl
| head-control-mode | = | head-control-mode.look-straight-ahead
The decision tree:
Pseudo code of the decision tree:
if ( | robot-state.head-button-pressed-short | ) | //
{
transition-to-state(measure);
}
else
{
transition-to-state(interaction);
}
## State done
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-straight-ahead
| sound-request | = | sound-request.ring
The decision tree:
Pseudo code of the decision tree:
if ( | time-of-state-execution > 2500 | ) | //
{
transition-to-state(done2);
}
else
{
transition-to-state(done);
}
## State done2
If that state is active,
> | The basic behavior stand is executed.
> | These output symbols are set:
| head-control-mode | = | head-control-mode.look-straight-ahead
| sound-request | = | sound-request.none
The decision tree:
Pseudo code of the decision tree:
if ( | time-of-state-execution > 2500 | ) | //
{
transition-to-state(done);
}
else
{
transition-to-state(done2);
}