Base class#

This class describe a generic state estimation that should update the environment state used by the agent Behavior.

As the environment state is specialized by sub-classes of Behavior like GeometricState, concrete sub-classes have to target one or more of them.

In particular, the agent should use a state estimation compatible with it’s state representation.

StateEstimation holds a pointer to the World containing the agent, which it queries to get the relevant entities (located nearby the agent).

Dumps the object to a YAML-string.

Returns:

The YAML representation

Return type:

str

Gets the value of the specified property.

Parameters:

name – The name of the property

Raise:

std::runtime_error A runtime error if no property is found.

Returns:

The value of the property

Check whether a type name has been registered.

Parameters:

type – The associated type name.

Returns:

True if the type name has been registered.

Load a state estimation modulation from a YAML string.

Returns:

The loaded state estimation or None if loading fails.

Return type:

StateEstimation| None

Create an object of a sub-class selected by name.

Parameters:

type – The associated type name.

Returns:

An object of a registered sub-class or None in case the desired name is not found.

Setup the state estimation. Called before starting a simulation.

Parameters:
  • agent – The agent owning the state estimation

  • world – The world the agent is part of

Returns the json-schema that includes registered components.

Returns:

“anyOf” json-schema of all registered components.

Return type:

dict[str, typing.Any]

Returns the json-schema of a component

Returns an empty dictionary if a not registered type is requested.

Parameters:
  • reference_register_schema – Whether to reference registered components schema in the base class schema.

  • type (str) – An optional registered type. If not specified, it returns the schema of the base class.

Returns:

A json-schema of the registered class

Return type:

dict[str, typing.Any]

Set the value of a named property. Fails silently if no property can be found or if the value has a non-compatible type.

Parameters:
  • name – The name of the property

  • value – The desired value for the property

Updates an environment state with respect to a given agent.

Parameters:
  • agent – The agent owning the state estimation

  • world – The world that the agent is part of

  • state – The environment state to be updated

Type:

dict[str, navground.core.Property]

The registered properties

Type:

str

The name associated to the type of an object