![]() integer, 0 .. 100000 |
Save backup Save simulation state once every n-th event |
![]() float, 0 .. 10 default=0 |
Body disturbance When >0, body constructs of creatures (position of Parts) will be randomly disturbed when they are created. |
![]() float, 0 .. 10 default=0 |
Initial movement Random velocities will be applied to all body Parts (in MechaStick) or rigid segments (in ODE) of newly created creatures. |
![]() integer |
last changed property # |
![]() string |
last changed property id |
![]() integer, 0 .. 2 |
Object creation errors |
![]() integer, 0 .. 1 (false/true) |
Fail on warnings Creatures grown with warnings will not be simulated. |
![]() string |
Experiment definition Choose the experiment framework |
![]() multiline string |
Description |
![]() string |
Title |
![]() float, 0 .. 100 default=5 |
Delete connection |
![]() float, 0 .. 100 default=5 |
New connection |
![]() float, 0 .. 100 default=10 |
Change weight |
![]() float, 0 .. 100 default=5 |
Delete joint |
![]() float, 0 .. 100 default=5 |
New joint |
![]() float, 0 .. 100 default=10 |
Rotational stiffness |
![]() float, 0 .. 100 default=10 |
Stiffness |
![]() float, 0 .. 100 default=10 |
Stamina |
![]() float, 0 .. 100 default=5 |
Delete neuron |
![]() float, 0 .. 100 default=5 |
New neuron |
![]() float, 0 .. 100 default=10 |
Change properties |
![]() integer, 0 .. 1 (false/true) default=1 |
Respect the 'delete inhibit' tag You can tag elements using their 'i' field and the i="mi=d" tag. |
![]() integer, 0 .. 1 (false/true) default=1 |
Respect the 'modify inhibit' tag You can tag elements using their 'i' field and the i="mi=m" tag. |
![]() float, 0 .. 100 default=10 |
Assimilation |
![]() float, 0 .. 100 default=5 |
Delete part |
![]() float, 0 .. 100 default=10 |
Friction |
![]() float, 0 .. 100 default=10 |
Ingest |
![]() float, 0 .. 100 default=10 |
Mass |
![]() float, 0 .. 100 default=5 |
New part |
![]() float, 0 .. 100 default=10 |
Position |
![]() float, 0 .. 100 default=10 |
Swap parts |
![]() integer, 0 .. 999 |
Max. rules Maximum number of fuzzy rules |
![]() integer, 0 .. 999 |
Max. sets Maximum number of fuzzy sets |
![]() float, 0 .. 1 |
Add new fuzzy set (with simple rule) Probability of adding new fuzzy set with simple rule, which uses this set (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() float, 0 .. 1 |
Remove fuzzy set Probability of removing fuzzy set (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() float, 0 .. 1 |
Add new rule Probability of adding new rule (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() float, 0 .. 1 |
Remove rule Probability of removing rule (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() float, 0 .. 1 |
Add new input/output to existing rule Probability of adding new input or output to exisitng rule (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() float, 0 .. 1 |
Remove input/output from existing rule Probability of removing input or output from exisitng rule (1=proceed on all genes, 0.1=proceed on ten percent) |
![]() string |
Excluded modifiers Modifiers that will not be added nor deleted during mutation |
![]() float, 0 .. 100 default=0.1 |
Add/remove neural connection |
![]() float, 0 .. 100 default=0.05 |
Add/remove a neuron Adds a (connected) neuron or removes a neuron |
![]() float, 0 .. 100 default=0.1 |
Add/remove neuron property setting |
![]() float, 0 .. 100 default=0.05 |
Change property value |
![]() float, 0 .. 100 default=1 |
Change connection weight |
![]() float, 0 .. 100 default=0.02 |
Add/remove a comma , |
![]() float, 0 .. 100 default=0.02 |
Add/remove a branch ( ) |
![]() float, 0 .. 100 default=0.1 |
Add/remove a modifier Modifiers: RrLlAaCcFfMmSsIiQqWwEe |
![]() float, 0 .. 100 default=0.05 |
Add/remove a stick X |
![]() integer, 0 .. 1 (false/true) default=1 |
Proportional crossover Cross over (exchange) corresponding segments of the two parent genotypes? |
![]() float, 0 .. 1 default=0.4 |
Add element |
![]() float, 0 .. 1 default=0.33 |
- add connection |
![]() float, 0 .. 1 default=0.1 |
Delete element |
![]() float, 0 .. 1 default=0.3 |
Change handle |
![]() float, 0 .. 1 default=0.33 |
- add joint |
![]() float, 0 .. 1 default=0.33 |
- add neuron |
![]() float, 0 .. 1 default=0.2 |
Change properties |
![]() float, 0 .. 1 default=0.1 |
Deletion/insertion |
![]() integer, 1 .. 100 default=5 |
- length of changed sequence |
![]() float, 0 .. 1 default=0.05 |
- probability per char |
![]() float, 0 .. 1 default=0.05 |
Gene duplication |
![]() float, 0 .. 1 default=0.6 |
Substitution |
![]() float, 0 .. 1 default=0.1 |
- probability per char |
![]() float, 0 .. 1 default=0.15 |
Translocation |
![]() float, 0 .. 1 default=0.2 |
Crossing over |
![]() float, 0 .. 1 default=0.8 |
Horizontal gene transfer |
![]() float, 0 .. 100 default=50 |
Add node mutation: probability of adding a node |
![]() float, 0 .. 100 default=15 |
- add connection add node mutation: probability of adding a neural connection |
![]() float, 0 .. 100 default=20 |
- add division add node mutation: probability of adding a division |
![]() float, 0 .. 100 default=5 |
- add neuron property add node mutation: probability of adding a neuron property/modifier |
![]() float, 0 .. 100 default=10 |
- add repetition add node mutation: probability of adding a repetition |
![]() float, 0 .. 100 default=50 |
- add simple node add node mutation: probability of adding a random, simple gene |
![]() float, 0 .. 100 default=20 |
Delete node mutation: probability of deleting a node |
![]() float, 0 .. 100 default=30 |
Modify node mutation: probability of changing a node |
![]() integer, 0 .. 1 (false/true) default=1 |
Show file comments Display comments encountered in opened files |
![]() integer, 0 .. 2 |
Extended mutation info If active, information about employed mutation method will be stored in the 'info' field of each mutated genotype. |
![]() integer, 0 .. 1 (false/true) default=1 |
Use syntax highlighting Use colors for genes? |
![]() integer, 0 .. 1 (false/true) default=0 |
Remember history of genetic operations Required for phylogenetic analysis |
![]() integer, 0 .. 1 (false/true) |
f1 converter Original Framsticks genotype format |
![]() integer, 0 .. 1 (false/true) |
f2 converter Similarity encoding |
![]() integer, 0 .. 1 (false/true) |
f3 converter Biological encoding |
![]() integer, 0 .. 1 (false/true) |
f4 converter Developmental encoding |
![]() |
gene pools object |
![]() integer, 0 .. 1 |
Operators for f0 |
![]() integer, 0 .. 0 |
Operators for f1 |
![]() integer, 0 .. 0 |
Operators for f2 |
![]() integer, 0 .. 0 |
Operators for f3 |
![]() integer, 0 .. 0 |
Operators for f4 |
![]() integer, 0 .. 1 (false/true) |
Check genotypes added to groups |
![]() integer, 0 .. 1 (false/true) |
Check imported genotypes |
![]() |
populations object |
![]() integer, 0 .. 1 (false/true) |
Check genotypes loaded from experiment |
![]() float, 0 .. 100 default=2 |
Maximal joint length |
![]() float, 0 .. 100 default=0 |
Minimal joint length |
![]() integer, 0 .. 1 (false/true) |
Neuron (N) Standard neuron |
![]() integer, 0 .. 1 (false/true) |
Unipolar neuron [EXPERIMENTAL!] (Nu) Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1. |
![]() integer, 0 .. 1 (false/true) |
Gyroscope (G) Equilibrium sensor. |
![]() integer, 0 .. 1 (false/true) |
Touch (T) Touch sensor. |
![]() integer, 0 .. 1 (false/true) |
Smell (S) Smell sensor. Aggregated "smell of energy" experienced from all energy objects (creatures and food pieces). |
![]() integer, 0 .. 1 (false/true) |
Constant (*) Constant value |
![]() integer, 0 .. 1 (false/true) |
Bend muscle (|) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Rotation muscle (@) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Differentiate (D) Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights |
![]() integer, 0 .. 1 (false/true) |
Fuzzy system [EXPERIMENTAL!] (Fuzzy) Refer to publications to learn about this neuron |
![]() integer, 0 .. 1 (false/true) |
Vector Eye [EXPERIMENTAL!] (VEye) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Visual-Motor Cortex [EXPERIMENTAL!] (VMotor) Must be connected to the VEye and properly set up. |
![]() integer, 0 .. 1 (false/true) |
Sticky [EXPERIMENTAL!] (Sti) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Linear muscle [EXPERIMENTAL!] (LMu) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Water detector (Water) Output signal: |
![]() integer, 0 .. 1 (false/true) |
Energy level (Energy) The current energy level divided by the initial energy level. |
![]() integer, 0 .. 1 (false/true) |
Channelize (Ch) Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel. |
![]() integer, 0 .. 1 (false/true) |
Channel multiplexer (ChMux) Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel) |
![]() integer, 0 .. 1 (false/true) |
Channel selector (ChSel) Outputs a single channel (selected by the "ch" parameter) from multichannel input |
![]() integer, 0 .. 1 (false/true) |
Random noise (Rnd) Generates random noise (subsequent random values in the range of -1..+1) |
![]() integer, 0 .. 1 (false/true) |
Sinus generator (Sin) Output frequency = f0+input |
![]() integer, 0 .. 1 (false/true) |
Neuron (N) Standard neuron |
![]() integer, 0 .. 1 (false/true) |
Unipolar neuron [EXPERIMENTAL!] (Nu) Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1. |
![]() integer, 0 .. 1 (false/true) |
Gyroscope (G) Equilibrium sensor. |
![]() integer, 0 .. 1 (false/true) |
Touch (T) Touch sensor. |
![]() integer, 0 .. 1 (false/true) |
Smell (S) Smell sensor. Aggregated "smell of energy" experienced from all energy objects (creatures and food pieces). |
![]() integer, 0 .. 1 (false/true) |
Constant (*) Constant value |
![]() integer, 0 .. 1 (false/true) |
Bend muscle (|) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Rotation muscle (@) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Differentiate (D) Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights |
![]() integer, 0 .. 1 (false/true) |
Fuzzy system [EXPERIMENTAL!] (Fuzzy) Refer to publications to learn about this neuron |
![]() integer, 0 .. 1 (false/true) |
Vector Eye [EXPERIMENTAL!] (VEye) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Visual-Motor Cortex [EXPERIMENTAL!] (VMotor) Must be connected to the VEye and properly set up. |
![]() integer, 0 .. 1 (false/true) |
Sticky [EXPERIMENTAL!] (Sti) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Linear muscle [EXPERIMENTAL!] (LMu) Characteristics: |
![]() integer, 0 .. 1 (false/true) |
Water detector (Water) Output signal: |
![]() integer, 0 .. 1 (false/true) |
Energy level (Energy) The current energy level divided by the initial energy level. |
![]() integer, 0 .. 1 (false/true) |
Channelize (Ch) Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel. |
![]() integer, 0 .. 1 (false/true) |
Channel multiplexer (ChMux) Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel) |
![]() integer, 0 .. 1 (false/true) |
Channel selector (ChSel) Outputs a single channel (selected by the "ch" parameter) from multichannel input |
![]() integer, 0 .. 1 (false/true) |
Random noise (Rnd) Generates random noise (subsequent random values in the range of -1..+1) |
![]() integer, 0 .. 1 (false/true) |
Sinus generator (Sin) Output frequency = f0+input |
![]() float, 0 .. 1000 default=1 |
NN speed Number of neural network simulation steps in each physics simulation step |
![]() float, 0 .. 0.5 default=0.01 |
Drag A drag force ("air drag") proportional to the velocity of mass centers of moving parts |
![]() float, 0 .. 1 default=0.1 |
Bounce |
![]() float, 0 .. 1 default=0.01 |
Bounce velocity |
![]() float, 0 .. 10 default=1 |
Max. friction Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1) |
![]() float, 0 .. 10 default=0.1 |
Min. friction Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1) |
![]() float, 0 .. 1 default=0 |
Soft CFM |
![]() float, 0 .. 1 default=0.1 |
Bounce |
![]() float, 0 .. 1 default=0.01 |
Bounce velocity |
![]() float, 0 .. 10 default=5 |
Max. friction Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1) |
![]() float, 0 .. 10 default=0.1 |
Min. friction Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1) |
![]() float, 0 .. 1 default=0 |
Soft CFM |
![]() float, 0 .. 100 default=10 |
Muscle max power i.e. "MMMMM" if f1 |
![]() float, 0 .. 100 default=0 |
Muscle min power i.e. "mmmmm" in f1 |
![]() float, 0 .. 10 default=1 |
Muscle speed limit Muscle state cannot change faster than the supplied value |
![]() integer, 0 .. 2 |
Randomness Affects collisions. |
![]() integer, 0 .. 1 |
Stick shape |
![]() float, 0.001 .. 1 default=0.05 |
Simulation step |
![]() float, 0 .. 2 default=1 |
Water buoyancy |
![]() float, 0.001 .. 1 default=0.5 |
Water drag |
![]() integer, 0 .. 1 (false/true) |
Overwrite Overwite existing files or create their backups |
![]() float, 0 .. 10 default=0.01 |
Random initialization Initialize all neuron states with uniform distribution random numbers |
![]() integer, 0 .. 1 (false/true) default=1 |
Reset before changing experiment definition If turned on: when a new experiment definition is selected, default values are loaded for most of the simulator parameters, and gene pools and populations are cleared. |
![]() integer, 0 .. 1 (false/true) |
is the simulation running? for synchronizing the user interface state |
![]() |
Signal sources |
![]() integer, 0 .. 1 |
Matching method |
![]() float, 0 .. 100 default=0.5 |
Weight of neurons count |
![]() float, 0 .. 100 default=1 |
Weight of parts' degree |
![]() float, 0 .. 100 default=0 |
Weight of parts count Differing number of parts is also handled by the 'part degree' similarity component. |
![]() integer |
simulation speed steps/second |
![]() integer, 0 .. 1 |
Simulation engine MechaStick is a fast and simple primary Framsticks simulation engine. |
![]() integer, 2 .. 50 default=20 |
Angular sampling (1) Default number of samples per full angle (#1) |
![]() integer, 2 .. 50 default=20 |
Angular sampling (2) Default number of samples per full angle (#2) |
![]() integer, 2 .. 50 default=10 |
Position sampling Default number of samples per stick length |
![]() float |
resulting symmetry plane, coeff. A (set by calculateSymmetry) |
![]() float |
resulting symmetry plane, coeff. B (set by calculateSymmetry) |
![]() float |
resulting symmetry plane, coeff. C (set by calculateSymmetry) |
![]() float |
resulting symmetry plane, coeff. D (set by calculateSymmetry) |
![]() integer |
number of steps |
![]() float, 0 .. 100 default=1 |
T receptor range |
![]() multiline string |
User script This script overrides the experiment definition |
![]() integer, 0 .. 1 (false/true) |
VM debug |
![]() |
world object |
![]() integer, 0 .. 2 |
Boundaries |
![]() float, 0 .. 10 default=1 |
Gravity You can adjust gravity for your experiments. |
![]() multiline string |
Map Description of the world (Type: Blocks or Heighfield). Enter |
![]() float, 10 .. 1000 default=20 |
Size Side length of the world |
![]() integer, 0 .. 2 |
Type |
![]() float, -20 .. 30 default=-1 |
Water level |
![]() |
add property (id,type,name,help) function add() |
![]() |
add group (name) function addGroup() |
![]() doesn't return a value |
beep function beep() Plays a default system sound |
![]() returns float |
Calculate symmetry function calculateSymmetry(Model model) Returns bilateral symmetry (0.0 .. 1.0) for a given Model using default precision parameters (symPosSteps,symAlphaSteps,symBetaSteps). Returns the symmetry plane, too (sets symResultA,B,C,D). |
![]() returns float |
Calculate symmetry function calculateSymmetry2(Model model, integer posSteps, integer alphaSteps, integer betaSteps) Returns bilateral symmetry (0.0 .. 1.0) for a given Model using specified precision parameters. Returns the symmetry plane, too (sets symResultA,B,C,D). |
![]() returns float |
Calculate symmetry function calculateSymmetryForPlane(Model model, float A, float B, float C, float D) Returns bilateral symmetry (0.0 .. 1.0) for a given Model and given a specific plane defined by coefficients A, B, C, D. |
![]() doesn't return a value |
Notify that the experiment state was significantly updated. function checkpoint() This function was previously called "autosave". |
![]() |
remove all properties function clear() |
![]() returns Geno |
Crossover function crossOver(Geno, Geno) returns crossed over genotype |
![]() doesn't return a value |
evaluate expression function eval(string script_expression) |
![]() returns float |
evaluate model dissimilarity function evaluateDistance(Geno, Geno) calculate dissimilarity between two models created from Geno objects |
![]() doesn't return a value |
export function export(string filename, integer options, integer genepool, integer population) Save some data to file. arguments: |
![]() returns Geno |
Get simplest genotype function getSimplest(integer format) returns the simplest genotype for a given encoding (format). 0 means f0, 4 means f4, etc. |
![]() doesn't return a value |
import function import(string filename, integer options) Load some data from file. The second optional argument selects what section(s) will be imported: |
![]() doesn't return a value |
Initialize experiment function init() Performs initialization procedures, like resetting counters, states, gene pools, etc. |
![]() doesn't return a value |
load function load(string filename) Load experiment file (calls onExpLoad() in the current experiment definition). This function is intended to replace the simulator state; the old state is cleared by automatically calling "resetToDefaults()" (only if "resetonexpdef" is enabled). Use "import" if you don't want to loose the old simulator state. |
![]() doesn't return a value |
Reload experiment definition function loadexpdef() |
![]() doesn't return a value |
(re)load neuron definitions function loadNeurons(string directory_path) |
![]() doesn't return a value |
print message function message(string text, integer level) The second argument can be: |
![]() returns Geno |
Mutate function mutate(Geno) returns mutated Geno object from supplied Geno |
![]() returns Simulator |
create new Simulator function new() |
![]() doesn't return a value |
Operators report function operReport() Show available genetic operators |
![]() doesn't return a value |
print information message function print(string text) One argument: message to be printed |
![]() returns float |
ray intersection function rayIntersection(float position_x, float position_y, float position_z, float direction_x, float direction_y, float direction_z, float max_distance) |
![]() |
remove property (index) function remove() |
![]() |
remove group (index) function removeGroup() |
![]() doesn't return a value |
Reset the simulator state function resetToDefaults() Clears groups and loads default values for simulator parameters, then calls onExpDefLoad() of the current experiment definition. |
![]() doesn't return a value |
save function save(string filename) Save experiment file (calls onExpSave() in the current experiment definition) |
![]() doesn't return a value |
sleep function sleep(integer milliseconds) Suspends the execution for a specified interval |
![]() doesn't return a value |
sound function sound(integer freqency_in_Hz, integer length_in_milliseconds) Generates a simple tone on the speaker |
![]() doesn't return a value |
start simulation function start() called by the user interface |
![]() doesn't return a value |
do single simulation step function step() |
![]() doesn't return a value |
stop simulation function stop() the expdef script calls this to stop simulation |
![]() returns string |
HTMLize a genotype function toHTML(string) returns genotype expressed as colored HTML |
![]() returns string |
HTMLize a genotype, shorten if needed function toHTMLshort(string) returns genotype (abbreviated if needed) expressed as colored HTML |
![]() returns Geno |
Validate function validate(Geno) returns validated (if possible) Geno object from supplied Geno |
![]() doesn't return a value |
Trigger world update function wrldchg() |
Global context |