Bardo.AgentManager.Actuator behaviour (Bardo v0.1.0)
View SourceDefines generic actuator behavior.
An actuator is a process that accepts signals from neurons in the output layer, orders them into a vector, and then uses this vector to control some function that acts on the environment or the NN itself. An actuator might have incoming connections from multiple neurons, in which case it would wait until all neurons have sent their output signals, accumulate these signals into a vector, and then use this vector as a parameter to its actuation function.
The order in which the signals are accumulated into a vector is the same order as the neuron ids are stored. Once all signals have been gathered, the actuator executes its function, waits for its fitness score from the scape, sends the cortex the sync signal, and then again begins to wait for neural signals.
Summary
Callbacks
Callback to actuate based on received signals.
Callback to initialize the actuator module state.
Optional callback for cleanup when terminating.
Functions
The fitness score from the scape after the actuator has performed an action.
Send output from neural network to actuator. For use in tests.
Initializes the actuator process.
Initializes the actuator setting it to its initial state.
Main loop to handle initialization message.
Loop that handles actuator operations after initialization.
Spawns an Actuator process belonging to the exoself process that spawned it and calls init to initialize.
Terminates the actuator.
Terminates the actuator process with the given reason.
Callbacks
@callback actuate( atom(), {agent_id :: tuple(), output :: [float()], params :: any(), vl :: non_neg_integer(), scape :: pid() | atom(), actuator :: pid() | tuple(), mod_state :: any()} ) :: any()
Callback to actuate based on received signals.
Callback to initialize the actuator module state.
Optional callback for cleanup when terminating.
Functions
The fitness score from the scape after the actuator has performed an action.
Send output from neural network to actuator. For use in tests.
Initializes the actuator process.
@spec init_phase2( pid(), pid(), tuple(), tuple(), pid(), pid(), {atom(), atom()}, integer(), any(), [pid()], atom() ) :: :ok
Initializes the actuator setting it to its initial state.
Main loop to handle initialization message.
Loop that handles actuator operations after initialization.
Spawns an Actuator process belonging to the exoself process that spawned it and calls init to initialize.
Terminates the actuator.
Terminates the actuator process with the given reason.