Agents

To implement the desired behaviour of agents, the classes below can be used. Usually, human agents are controlled by user input, while the autonomous system uses a brain implemented by the user via its own class. See the tutorials on how to implement an agent brain to know how.

Base classes

These are the most basic agents.

matrx.agents.agent_brain.AgentBrain([…])

An artificial agent whose behaviour can be programmed to be, for example, (semi-)autonomous.

matrx.agents.agent_types.human_agent.HumanAgentBrain([…])

Creates an Human Agent which is an agent that can be controlled by a human.

Specific agents

These are agents that show some more complex behavior.

matrx.agents.agent_types.patrolling_agent.PatrollingAgentBrain(…)

A simple agent that moves along a given path.

Agent capabilities

What an agent can do, is specified with capabilities. Currently, MATRX only supports a sensing capability which is used to construct the world’s state as perceived by the agent.

matrx.agents.capabilities.capability.Capability()

Denotes an capability of an agent.

matrx.agents.capabilities.capability.SenseCapability(…)

Denotes what an agent can see within a certain range.

Agent utils

These are utilities functions that help ease the development of agents, or creating more advanced agent behaviour.

matrx.agents.agent_utils.fov

Author: Aaron MacDonald Date: June 14, 2007

matrx.agents.agent_utils.navigator.Navigator(…)

A navigator object that can be used for path planning and navigation.

matrx.agents.agent_utils.state_tracker.StateTracker(…)

The tracker of agent observations over ticks.

matrx.agents.agent_utils.task_manager.TaskManager()