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