MOTIVATION

• 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.


  OBJECTIVE

• 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.


  CHALLENGES

• 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.


  TASKS AND PROPOSED APPROACHES

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.


  EXPERIMENTAL RESULTS

• 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.


  ACKNOWLEDGEMENTS

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