next up previous contents
Next: Artificial Fish Types Up: Behavior Routines Previous: Primitive Behavior: Avoiding Potential Collisions

Primitive Behavior: Moving Target Pursuit

To enable an artificial fish to follow a moving target, we have implemented a routine chasing-target. This routine plays a crucial role in several higher-level behavior routines such as mating.



Fig. gif outlines the chasing-target( tex2html_wrap_inline3632 , I, tex2html_wrap_inline3636 ) routine, where tex2html_wrap_inline3632 (Fig. gif) is the 3D position of the target in the fish's local coordinate system , I is an integer indexing the fish's current intention, and tex2html_wrap_inline3642 is a threshold angle indicating how closely in direction (orientation) the fish should follow the target. The closeness is measured by E where tex2html_wrap_inline3646 is the angle between the fish's orientation tex2html_wrap_inline2962 and the projection of tex2html_wrap_inline3632 onto the local tex2html_wrap_inline3652 -plane (Fig. gif). In most cases (i.e. when I= mate, I= leave, and I= school), tex2html_wrap_inline3636 is a nonzero constant (e.g. tex2html_wrap_inline3662 when I= school) so that the fish can quickly approach the target in roughly the right direction rather than spending most of its time steering without making much progress. When I = eat, tex2html_wrap_inline3636 is given according to the distance d to the target ( tex2html_wrap_inline3672 ). In general, when the target is far away (i.e. d is greater than a threshold value), tex2html_wrap_inline3636 is relatively large so that the fish can rapidly home into the target. When the target is near, tex2html_wrap_inline3636 decreases to provide more targeting accuracy.

The output of chasing-target is the activation of one of the following muscle motor controllers: tex2html_wrap_inline3680 , tex2html_wrap_inline3682 , tex2html_wrap_inline3684 , along with the activation of one of the pectoral fin motor controllers: ascend-MC tex2html_wrap_inline3686 , descend-MC tex2html_wrap_inline3686 and brake-MC tex2html_wrap_inline3690 . The speed parameter is set based upon the distance d, such that the fish swims at full speed when the target is far, and in order to gain more control over steering, slows down as it approaches the target. The fin angle control parameter tex2html_wrap_inline3054 is calculated from the up-down angle tex2html_wrap_inline3696 (Fig. gif):


When tex2html_wrap_inline3704 , the ascend-MC is invoked and when tex2html_wrap_inline3706 , the descend-MC is invoked. When braking is needed in the schooling or mating behaviors, the brake-MC is invoked.

Furthermore, when I= eat the angle parameters of the turn-MCs are calculated by taking into account the velocity with which the target moves. For example, consider the case when the target is located to the right of the fish and is moving to the right. Suppose that tex2html_wrap_inline3710 and the matching set of motor control parameters for E from the steering map is tex2html_wrap_inline3714 (see Fig. gif), then, to anticipate the movement of the target, tex2html_wrap_inline3716 (obtained by a right shift from E), rather than tex2html_wrap_inline3714 , is output to indicate an `overshot turn'. The amount of the shift is proportional to the speed with which the target is traveling. This maneuver, observed in predatory animals when pursuing a prey, is referred to as `interception' by ethologists [Chauvin and Muckensturm-Chauvin1977].



Figure: A peaceful marine world.



Figure: The smell of danger.

next up previous contents
Next: Artificial Fish Types Up: Behavior Routines Previous: Primitive Behavior: Avoiding Potential Collisions
Xiaoyuan TuJanuary 1996