Download presentation
Presentation is loading. Please wait.
Published byEmory Sims Modified over 9 years ago
1
Car Racing Competition
2
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
3
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
4
The Open Racing Car Simulator
5
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
6
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
7
Sensors Track SensorsOpponent 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 ...
8
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}
9
Rule Hand coding controller were allowed Unknown Track Distance raced by each controller within 10000 tics(200 sec)
10
The Results
11
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
12
Scoring setup A server with 2 Quad-core Xeon 2.66 GHz, 8GB RAM, running Fedora Core 6
13
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
14
First Stage: RUUDSKOGEN
15
First Stage: STREET1
16
First Stage: D-SPEEDWAY
17
First Stage: overall results F1 point system is used to compute the final scores of the controllers on the 3 tracks
18
Second Stage: Competition League Also in this stage, F1 point system is used to compute the final score
19
Second Stage: Full League
20
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!
21
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/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.