Real-world  applications of 
    driving/assisting   software 
    for vehicles capable to find
    autonomously   an  optimal 
    solution to various tasks in 
    different traffic situations.
These applications would have 
significant  social, economical,
and ecological implications.
 To  explore the  feasibility 
     of  building  a framework of a 
      novel  racing  games in which 
      human   competes   against  a 
      computer  with  both  of  them 
      operating scale models, rather 
      than simulated cars.
 
 An  automated  evolutionary 
design   of   the functionality 
of    driving    agent,  able  to 
remotely    operate   a   scale 
model of racing car, running 
in a fastest way around.
 The long-term aims are to develop a framework for automated design of 
the control software of scale model cars capable to find an optimal solution to 
various tasks in different traffic situations and road conditions. 
 Difficult   control  due  to  the
    complexity of the mechanical 
    model of the artifact. The car 
    suffers  from  both understeer and 
    oversteer,  and  both  of them 
    depend  on  the  current state 
    of the car and the surface.
The following video clips illustrate:
      (i) The neutral (normal) steering of the car (MPEG1, 2.1MB),
      (ii) The understeer on cornering (MPEG1, 2.6MB), and
      (iii) The oversteer on cornering (MPEG1, 2.6MB)
 Difficult  control   due  to  the
    high  velocity  of   the  artifact. 
    The  max  speed  of  the car is 
    about 2000mm/s which scales
    (24 times) to about 170km/h.
High   velocity    implies   that 
realizing the once defined,  optimal 
driving line, the agent have to 
make precise judgment about 
the  state  of  the  car  and the 
environment,   and   to    react 
timely and precisely.
 The  agent  perceives    the
       environment     from     live
       video  feed of an overhead 
       camera,  featuring  a  finite
       time delay (latency). The delays  of  the video feed 
      imply that the current actions 
      of   the   agent  are  based  on 
      outdated    perceptions,   and 
      consequently,          outdated 
      knowledge    about    its  own 
      state and the environment.
Achieving the objective and addressing the above mentioned challenges implies 
that   the  following  tasks
should be addressed:
 Task #1:  Adequate  control of the 
car despite the significant (100ms)
control feedback latency.
Approach:  Anticipatory  Modeling.
The agent considers  its  current 
actions based on the anticipated 
intrinsic   (rather   than  currently 
available,  outdated)  state of the 
car and surrounding
environment.
 Task #2:  Formalizing the notion
of driving style and defining the 
key parameters, which describe
it:
    (i)  What  is  the  driving  line 
     around the corners of the 
     track, and
    (ii)  What  is  the speed of the 
     car along this line.
Approach:
  
    (i) Angle of approaching the apex of the corners (homing angle),
    (ii) Straight line speed (before approaching the corner),
    (iii) Cornering speed (inside the corner), and 
    (iv) Braking zone (the zone of switching from straight line speed to cornering speed. 
The actions of the driving agent are intended to keep the currently perceived values of the 
above-mentioned key parameters of the driving style to the desired, presumably optimal values. 
The actions are conveyed to the car via remote control with functionality including "left", "right" 
and "straight" steering commands and "forward", "reverse", and "neutral" throttle commands.
The following video clips illustrate:
     PC-controlled steering of the car (MPEG1, 0.9MB),
     PC-controlled throttle of the car (MPEG1, 1.0MB), and 
 Task #3: Developing  an algorithm
for automatic determination of the
optimal  driving  style   by  setting 
the values of its key parameters.
Approach:  XML-based Genetic Algorithms (XGA). XML based genetic representation offers the following benefits:
    (i) Generic support for data types in GA,
    (ii) W3C-standard XML-schema offers a generic represention  of GA grammar, and
    (iii) Using the standard built-in API of DOM- parsers to maintain and manipulate the chromosomes.
 The Software System in action: Implementation of the Driving Agent MPEG1, 1.7MB
  Experiments with Outdated Perceptions:
(i) The car on O-shaped circuit. The effects of latency is shown by the inability of the agent to 
make the circuit properly:
Software model 
(
Windows media, 1.4MB; 
MPEG1, 2MB
) and 
a real RC scaled model
(
Windows media, 2MB; 
MPEG1, 4.1MB
)
(ii) The car on 8-shaped circuit. The effects of latency is shown by the inability of the agent to 
make the circuit properly:
Software model 
(
Windows media, 1.3MB;
MPEG1, 2.1MB
) and 
a real RC scaled model
(
Windows media, 1.8MB; 
MPEG1, 3.8MB
)
(iii) The car on S-shaped circuit. The driving agent 
considers its current actions based on outdated (by 200ms) 
perceptions. The effects of latency is shown by the inability of the agent to 
make the circuit properly:
Software model 
(
Windows media, 1.3MB;
MPEG1, 2.0MB
) and 
a real RC scaled model
(
Windows media, 1.1MB;
MPEG1, 1.8MB
)
 Experiments with Anticipatory Modeling
(i) The car on O-shaped circuit. The driving agent 
considers its current actions based on the state, anticipated from the 
currently available outdated perceptions:
Software model 
(
Windows media, 1.6MB; 
MPEG1, 2.9MB
) and 
a real RC scaled model
(
Windows media, 2.3MB; 
MPEG1, 4.8MB
)
(ii) The car on 8-shaped circuit. The driving agent 
considers its current actions based on the state, anticipated from the 
currently available outdated perceptions:
Software model 
(
Windows media, 1.8MB; 
MPEG1, 3.5MB
) and 
a real RC scaled model
(
Windows media, 1.8MB; 
MPEG1, 3.6MB
)
(iii) The car on S-shaped circuit. The driving agent 
considers its current actions based on the state, anticipated from the 
currently available outdated (by 200ms) perceptions:
Software model 
(
Windows media, 2.5MB; 
MPEG1, 4.9MB
) and 
a real RC scaled model
(
Windows media, 3.1MB; 
MPEG1, 6.6MB
)
More videos
 The car during the Computer Controlled Car Racing Competition at 
the 2005 IEEE Congress on Evolutionary Computation, Edinburgh, UK, 2-5 September, 2006. 
This video shows the final (almost flawless) laps of the winning run
(video courtesy of 
 Simon Lucas
):
Windows media, 2.6MB
and
MPEG1, 6.9MB
 Onboard Camera View of Two Laps of Sample Best Evolved Driving Agent
MPEG1 (3.4MB), 
MPEG2 (13MB), and
Windows media (2.9MB)
 The real RC scaled model on a sample track:
MPEG1, 3.9MB
 Control of the car on high-speed:
MPEG1, 1.3MB
 High-precision control:
MPEG1, 2.2MB
 Elements of close racing between a Human-controlled and 
the PC-controlled RC model cars:
MPEG1, 6.9MB
Who is driving what in this experiment: white car's driver, and the  red car's controller.
This work is conducted in cooperation with M.Joachimczak and K.Shimohara. I am also grateful to Dauren Akhmetov, Hideaki Suzuki, Rodney Berry and Simon Lucas for the discussions and suggestions.
 Watch the car  at YouTube:
>> Back to the main page of Ivan Tanev