Gene regulated car driving

 Project description

The aim of this project is to use a gene regulatory network to drive a virtual racing car. Therefore, the GRN uses the inputs generated by The Open-source Racing Car Simulator (TORCS) to compute the car actuators (steering wheel, gas and brake pedals). The idea is to let the GRN handle all the commands by simplifying as much as possible the interconnexion between the GRN and the car: the GRN must be able to:

A genetic algorithm optimizes the gene regulatory network. To do so, an incremental evolution is used to first teach the GRN to drive (accelerate, brake, turn, etc.). Then, the best GRN is re-trainned to generalize its behavior in order to make it drive on any possible track. Finally, the behavior of the GRN is optimized to remove all the defects that could handicap it during a race. The following video shows the evolution of the GRN stage after stage.

This controller was engaged to the 2013 "Simulated Car Racing Championship" during the conference GECCO 2013. The GRN finished to an honorable third position after its first participation.

Approach interests

Generalization

The results we obtained with the GRN are interesting for multiple reasons. First, this approach is able to easily generalize the driving behavior in any kind of tracks (city, mountain, etc.) and on any kind of surfaces (asphalt, rocks, sand, etc.). Indeed, the GRN was evolved on 3 different asphalt tracks and it showed its capacity to drive on any kind of surfaces.

Noise resistance

Moreover, the GRN is naturally resistant to noise. While the evolution of the GRN is done without noisy sensors, the competition rules say that they are affected by a random noise of 10%. Removing the noise during the evolution strongly simplifies this operation because only one evaluation is necessary while multiple are necessary if the evaluation is not deterministic. As showed on the following video, the GRN can handle the noisy sensors without much impact on its behavior. No reoptimization is necessary to obtain this result. This property is crucial because most of the real robotic sensors are noisy and this noisy is usually one of the main issues in the reality gap problem.

Inputs plasticity

Finally, the inputs of the GRN can be modified on the fly in order to accelerate the GRN (to specialize the GRN for a given track for example) or to make it avoid opponents. By modifying its vision, it is possible to modify its behavior while keeping a dynamic control in function of the current car state. This solution is novel because most of other approaches directly modify the controller outputs and not its inputs.

 People

Sylvain Cussat-Blanc (Université Toulouse 1 Capitole - IRIT)

Stéphane Sanchez (Université Toulouse 1 Capitole - IRIT)

 

back