Car Racing Competition at WCCI2008


Published on

Results of the Car Racing Competition held at the 2008 IEEE World Congress on Computational Intelligence, organized by Daniele Loiacono, Julian Togelius, Pier Luca Lanzi
More information available at

Published in: Business, Automotive
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Car Racing Competition at WCCI2008

    1. 1. Car Racing Competition Daniele Loiacono, Julian Togelius and Pier Luca Lanzi WCCI, 3 June 2008,Hong Kong
    2. 2. Goal <ul><li>Learn or design a controller for TORCS that races as fast as possible alone or in the presence of others drivers </li></ul><ul><li>“Spiritual successor” of CEC 2007 Competition </li></ul>
    3. 3. Car Racing Competition meets TORCS <ul><li>More representative of real game AI </li></ul><ul><li>Better interaction with human players </li></ul><ul><li>Many good programmed controllers available </li></ul><ul><li>Challenges </li></ul><ul><ul><li>How to make it easy accessible? </li></ul></ul><ul><ul><li>Not designed for Machine Learning! </li></ul></ul><ul><ul><li>More similar to a real-world problem </li></ul></ul>
    4. 4. The Open Racing Car Simulator
    5. 5. The Open Racing Car Simulator <ul><li>TORCS is a state of the art open source simulator written in C++ </li></ul><ul><li>Main features </li></ul><ul><ul><li>Sophisticated dynamics </li></ul></ul><ul><ul><li>Provided with several cars, tracks, and controllers </li></ul></ul><ul><ul><li>Active community of users and developers </li></ul></ul><ul><ul><li>Easy to develop your own controller </li></ul></ul><ul><li>OS Support </li></ul><ul><ul><li>Linux: binaries and building from sources suppo </li></ul></ul><ul><ul><li>Windows: binaries and “limited” bulding from sources support </li></ul></ul><ul><ul><li>OSX: legacy binaries and no building from sources support  </li></ul></ul>
    6. 6. Competition API <ul><li>To make TORCS more easy to use we developed an API based on socket (UDP) </li></ul><ul><li>Values of sensors and effectors are sent through UDP </li></ul><ul><li>3 components </li></ul><ul><ul><li>Torcs Patch </li></ul></ul><ul><ul><li>Server Bot (C++) </li></ul></ul><ul><ul><li>Client API (C++ and Java) </li></ul></ul>Server BOT TORCS Client Controlller Patch UDP
    7. 7. Sensors <ul><li>Rangefinders to sense </li></ul><ul><ul><li>Opponents </li></ul></ul><ul><ul><li>Edges of the track </li></ul></ul><ul><li>Speed </li></ul><ul><li>Position on track </li></ul><ul><li>Rotation speed of wheels </li></ul><ul><li>RPM </li></ul><ul><li>Angle with track </li></ul><ul><li>Distance raced </li></ul><ul><li>Fuel and damage </li></ul><ul><li>... </li></ul>Track Sensors Opponent Sensors
    8. 8. Effectors <ul><li>Basically 4 effectors </li></ul><ul><ul><li>Steering wheel [-1,+1] </li></ul></ul><ul><ul><li>Gas pedal [0, +1] </li></ul></ul><ul><ul><li>Brake pedal [0,+1] </li></ul></ul><ul><ul><li>Gearbox {-1,0,1,2,3,4,5,6} </li></ul></ul>
    9. 9. The Results
    10. 10. Submissions <ul><li>5 entries have been submitted to the competition: </li></ul><ul><ul><li>Matt Simmerson </li></ul></ul><ul><ul><li>Leonard Kinnaird-Heether – Wayne State University </li></ul></ul><ul><ul><li>Chin Hiong Tan – National University of Singapore </li></ul></ul><ul><ul><li>Diego Perez - University Carlos III, Madrid </li></ul></ul><ul><ul><li>Simon Lucas – University of Essex </li></ul></ul><ul><li>3 more controllers have been considered </li></ul><ul><ul><li>Daniele’s heuristic C++ controller </li></ul></ul><ul><ul><li>Julian’s heuristic Java controller </li></ul></ul><ul><ul><li>Luigi Cardamone - Politecnico di Milano </li></ul></ul>
    11. 11. Scoring setup <ul><li>A server with 2 Quad-core Xeon 2.66 GHz, 8GB RAM, running Fedora Core 6 </li></ul>
    12. 12. Scoring process <ul><li>Scoring is a two stage process involving three tracks (unknown to the competitors): </li></ul><ul><ul><li>RUUDSKOGEN </li></ul></ul><ul><ul><li>STREET1 </li></ul></ul><ul><ul><li>D-SPEEDWAY </li></ul></ul><ul><li>In the first stage only a controller at once is tested and performance is defined as the distance covered within 10000 game tics </li></ul><ul><li>In the second stage all the controllers (except the three not in the competition) race at the same time and performance is defined simply as the arrival order after 3 laps </li></ul>
    13. 13. First Stage: RUUDSKOGEN
    14. 14. First Stage: STREET1
    15. 15. First Stage: D-SPEEDWAY
    16. 16. First Stage: overall results <ul><li>F1 point system is used to compute the final scores of the controllers on the 3 tracks </li></ul>
    17. 17. Second Stage: Competition League <ul><li>Also in this stage, F1 point system is used to compute the final score </li></ul>
    18. 18. Second Stage: Full League
    19. 19. Summary of results <ul><li>3 learned controllers are significantly better than programmed controllers </li></ul><ul><li>Some possible overfitting to training tracks? </li></ul><ul><li>Poor performance in avoiding and overtaking opponents </li></ul><ul><li>Some problems with recovery behavior </li></ul><ul><li>Still more work to reach the performance of controllers provided with TORCS but initial results are promising! </li></ul>