Exogenous Actions & Events - MASKOR/gologpp GitHub Wiki
An exogneous action is something that can happen in the world, that is beyond the control of the agent (e.g. another robot touched our bumper, or we received a certain message via network). An individual occurrence of an exogenous action (also called a ground exogenous action) is triggered by an exogenous event in the platform backend.
As such, an exogenous action does not have a precondition.
It only has an effect
and possibly a mapping
and an optional silent
setting.
Syntax
exog_action EXOG_NAME(ARGS...) {
effect:
EFFECT_AXIOM;
...
mapping:
ACTION_MAPPING
silent: BOOL
}
When an exog_action
occurs, its effect is applied immediately.
Then golog++ will re-evaluate the preconditions of all actions that were blocked because they weren't possible when they were executed, and execute them if they are possible now.