Framsticks

Kybernetes

ISSN: 0368-492X

Article publication date: 1 December 2000

154

Keywords

Citation

Adamatzky, A. (2000), "Framsticks", Kybernetes, Vol. 29 No. 9/10. https://doi.org/10.1108/k.2000.06729iad.001

Publisher

:

Emerald Group Publishing Limited

Copyright © 2000, MCB UP Limited


Framsticks

Framsticks

Maciej Komosiski and Szymon UlatowskiInstitute of Computer Science, Poznan University of TechnologyPoznan, Poland

Keywords: Robotics, Artificial Life, CyberneticsAbstract An original software implementation of a physical world inhabited with artificial creatures is discussed. A creature is built of sticks, which play roles of affector, control and effector units. A structure of every creature is recurrently described by creature's genotype. The creatures either spontaneously evolve or they are selected directly. Originality of fundamental ideas related to creation and evolution of artificial creatures, accuracy of physical simulation of creature interactions with environment, user friendly interface and great potential for graphical representation of the results of evolution make the software a unique product on the market of artificial life goodies.

A great deal of attention has been paid to computer simulation of living things since the early 1950s. The projects were usually implemented under the aegis of physics, then biophysics and cybernetics, then bio-cybernetics, theoretical and mathematical biology. Now the field is called an artificial life. Luckily, subsequent, and sometimes unreasonable, changes of the name did not alter the basic minimalist attitude of the researchers: "to design rich and complex models from poor and simple components". In the paper we discuss the software, called Framsticks, where the minimalist methodology is pushed up to its limit and sophisticated virtual worlds are built from amazingly primitive constituents.

When dealing with simulation one can simulate:

  1. 1.

    those who are alive;

  2. 2.

    those who died; and

  3. 3.

    those who were not even born.

The first option is a conventional one. Thousands of papers are published on the subject. Brachiator is one of the recent successes on this way. Brachiator is a robot built of several links, joints and muscles. It moves from one branch of a tree to another by swinging its body as a pendulum (Hasegawa et al., 1999) as some species of monkey usually do. The muscles are controlled by artificial neural networks, which are not simply learning but also evolving.

The second option, a search for those which are gone, is realised in projects on the reconstruction of extinct animals. Thus, the reconstruction of an extinct swimming animal Anomalocaris, undertaken in Usami et al. (1998), is a recent example of computer simulation, where block-based approach gains success. The reconstructed creatures do swim by waving motions of fins. Each creature is created by simple rules, where every rule gives rise to a particular block of the creature's body. Some genetic-inspired re-combinations of rule strings are employed to increase morphological diversity, which is linked straightforwardly to locomotion, and to select, therefore, those with the best swimming abilities. In this work (Usami et al., 1998) physics-reality is taken into account; however, neural control is poorly developed.

The third option is an unconventional one. There we simulate would-be worlds, which never existed and certainly will never exist. Framsticks, discussed in the present paper, give us examples of would-be worlds. Darwin Pond[1] and Gene Pool also appeal to would-be world. Swimbots, inhabiting Darwin Pond and Gene Pool (Ventrella, 1999), occupy another niche in the system of block-made evolving artificial creatures. The swimbots live in a pool filled with nothing except bits of food, which is regenerated periodically. They eat, breed, produce new swimbots, and eventually die. Anatomy of swimbots is sophisticatedly simple (Ventrella, 1998). I would call it anatomy of Pinocchio. The swimbots are two-dimensional assembles of lollipop sticks jointed together to form star- and tree-like structures. Their physiological functions are implicit and no detailing is provided. However, they are given mental states and a right to choose their partners based on different preferences. Swimbots also have genes (that encode their structure and "psychology"); swimbot's genotype has 74 gene-like constituents. In some aspects, there is a great resemblance between Gene Pool and Framsticks. At least, we can say that both models absorbed fruitful ideas developed by Sims (1994) on successive clones of swimming artificial creatures. Generally, Gene Pool is an attractive but toy application, while Framsticks is a powerful tool for scientific research.

What are the framsticks?

The body of any framstick is built of sticks[2]. In simulation every stick is subdivided into a finite number of control points which are affected by several forces: gravity, friction, elastic reaction, reaction with ground and many more. If framsticks collide one with another, some sticks may be destroyed.

Remarkably, I did not meet another artificial life program that so realistically represents interaction of creatures with the surrounding world.

