Car Racing Competition

Download Report

Transcript Car Racing Competition

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)
TORCS
Patch
Server BOT
UDP
Client
Controlller
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
...
Opponent Sensors
Track Sensors
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
RUUDSKOGEN
LEONARD
MATT
JULIAN
DANIELE
LUIGI
SIMON
DIEGO
TAN
0.00
1000.00
2000.00
3000.00
4000.00
Distance Raced
5000.00
6000.00
7000.00
First Stage: STREET1
STREET1
MATT
LUIGI
SIMON
DANIELE
LEONARD
TAN
DIEGO
JULIAN
0.00
1000.00
2000.00
3000.00
4000.00
Distance Raced
5000.00
6000.00
7000.00
First Stage: D-SPEEDWAY
D-SPEEDWAY
LUIGI
LEONARD
SIMON
MATT
TAN
DANIELE
JULIAN
DIEGO
-2000
0
2000 4000
6000
8000 10000 12000 14000 16000 18000
Distance Raced
First Stage: overall results

F1 point system is used to compute the
final scores of the controllers on the 3
tracks
R UUDS K OG E N S T R E E T 1 D-S P E E DWAY T OT AL
MAT T
8
10
5
23
L E ONAR D
10
4
8
22
L UIG I
4
8
10
22
S IMON
3
6
6
15
DANIE L E
5
5
3
13
J UL IAN
6
1
2
9
T AN
1
3
4
8
DIE G O
2
2
1
5
Second Stage: Competition League

Also in this stage, F1 point system is used
to compute the final score
RUUDSKOGEN STREET1 D-SPEEDWAY TOTAL
MATT
10
10
6
26
LEONARD
4
8
10
22
SIMON
6
6
8
20
TAN
5
5
5
15
DIEGO
5.5
4.5
4
14
Second Stage: Full League
RUUDSKOGEN STREET1 D-SPEEDWAY TOTAL
MATT
10
8
6
24
LEONARD
3
10
8
21
LUIGI
6
4
10
20
SIMON
4
6
5
15
DANIELE
6
4
3
13
TAN
4
3
4
11
JULIAN
2
5
4
11
DIEGO
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


Source Code Download


http://torcs.sourceforge.net/
http://torcs.sourceforge.net/index.php?name=
Sections&op=viewarticle&artid=3
Robot Tutorial

http://www.berniw.org/