Collision avoidance is one of the most important and most commonly performed behaviors in all animals. Once the artificial fish's perception system detects a potential collision (see Section ), it immediately acts to avoid it. Collision avoidance with a static obstacle and with another fish are implemented by the behavior routines avoiding-static-obstacle and avoiding-fish, respectively. They operate in much the same way: Given the relative position of an obstacle, an appropriate action (e.g. left-turn-MC) is chosen subject to the motor preferences imposed by other surrounding stimuli. Then the proper control parameters for the chosen motor skill(s), such as the speed and angle of turn, are calculated using the sensory information about that obstacle as well as available motor preferences.
For efficiency the avoiding-fish routine treats the dynamic obstacle as a rectangular bounding box moving in a certain direction. Although collisions between fish cannot always be avoided, bounding boxes can easily be adjusted such that they almost always are, and the method is efficient.
|Xiaoyuan Tu||January 1996|