Gallio Cart Image Braitenberg Vehicle Evolution

(Simplified version of Simões and Levy et al., Nature Communications, 2021)


Simulation of Generation 0, Testing 25 vs. 30°C

Sensor Parameters



Connectivity Parameters

How well does the vehicle avoid heat?


Avoidance Index Evolution

See below for more information

Braitenberg vehicle

Approximating a fly

Thermal Environment

Temperature received at each sensor is calculated by 3D thermal simulation of environmental conditions in the behavioral arena.

Environment

Vehicle Parameters

In our model, the velocities of the wheels are linear combinations of sensory input \( (s_L, s_R)\) processed through a logistic nonlinearity at the two symmetric sensors: \[ v_L = h(s_L) w_I + h(s_R) w_C + v_0 \] \[v_R = h(s_R) w_I + h(s_L) w_C + v_0\] where \(v_0\) is the baseline walking speed and h(s) is a transformation of the sensory input defined by the logistic function with parameters \(a\) and \( b\) \[ h(s) = \frac{1}{1+e^{(-a\times s+b)}} .\] The sensory input (given by the temperature at the height of the fly antennae) is derived from our simulation of the behavioral arena and additively modulated with time correlated noise generated by an Ornstein-Uhlenbeck model, \[\tau d\epsilon = -\epsilon dt + \sigma dW\] where \(\tau\) is a time constant for the process. Temporal integration of the differential equation is performed using the Euler-Maruyama method. Another Ornstein-Uhlenbeck process is used to describe motor noise,\(\gamma\), and is additively combined with the wheel speeds. Here, we only demonstrate the evolution of the sensory and wiring parameters (i.e. noise parameters are fixed).

Avoidance Index

The avoidance index (AI) is a measurement of thermal preference over time. An AI score of 1 signifies complete avoidance of the heat stimulus (pink side), while -1 shows complete attraction to the heat stimulus. If there is no preference, we expect to see an AI score of approximately 0. Mathematically, we write this as \[AI = \frac{\text{time at BT} – \text{time at TT}}{\text{total time}}\]

Evolutionary Algorithm

After each generation, we take the strongest performers (here, we take the top 3) and allow them to continue to the next generation. The rest of the next generation is then created through mutations (i.e. random perturbations to winners from the previous generation) or crossovers (i.e. random mixtures of the parameters of each of the winners). The top performer in each generation will bear a crown..

Watch a video video of one of our top performers "competing" against a fly


Back to the homepage

GENERAL DISCLAIMER: While meant to illustrate the evolutionary algorithm used in our work, this is a simplified version of the problem concerned with a single simple objective.



© Joshua I. Levy, José Miguel Simões, Emanuela Zaharieva, Leah Vinson, Peixiong Zhao, Michael Alpert, William Kath, Alessia Para and Marco Gallio, 2021