next up previous contents
Next: Pectoral Fin Motor Controllers Up: Motor Controllers Previous: Motor Controllers

Muscle Motor Controllers

Muscle motor controllers implement the designated motor functions by controlling the contractions of the twelve muscles.gif 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 ( tex2html_wrap_inline2872 ) converts a swim speed parameter into contraction amplitude and frequency control parameters for the anterior ( tex2html_wrap_inline2874 , tex2html_wrap_inline2876 ) and posterior ( tex2html_wrap_inline2878 , tex2html_wrap_inline2880 ) 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 tex2html_wrap_inline2882 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 tex2html_wrap_inline2874 and tex2html_wrap_inline2878 to be real numbers in the range (0,1], where 0 corresponds to the muscle's fully contracted length tex2html_wrap_inline2890 and 1 to the muscle's natural rest length tex2html_wrap_inline2892 . The frequency control parameters tex2html_wrap_inline2876 and tex2html_wrap_inline2880 are expressed as the length of contraction per time step and are in the range tex2html_wrap_inline2898 , where tex2html_wrap_inline2900 represents the maximum frequency ( tex2html_wrap_inline2902 in our implementation). Through experimentation, we have found a set of four optimal parameters, tex2html_wrap_inline2904 , tex2html_wrap_inline2906 , tex2html_wrap_inline2908 and tex2html_wrap_inline2910 , 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, tex2html_wrap_inline2912 results in a slower-swimming fish. Fig. gif and Fig. gif show snapshots of an artificial fish during caudal swimming motion.gif Note the resemblance between the shape of the artificial fish during swimming and that of a natural fish during swimming shown in Fig. gif.



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. gif) 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
( tex2html_wrap_inline2914 ) 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 tex2html_wrap_inline2916 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. gif) 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. gif shows the motion of an artificial fish when making a 90-degree turn.

Figure: The steering map.

Figure: The turning motion of the artificial fish.

The gliding motor controller ( tex2html_wrap_inline2918 ) 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.

next up previous contents
Next: Pectoral Fin Motor Controllers Up: Motor Controllers Previous: Motor Controllers
Xiaoyuan TuJanuary 1996