We know very little about framstick physiology. In addition to sticks the creatures may have muscles, neuron and receptors. They also exhibit some kind of metabolism. Using specialised endings of the sticks, framsticks can assimilate energy from their environment and even ingest their dead fellows. A framstick starts its life with a certain amount of energy. It dies when energy level is zero. The creatures dissipate their energy when idle; they also spend energy on static and dynamic muscular activity.

MusclesTwo types of muscles join the sticks: bending and rotating muscles. The muscles consume energy and are controlled by neurons.

ReceptorsA framstick gets information about environment via three types of receptors that can be attached to the sticks:

  1. 1.

    G-receptor. The receptor is analogical to an otolith, which can be found, in one form or another, in all real creatures from protozoa to humans. The receptor signals if the position of the stick it is attached to is not perfectly horizontal.

  2. 2.

    T-receptor. This is a receptor of a pressure. The receptor generates constant negative value when it is free. Its value becomes close to null when it touches an object; it can go to a positive scale when pressure increases.

  3. 3.

    S-receptor. This is a receptor of a smell. It smells equally well the presence of food and other framsticks; however, the receptor does not discriminate between different stimuli.

The receptors of smell and pressure are sufficient to guide a creature in its world. Theoretically we can avoid using the G-receptors; however, these receptors are quite useful when swimming creatures are concerned.

Neurons

Framstick neurons are quite standard. Neurons are attached to sticks and take inputs from other neurons or receptors. They can bear self-inhibiting and self-exciting terminals as well. The neurons send their efferent terminals to the muscles. Being connected to rotation or bending muscles, the neurons control rotation or bending of a stick relatively to its neighbouring sticks. An excitation function of neurons is based on a weighted sum of input signals. Neuron reactivity can be tuned (via modification of genotype entries) by indicating how fast a neuron updates its state toward the weighted sum of its inputs and how long the current state persists. It is possible to achieve oscillatory mode combining the values of neuron reactivity.

GeneticsA genotype of the framsticks is represented by strings over finite alphabet that recursively describe the creature's structure. A topology of a framstick is portrayed in the string of nested groups of stick symbols. Assuming that "X" represents a stick in the genotype, we can encode a binary tree of the height three, and consisting of seven sticks, as the following string:

X(X(X,X),X(X,X))

Putting modificators after the symbol of a stick can change the properties of the stick. The stick modificators are grouped into the stick's joint properties (rotation, twist and curvedness), physical properties (length, weight, friction) and biological properties (assimilation, stamina, muscle strength, ingestion). The symbols of neurons are put after the stick to which these neurons are attached. Every neuron is specified by its control subject and by the list of inputs with their weights.

SimulatorThe world of framsticks can be flat and hilly, dry and watered. We can determine the world's type, size, landscape, water level and boundaries. Automatic feeding option allows energy balls to be put in the framstick world at random, with given probability.

Genetic evolution is highly controllable. One can set up global intensities of mutations, parameters of genes reparation (which is a bit technical yet useful), features of cross-over, mutation probabilities for genes coupled to all parts of the framstick body, e.g. detailed mutation probabilities for neurons, muscles, and receptors. Mating preferences between the creatures are implicitly expressed via similarities of genotypes. The user can also specify the capacity of framstick world, or a maximal size of the population, rules for deleting genotypes (fitness-based selection, random deleting, or elimination of only the worst types).

Moreover, in a situation when new creatures are injected into the existing world one can derive genotypes of this new framsticks from the existing ones. Namely, the genotypes may be simply cloned, mutated, crossed over; parts of the genotype are duplicated or deleted.

A selection of creatures is based on four basic characteristics: duration of life, velocity of movement, spanned distance, size of a creature. A fitness of any particular genotype (read individual) is calculated as a sum of weighted values of four selection characteristics. Sometimes energetic efficiency can also be employed to evaluate the fitness. All information about the framstick world and creatures themselves can be easily saved at any moment of the evolution.

Two types of evolution process are implemented in Framsticks: directed evolution (selection) and "spontaneous" evolution[3]. During straightforward selection one can specify parameters, which are used to evolve a best creature. That is, we explicitly define optimisation criteria. Thus, for example, if we wish to produce the fastest lightweight crawlers we weight the velocity parameter positively and structure size parameter negatively. Eventually we will get small and fast creatures.

