(Emergent Morphology)

6 Motor Control

McKenna (90) has developed a virtual roach which attains locomotion through oscillators in each of the six legs. Coupling of the oscillators, which operate at coordinated frequencies, generates different rhythms determining a set of gaits. In a similar fashion (yet much simpler), this system utilizes a rhythmic motor control program which consists of a combination of sinusoidal angular motions in multiple limbs. The differences from one animat's motor program to another can vary greatly according to genetic variation. An animat's motor program is continually active at all times and cannot change during its lifetime. Unlike the figures modeled by Ngo and Marks (93), and van de Panne and Fiume (93), which incorporate a stimulus/response model for controlling motion (physical-based motor control), these animats use a time-based motor control system.

The genes which affect motion are expressed somewhat differently than in the case of morphology. Attributes of motions within the whole collection of joints are created by one number-series generating function, as a way to coordinate them. This function takes five control parameters (determined by five genes) as input, plus the number of joints, and it generates a periodic series as output. Each number of the series corresponds to one joint angle in the animat. The following pseudo-code example illustrates this function.


INPUT: 	size, start, step, low, high, number_of_joints;
_______________________________________________________

integers:     size, start, step, number_of_joints;
real numbers: low, high;

 BEGIN
  number = start;

  LOOP from (index=1) to (index=number_of_joints):
   (
    number = number + step;
    output_parameter[index] = low + (number MOD size)/size * (high - low);
   )

 END;
_______________________________________________________
OUTPUT: a periodic series of real-number parameter values


The purpose of this scheme is to allow a small number of genes to determine an indefinitely long series of values to control motions in multiple limbs, where the number of limbs can vary. The series is periodic to encourage regularity, yet with a large number of possible polyrhythms in the total animat's motions. Thus, an animat can move all its limbs either in total synchrony, with various wave motions, in alternating fashions, or irregularly. In embryological expression from genotype to phenotype, the periodic series generator is used to determine six motion attributes (with six associated sets of five genes determining the inputs to the function). The six motion attributes, for the whole series of joints, are:

amplitude of sine wave motion in the pitch angle of the joint
amplitude of sine wave motion in the yaw angle of the joint
phase offset of the pitch angle sine wave
phase offset of the yaw angle sine wave
on-off switch to enable or disable the joint's pitch angle motion
on-off switch to enable or disable the joint's yaw angle motion

In addition to the genes controlling these motions, there is one global rate gene which controls the overall frequency of sine motions in all the joints.

7 Evolution

(go to beginning of document)