Skip to content

Research & Data

Sensing at the Edges shows one way to combine soft-body simulation, distributed control, and evolutionary search. The experiment studies coordination in a body of identical contractile cells whose controllers receive local deformation feedback and neighbouring signals.

Read the example in three layers:

  1. Simulation: JAX EvoGym supplies the soft-body physics, deformation measurements, and actuator primitives. See Simulation Loop and Observation Helpers.
  2. Control: the research project supplies an NCA-CTRNN controller: recurrent dynamics within each cell, combined with local communication between cells. It converts feedback into horizontal and vertical actuation and signalling. Contractile cells use per-axis control; the built-in environments’ scalar action interface is not a drop-in replacement.
  3. Search and analysis: the research project supplies CMA-MAE quality-diversity search, task definitions, fitness, and post-run assays. These are choices made for the experiment, rather than requirements imposed by the simulator. In this experiment, evolution changes the controller parameters while the body stays fixed.

This is an advanced worked application. For a first simulation, begin with First Simulation and Controllers and Actions. Then use the paper and code to follow how sensing, controller state, actuation, and fitness fit together. You can bring a different controller or search algorithm to the same simulator.

The research repository contains:

  • sensing_edges/ — controllers, training, evaluation, task configuration, and terrain suites.
  • preprint/ — analysis and figure scripts.
  • s4/ — specimen bundles, replay/probe tools, and the validity audit.

Start with a saved specimen and its configuration before attempting a training run. Training uses Modal GPU infrastructure; consult the repository’s reproduction instructions for setup and compute requirements.

The repository documents differences between its current training preset and the settings that produced archived specimens. Use each specimen’s config_snapshot.yaml and the audit notes when interpreting a replay. Some resumed runs lack the parent checkpoints needed to regenerate their evolution from scratch. Specimen replay and training reproduction are distinct tasks.

The paper’s results concern its chosen bodies, controllers, tasks, and selected specimens. They do not establish that every robot or controller built with JAX EvoGym will exhibit the same behaviour. Read the project’s discussion of evidence and limits alongside the simulator’s parity scope.

Curated specimen bundles are included in the research repository. Complete run outputs are available on request: open an issue there and identify the figure, specimen, or dataset you need.