>xabsl 2
Behavior Documentation
>
Index
>Agents
>Symbols
>Basic Behaviors
>Options
>> goalie-position
>>>
ball-just-seen-not-moving
>>>
ball-just-seen
>>>
ball-not-seen
Option goalie-position
Positions the goalie inside it's goal.
State Machine
This browser can't display the SVG file
svg/option_goalie-position.svg
.
The
Adobe SVG Viewer 3.0
can be downloaded from
http://www.adobe.com/svg/viewer/install/main.html
State ball-just-seen-not-moving
If that state is active,
>
The basic behavior
goalie-position
is executed. Parameters:
goalie-position.max-speed
=
120 ;
goalie-position.min-x-trans
=
25 ;
goalie-position.min-y-trans
=
25 ;
goalie-position.weight-pose
=
1 ;
goalie-position.weight-odo
=
0 ;
goalie-position.cut-y
=
300 ;
goalie-position.guard-direct-to-goal
=
200 ;
goalie-position.guard-line
=
-150 ;
>
These output symbols are set:
leds.face2
=
face2.lolo
leds.face3
=
face3.olol
head-control-mode
=
head-control-mode.search-for-ball
The decision tree:
This browser can't display the SVG file
svg/option_goalie-position_state_ball-just-seen-not-moving.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
(
ball.time-since-last-seen
< 3500
)
// ball was seen in the last 3500 msecs -> dont jump
{
if
(
executed-motion-request.motion-type
==
stand
)
// Dog is not moving -> only look at ball
{
transition-to-state(
ball-just-seen-not-moving
);
}
else
{
transition-to-state(
ball-just-seen
);
}
}
else
{
transition-to-state(
ball-not-seen
);
}
State ball-just-seen
If that state is active,
>
The basic behavior
goalie-position
is executed. Parameters:
goalie-position.max-speed
=
120 ;
goalie-position.min-x-trans
=
20 ;
goalie-position.min-y-trans
=
20 ;
goalie-position.weight-pose
=
1 ;
goalie-position.weight-odo
=
0 ;
goalie-position.cut-y
=
300 ;
goalie-position.guard-direct-to-goal
=
200 ;
goalie-position.guard-line
=
-150 ;
>
These output symbols are set:
leds.face1
=
face1.lolo
leds.face2
=
face2.lolo
leds.face3
=
face3.llll
The decision tree:
This browser can't display the SVG file
svg/option_goalie-position_state_ball-just-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
(
ball.time-since-last-seen
< 3500
)
// ball was seen in the last 3500 msecs -> dont jump
{
if
(
executed-motion-request.motion-type
==
stand
)
// Dog is not moving -> only look at ball
{
transition-to-state(
ball-just-seen-not-moving
);
}
else
{
transition-to-state(
ball-just-seen
);
}
}
else
{
transition-to-state(
ball-not-seen
);
}
State ball-not-seen
If that state is active,
>
The basic behavior
go-to-point
is executed. Parameters:
go-to-point.x
=
(
field.own-groundline.x
+ 200)
;
go-to-point.y
=
0 ;
go-to-point.destination-angle
=
0 ;
go-to-point.distance-remain
=
100 ;
go-to-point.angle-remain
=
10 ;
go-to-point.max-speed
=
180 ;
>
These output symbols are set:
leds.face2
=
face2.oooo
leds.face3
=
face3.lolo
head-control-mode
=
head-control-mode.search-for-ball
The decision tree:
This browser can't display the SVG file
svg/option_goalie-position_state_ball-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
(
ball.time-since-last-seen
< 3500
)
// ball was seen in the last 3500 msecs -> dont jump
{
if
(
executed-motion-request.motion-type
==
stand
)
// Dog is not moving -> only look at ball
{
transition-to-state(
ball-just-seen-not-moving
);
}
else
{
transition-to-state(
ball-just-seen
);
}
}
else
{
transition-to-state(
ball-not-seen
);
}