Skip to content

Exogenous Actions & Events

Victor Mataré edited this page May 23, 2023 · 2 revisions

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.

Clone this wiki locally