Figure 1 Examples of creatures evolved in the populations of framsticks in the dry and flat world

In a course of "spontaneous" evolution we may not define any explicit parameters of selection but just general rules of the evolution, such as outcomes of the collisions between the creatures, utilisation of dead creatures, ageing rate, specifics of muscular work and so on. Neither of these parameters guides evolution: only the creatures with longest life benefit. A few examples of spontaneously evolved creatures are shown in Figure 1.

Graphics

While working with Framsticks one can choose among three representations of the artificial world. The first one is a "draft" picture of the world, where no graphical enhancement is done. However, it is fast, and all forms of creatures and terrain are perfectly recognisable (see, for example, Figure 2).

OpenGL[4] visualisation is the second option. Creatures are displayed as truly three-dimensional forms, and the world itself becomes realistic.

Figure 2 Several copies of backswimmers surfing under the surface of water

It is also possible in Framsticks to export the entire configuration of the artificial world in the format acceptable by POV-Ray; powerful and available for free ray tracer[5]. This is the third option. Images output by ROV-Ray have stunning photo-realistic quality (see, for example, Figure 1). They can be used as still pictures or assembled into vivid animations.

Personal experience

At first I decided to breed some non-trivial swimming creature. In the artificial world I set up the water level above zero and put one-stick creature with no neurons, no receptors and no muscles in this bath. I adjusted simulation parameters to select creatures by both velocity and structure size. After circa 11,000 generations of the creatures, during which I intervened in the evolution process and quite subjectively chose nice examples, I decided to finish the play and picked up the fastest one. This creature consisted of 20 sticks, six neurons, a couple of muscles and one G-receptor, responsible for a "sense of equilibrium". I called this creature back-swimmer because it swims backwards: two branches of joint sticks form some kind of "legs" which move and grab water, allowing the creature to move. As you can see in the snapshot (Figure 2) of an artificial aquarium with back-swimmers, several sticks of a creature float on the surface of the water, thus keeping the rest of the creature's body in medium levels of the water. Thanks to these floating sticks Back-swimmers do not fall on the bottom of the aquarium. Several other sticks not included in the set of "legs" and floating apparatus form a structure, which resembles a human body with arms, as a kid would scribble it. Continuing the analogy we say the creature swims not head but legs forward.

At the second experiment I allowed evolution to flow uninterrupted. Again, I put the only stick without neurons or muscles in the water bath. Thousands of generations had gone and the fastest creature had been bred eventually. We call it snake because it moves in the water by propagating a travelling undulation from "head" to "tail".

Snake consists of eight sticks and nine neurons (Figure 3). Most muscles are bend muscles and one muscle is a stick rotation muscle. The level receptor controls the vertical position of the creature in the water. From the neural network shown in Figure 3 we see that first four neurons form quite typical oscillatory connections, i.e. once excited, the excitation persists and spreads along the creature. Oscillations in the excitation determine periodical contraction of muscles and so typical snake-like movement of the creature. Remarkably, density of the neural connections is higher at the head end of the creature; i.e. we can say that a head ganglion is formed. Most creatures in the population look like this one. Any attempts to increase morphological diversity of the populations remained unsuccessful. Also, you probably noted that no receptors, except the level-receptor, are found in the evolved creatures. This is because we selected simply the fastest creatures, not those who are good food finders.

Figure 3 This is a home-made schema of the snake-like creature

Back to neuro-morphology of the snake-like creature, I was pleased to find that the evolved neural circuit, architecture of which is a bit chaotic, achieves nevertheless control efficiency similar to the classical models of swimming controllers (Ekeberg, 1993). Also high density of "synaptic" contacts at the front end of the creature make us think about primordial brains, or, more realistically, ganglia-like groups of neurons.

From framsticks to stiquitos

Real robots built of sticks are not a wonder nowadays (Conrad and Mills, 1997). We also know examples of human supervised evolution in the populations of physical living machines (Hasslacher and Tilden, 1995). A so-called BEAM approach is one of the advanced and widely recognised projects. It employs minimalist electronics, reusability of electronic components and solar energy (BEAM, 1999). So, we have powerful software to realistically evolve virtual bio-robots on the one side (Komosiski and Ulatowski, 1999) and biology-based methodology to engineer (Hasslacher and Tilden, 1995) robots on another side. Therefore we can imagine a conveyer where electronic components are specified in the genotype of artificial creatures, a purpose of robot functioning is encoded in selection criteria and a population of robots is evolved for a certain period of time. The best individuals are implemented in hardware and continue their evolution in the real world. Some of them may return to the simulated world and join their virtual fellows. Such interaction of simulated and real populations of robots erases boundaries between imagined and real worlds.

