Car Racing Competition
Dec 18, 2015
Car Racing Competition
Goal Learn or design a controller for TORCS that
races as fast as possible alone or in the presence of others drivers
“Spiritual successor” of CEC 2007 Competition
Car Racing Competition meets TORCS More representative of real game AI Better interaction with human players Many good programmed controllers
available Challenges
How to make it easy accessible? Not designed for Machine Learning! More similar to a real-world problem
The Open Racing Car Simulator
The Open Racing Car Simulator TORCS is a state of the art open source simulator written in
C++ Main features
Sophisticated dynamics Provided with several
cars, tracks, and controllers
Active community of users and developers
Easy to develop your own controller
OS Support Linux: binaries and building from sources suppo Windows: binaries and “limited” bulding from sources support OSX: legacy binaries and no building from sources support
Competition API To make TORCS more easy to
use we developed an API based on socket (UDP)
Values of sensors and effectors are sent through UDP
3 components Torcs Patch Server Bot (C++) Client API (C++ and Java)
Server BOT
TORCS
Client Controlller
Client Controlller
Patch
UDP
Sensors
Track Sensors
Opponent Sensors
Rangefinders to sense Opponents Edges of the track
Speed Position on track Rotation speed of wheels RPM Angle with track Distance raced Fuel and damage ...
Effectors Basically 4 effectors
Steering wheel [-1,+1] Gas pedal [0, +1] Brake pedal [0,+1] Gearbox {-1,0,1,2,3,4,5,6}
Rule Hand coding controller were allowed Unknown Track Distance raced by each controller within
10000 tics(200 sec)
The Results
Submissions 5 entries have been submitted to the
competition: Matt Simmerson Leonard Kinnaird-Heether – Wayne State University Chin Hiong Tan – National University of Singapore Diego Perez - University Carlos III, Madrid Simon Lucas – University of Essex
3 more controllers have been considered Daniele’s heuristic C++ controller Julian’s heuristic Java controller Luigi Cardamone - Politecnico di Milano
Scoring setup A server with 2 Quad-core Xeon 2.66 GHz,
8GB RAM, running Fedora Core 6
Scoring process Scoring is a two stage process involving three
tracks (unknown to the competitors): RUUDSKOGEN STREET1 D-SPEEDWAY
In the first stage only a controller at once is tested and performance is defined as the distance covered within 10000 game tics
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
First Stage: RUUDSKOGEN
0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00
Distance Raced
TAN
DIEGO
SIMON
LUIGI
DANIELE
JULIAN
MATT
LEONARD
RUUDSKOGEN
First Stage: STREET1
0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00 7000.00
Distance Raced
JULIAN
DIEGO
TAN
LEONARD
DANIELE
SIMON
LUIGI
MATT
STREET1
First Stage: D-SPEEDWAY
-2000 0 2000 4000 6000 8000 10000 12000 14000 16000 18000
Distance Raced
DIEGO
JULIAN
DANIELE
TAN
MATT
SIMON
LEONARD
LUIGI
D-SPEEDWAY
First Stage: overall results
RUUDS KOGE N S TRE E T1 D-S PE E DWAY TOTALMATT 8 10 5 23L E ONARD 10 4 8 22L UIG I 4 8 10 22S IMON 3 6 6 15DANIE L E 5 5 3 13J UL IAN 6 1 2 9TAN 1 3 4 8DIE GO 2 2 1 5
F1 point system is used to compute the final scores of the controllers on the 3 tracks
Second Stage: Competition League
RUUDSKOGEN STREET1 D-SPEEDWAY TOTALMATT 10 10 6 26
LEONARD 4 8 10 22SIMON 6 6 8 20
TAN 5 5 5 15DIEGO 5.5 4.5 4 14
Also in this stage, F1 point system is used to compute the final score
Second Stage: Full League
RUUDSKOGEN STREET1 D-SPEEDWAY TOTALMATT 10 8 6 24
LEONARD 3 10 8 21LUIGI 6 4 10 20
SIMON 4 6 5 15DANIELE 6 4 3 13
TAN 4 3 4 11JULIAN 2 5 4 11DIEGO 5 3 2 10
Summary of results 3 learned controllers are significantly
better than programmed controllers Some possible overfitting to training
tracks? Poor performance in avoiding and
overtaking opponents Some problems with recovery behavior Still more work to reach the performance
of controllers provided with TORCS but initial results are promising!
TORCS Official Site
http://torcs.sourceforge.net/ Source Code Download
http://torcs.sourceforge.net/index.php?name=Sections&op=viewarticle&artid=3
Robot Tutorial http://www.berniw.org/