Learning to Dance
next
Now the fun part...
The robots can each perform a sequence of four motions, followed by a
spin-in-place so we can see when they are finished. There are four
possible motions, forward and backward with left and right turns, so
the whole sequence has 256 possibilities.
When they are free of obstacles they synchronize with another robot and
decide on a motion to execute at each step. The motion is selected
based on its evaluation and its evaluation is increased each time it is
executed. At the beginning of a new sequence the robots select a new
partner and repeat the dance.
In this way preferred motion sequences are passed between pairs of the
collective like gene
sequences. Eventually everyone comes to agree on one or two dance steps
to perform.
To make it easier to see, in the knockout
experiment I put four of the guys up on blocks and let them run with
one in arena. On the left they are starting out, and you can see that
there are a lot of different sequences being tried. On the right is
after the learning period when only a few steps are repeated.
An interesting observation is that they seem to avoid each other better
after
they learn to dance.