Future development

Framsticks software has been regularly updated since 1997. Every new version brings more attractive features. What shall we expect from the future realisations? The next version of Framsticks with three types of advanced encoding of the genotype will be released soon. This will include developmental and more realistic biology-based encoding. Hopefully, we will be able to design any kind of structures, not only trees of the sticks. This will give us an opportunity to fabricate virtual distributed robots. These mass-parallel creatures with lattice frames will get arrays of sensors coupled with arrays of actuators via neural networks with regular topologies (Adamatzky and Melhuish, 2000).

Other features include standalone graphical network interface, more realistic mechanical simulation, and spontaneous, open-ended and distributed scenarios of evolution. The scenario of distributed evolution will certainly attract hundreds of new users. While preparing the review I have been told that Framsticks will participate at InfoSystem-2000 exhibition in Poznan. Following the schedule of the show the creatures will be scattered across Poland and will evolve in parallel (probably communicating via Internet links). The best individuals are to be visualised then in real-time on high performance graphical stations.

Distribution

The compiled software together with manual can be downloaded from the Framsticks Web site at http://www.frams.poznan.pl/, where links to numerous examples, to colour illustrations and movies of evolved creatures can also be found. Framsticks is a shareware program. The registration fee is rather nominal and the software itself is a rare case when you really want to support creators and to contribute towards the further development. For further details, and all enquiries concerning licensing, research and consulting, e-mail support@frams.poznan.pl

Andrew AdamatzkyIntelligent Autonomous Systems LabUniversity of the West of EnglandAndrew.Adamatzky@uwe.ac.uk

Notes

  1. 1.

    This software certainly evokes a lot of enthusiasm in younger audiences because it is full of cartoon-like graphics and features intuitive controls.

  2. 2.

    The information about structure and functioning of Framsticks has been gained on the Framsticks official Web site http://www.frams.poznan.pl/

  3. 3.

    We try to keep, where possible, the original terminology of Framsticks, as it is presented in the manual, even if this disagrees with conventional notations.

  4. 4.
  5. 5.

References

Adamatzky, A. and Melhuish, C. (2000), "Parallel controllers for decentralised robots: toward nanodesign", Kybernetes, in print.BEAM (1999), http://www.solarbotics.comConrad, J.M. and Mills, J.W. (1997), Stiquito: Advanced Experiments with a Simple and Inexpensive Robot, IEEE Computer Science Press, Piscataway, NJ.Dawkins, R. (1990), Blind Watchmaker, Penguin Books, Harmondsworth.Ekeberg, O. (1993), "A combined neuronal and mechanical model of fish swimming", Biological Cybernetics, Vol. 69, pp. 363-74.Hasegawa, Y., Ito, Y. and Fukuda, T. (1999), "Behaviour adaptation on behavior-based controller for brachiation robot", Lecture Notes in Artificial Intelligence, Vol. 1674, pp. 295-303.Hasslacher, B. and Tilden, M.W. (1995), "Living machines", Robotics and Autonomous Systems, Vol. 15, pp. 143-69.Komosiski, M. and Ulatowski, S. (1999), "Framsticks: towards a simulation of a nature-like world, creatures and evolution", Lecture Notes in Artificial Intelligence, Vol. 1674, pp. 261-5.Sims, K. (1994), "Evolving 3D morphology and behaviour by competition", Artificial Life IV: Proc. 4th Intern. Conf. Artificial Life, The MIT Press, Cambridge, MA, pp. 28-39.Usami, Y., Saburo, H., Inaba, S. and Kitaoka, M. (1998), "Reconstruction of extinct animals in the computer", Artificial Life VI: Proc. 6th Intern. Conf. Artificial Life, A Bradford Book, The MIT Press, Cambridge, MA, pp. 173-86.Ventrella, J. (1998), "Attractiveness vs. efficiency", Artificial Life VI: Proc. 6th Intern. Conf. Artificial Life, A Bradford Book, The MIT Press, Cambridge, MA, pp. 173-86.Ventrella, J. (1999), http://www.ventrella.com

Related articles