A fuzzy logic controller (FLC) for mobile robots is designed in hierarchical structure. The designed FLC consists of two levels: the planner level and the motion control level. The planner level generates a path to the destination by avoiding obstacles. The singleton outputs of the planner are obtained by using lines and arc methods. The lower motion control level calculates the robot's wheel velocity so as to follow the path generated by the planner as to the current robot posture. The fuzzy singleton outputs are obtained by heuristics and tuned by evolutionary programming. The applicability of the controller is demonstrated by using robot soccer system.