Reactive behaviour for autonomous virtual agents using fuzzy logic
MetadataShow full item record
One of the fundamental aspects of a virtual environment is the virtual agents that inhabit them. In many applications, virtual agents are required to perceive input information from their environment and make decisions appropriate to their task based on their programmed reaction to those inputs. The research presented in this thesis focuses on the reactive behaviour of the agents. We propose a new control architecture to allow agents to behave autonomously in navigation tasks in unknown environments. Our behaviour-based architecture uses fuzzy logic to solve problems of agent control and action selection and which can coordinate conflicts among different operations of reactive behaviours. A Fuzzy Associative Memory (FAM) is used as the process of encoding and mapping the input fuzzy sets to the output fuzzy set and to optimise the fuzzy rules. Our action selection algorithm is based on the fuzzy α-level method with the Hurwicz criterion. The main objective of the thesis was to implement agent navigation from point to point by a coordination of planning, sensing and control. However, we believe that the reactive architecture emerging from this research is sufficiently general that it could be applied to many applications in widely differing domains where real-time decision making under uncertainty is required. To illustrate this generality, we show how the architecture is applied to a different domain. We chose the example of a computer game since it clearly demonstrates the attributes of our architecture: real-time action selection and handling uncertainty. Experimental results are presented for both implementations which show how the fuzzy method is applied, its generality and that it is robust enough to handle different uncertainties in different environments. In summary, the proposed reactive architecture is shown to solve aspects of behaviour control for autonomous virtual agents in virtual environments and can be applied to various application domains.