A fuzzy-rule-based driving architecture for non-player characters in a car racing game

Videogame-based competitions have been the target of considerable interest among researchers over the past few years since they provide an ideal framework in which to apply soft computing techniques. One of the most popular competitions is the Simulated Car Racing Competition which, thanks to the realism implemented by recent car simulators, provides an excellent test bed for the application of autonomous driving techniques. The present work describes the design and implementation of a car controller able to deal with competitive racing situations. The complete driving architecture consists of six simple modules, each one responsible for a basic aspect of car driving. Three modules use simple functions to control gear shifting, steering movements, and pedal positions. A fourth manages speed control by means of a simple fuzzy system. The other two modules are in charge of (i) adapting the driving behaviour to the presence of other cars, and (ii) implementing a basic ‘inter-lap’ learning mechanism in order to remember key track segments and adapt the speed accordingly in future laps. The controller was evaluated in two ways. First, in runs without adversaries over several track designs, our controller allowed some of the longest distances to be covered in a set time in comparison with data from other previous controllers, and second, as a participant in the 2009 Simulated Car Racing Competition which it ended up winning.

[1]  Peter J. Angeline,et al.  Genetically Optimizing The Speed of Programs Evolved to Play Tetris , 1996 .

[2]  Justinian Rosca,et al.  Generality versus size in genetic programming , 1996 .

[3]  Ricardo García Rosa,et al.  Modeling a fuzzy coprocessor and its programming language , 1998 .

[4]  Julian Togelius,et al.  The 2007 IEEE CEC simulated car racing competition , 2008, Genetic Programming and Evolvable Machines.

[5]  Dap Hartmann,et al.  BEHIND DEEP BLUE , 2003 .

[6]  Jonathan Schaeffer,et al.  Checkers Is Solved , 2007, Science.

[7]  Julian Togelius,et al.  The WCCI 2008 simulated car racing competition , 2008, 2008 IEEE Symposium On Computational Intelligence and Games.

[8]  Pedro Isasi Viñuela,et al.  Evolving a fuzzy controller for a Car Racing Competition , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[9]  Francisco Herrera,et al.  Tuning fuzzy logic controllers by genetic algorithms , 1995, Int. J. Approx. Reason..

[10]  Tzung-Pei Hong,et al.  Applying genetic algorithms to game search trees , 2002, Soft Comput..

[11]  Martin V. Butz,et al.  Optimized sensory-motor couplings plus strategy extensions for the TORCS car racing challenge , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[12]  Vicente Milanés Montero,et al.  A modular parametric architecture for the TORCS racing engine , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[13]  Abdollah Homaifar,et al.  Simultaneous design of membership functions and rule sets for fuzzy controllers using genetic algorithms , 1995, IEEE Trans. Fuzzy Syst..

[14]  John Schloman,et al.  Genetic programming evolves a human-competitive player for a complex, on-line, interactive, multi-player game of strategy , 2001 .

[15]  Jonathan Schaeffer,et al.  One Jump Ahead: Computer Perfection at Checkers , 2008 .

[16]  Lotfi A. Zadeh,et al.  Fuzzy Sets , 1996, Inf. Control..

[17]  John E. Laird,et al.  Research in human-level AI using computer games , 2002, CACM.

[18]  G. Aranguren,et al.  Autonomous vehicle guidance with fuzzy algorithm , 2000, 2000 26th Annual Conference of the IEEE Industrial Electronics Society. IECON 2000. 2000 IEEE International Conference on Industrial Electronics, Control and Instrumentation. 21st Century Technologies.

[19]  Simon M. Lucas,et al.  Computational Intelligence and AI in Games: A New IEEE Transactions , 2009, IEEE Transactions on Computational Intelligence and AI in Games.

[20]  Araceli Sanchis,et al.  Controller for TORCS created by imitation , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[21]  Julian Togelius,et al.  Simulated car racing , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[22]  E LairdJohn Research in human-level AI using computer games , 2002 .

[23]  Julian Togelius,et al.  The 2009 Simulated Car Racing Championship , 2010, IEEE Transactions on Computational Intelligence and AI in Games.

[24]  Vicente Milanés Montero,et al.  Autonomous car fuzzy control modeled by iterative genetic algorithms , 2009, 2009 IEEE International Conference on Fuzzy Systems.