lc_tweann_morphology (macula_neuroevolution v0.29.1)

View Source

LC TWEANN Morphology - Sensor/actuator definitions for LC controllers.

Implements morphology_behaviour for the Liquid Conglomerate hyperparameter controllers. This allows LC controllers to be evolved using macula_tweann.

Morphology Names

- lc_task_controller: Task Silo L0 controller (21 sensors, 16 actuators) - lc_resource_controller: Resource Silo L0 controller (15 sensors, 9 actuators)

Usage

1. Register at application startup: morphology_registry:register(lc_task_controller, lc_tweann_morphology).

2. Create agent with this morphology: Constraint = #constraint{morphology = lc_task_controller}, AgentId = genotype:construct_Agent(SpecieId, AgentId, Constraint).

Summary

Functions

Get actuators for LC morphologies.

Get sensors for LC morphologies.

Register all LC morphologies with the morphology_registry. Call this at application startup.

Functions

get_actuators(_)

-spec get_actuators(atom()) ->
                       [#actuator{id :: term(),
                                  name :: term(),
                                  type :: term(),
                                  cx_id :: term(),
                                  scape :: term(),
                                  vl :: term(),
                                  fanin_ids :: term(),
                                  generation :: term(),
                                  format :: term(),
                                  parameters :: term(),
                                  gt_parameters :: term(),
                                  phys_rep :: term(),
                                  vis_rep :: term(),
                                  pre_f :: term(),
                                  post_f :: term(),
                                  innovation :: term()}].

Get actuators for LC morphologies.

get_sensors(_)

-spec get_sensors(atom()) ->
                     [#sensor{id :: term(),
                              name :: term(),
                              type :: term(),
                              cx_id :: term(),
                              scape :: term(),
                              vl :: term(),
                              fanout_ids :: term(),
                              generation :: term(),
                              format :: term(),
                              parameters :: term(),
                              gt_parameters :: term(),
                              phys_rep :: term(),
                              vis_rep :: term(),
                              pre_f :: term(),
                              post_f :: term(),
                              innovation :: term()}].

Get sensors for LC morphologies.

register_morphologies()

-spec register_morphologies() -> ok.

Register all LC morphologies with the morphology_registry. Call this at application startup.