Muscle motor controllers implement the designated motor functions by
controlling the contractions of the twelve muscles.
According to Webb Webb89, given
the length of the fish body, the swimming speed of most fishes below
certain threshold values is roughly proportional to the amplitude and
frequency of the periodic lateral oscillations of the tail. Our
experiments with the mechanical model agree well with these
observations. Both the swimming speed and the turn angle of the fish
model are approximately proportional to the contraction amplitudes and
frequencies/rates of the muscles.
The swim-MC (
) converts a swim speed parameter into contraction
amplitude and frequency control parameters for the anterior (
,
) and posterior (
,
) swimming segments. One pair of
parameters suffice to control each of the two swim segments because of
symmetry--the four muscles have identical rest lengths, minimum
contraction lengths, elasticity constants, and the relaxations of the
muscle pair on opposite sides are exactly out of phase. Moreover, the
swim-MC produces periodic muscle contractions in the posterior
swim segment that lag
radians behind those of the anterior swim
segment; hence the mechanical model displays a sinusoidal body shape
as the fish swims [Webb1989, Blake1983].
For convenience, we define the contraction amplitude control
parameters
and
to be real numbers in the range (0,1],
where 0 corresponds to the muscle's fully contracted length
and 1 to the muscle's natural rest length
. The frequency
control parameters
and
are expressed as the length of
contraction per time step and are in the range
, where
represents the maximum frequency (
in our
implementation). Through experimentation, we have found a set of four
optimal parameters,
,
,
and
, which produce the fastest swimming speed. The
swim-MC generates slower swim speeds by specifying parameters that
induce smaller contraction amplitude and frequency than the optimal
parameters do. For example,
results in a slower-swimming fish.
Fig.
and Fig.
show snapshots of
an artificial fish during caudal swimming motion.
Note the resemblance between the shape of the artificial
fish during swimming and that of a natural fish during swimming shown
in Fig.
.
Figure: Top-front view of an artificial fish during caudal swimming motion.
Most fishes use their anterior muscles for turning and, up to the
limit of the fish's physical strength, the turn angle is approximately
proportional to the degree and speed of the anterior bend
[Webb1989]. The artificial fish turns by contracting and relaxing
the muscles of the turning segments (see Fig.
) in a
similar fashion. For example, a left turn is achieved by contracting
the left side muscles of the segments and relaxing those on the right
side at a high speed. This effectively subdues the fish's inertia and
brings it to the desired orientation. Then the contracted muscles are
restored to their natural rest lengths at a slower rate, so that the
fish regains its original shape with minimal further change in
orientation.
Analogous to the swim motor controller, the left and right turn motor
controllers
(
) convert a turn angle to control parameters for the
anterior and posterior turning segments to execute the turn (note that
the posterior turning segment also serves as the anterior swim
segment). Through experimentation, we established 4 sets of parameter
values
which enable the fish to
execute natural looking turns of approximately 30, 45, 60, and 90
degrees. By interpolating the key parameters, we define a steering map
(Fig.
) that allows the fish to generate turns of
approximately any angle, up to 90 degrees. Turns greater than 90
degrees are composed of sequential turns of lesser angles.
Fig.
shows the motion of an artificial fish when
making a 90-degree turn.
Figure: The turning motion of the artificial fish.
The gliding motor controller (
) lets the
fish glide through simulated water for up to t time steps. Within
the specified time period, all muscles that are not at their natural
rest lengths are relaxed to their natural rest lengths so that the
fish engages in the next motor function with its original, undeformed
shape. The glide-MC induces smooth transitions between the
execution of different motor controllers and hence allows the fish to
move with the graceful manner of real fish.
| Xiaoyuan Tu | January 1996 |