Design of high-level control systems for autonomous agents, such as mobile robots, is a challenging task. The complexity of robotic tasks, the number of inputs and outputs of such systems and their inherent ambiguity preclude the designer from finding an analytical description of the problem. Using the technology of fuzzy sets, it is possible to use general knowledge and intuition to design a fuzzy control system that encodes the relationships in the control domain into the form of fuzzy rules. However, control systems designed in this way are severely limited in size and are usually far from being optimal. In this paper, several techniques are combined to overcome such limitations. The control system is selected in the form of a general fuzzy rule based system. Antecedents of this system correspond to various situations encountered by the robot and are partitioned using a fuzzy clustering approach. Consequents of the rules describe fuzzy sets for change of heading necessary to avoid collisions. While the parameters of input and output fuzzy sets are designed prior to robot engagement in real world, the rules to govern its behaviour are acquired autonomously endowing the robot with the ability to continuously improve its performance and to adapt to changing environment. This process is based on reinforcement learning that is well suited for on-line and real-time learning tasks.