Several research papers in the field of computational intelligence are trying to create an intelligent agent with the ability of autonomous control. Such an agent would certainly find a wide application not only in vehicles but also in other machines with the possibility of intelligent support of control. An important step in this development is the design of the general framework of autonomous control, which will identify the basic modules needed for autonomous control. Identification of individual modules and creation of sample architecture will serve in the implementation of intelligent solutions that can be implemented in several ways.
Our research and implementation of the proposed modular architecture of the autonomous vehicle control, the basis of which consists of a set of autonomous modules usable separately in different states of the external environment by a central control unit, takes place in a TORCS environment – platform for the development of autonomous controllers for racing vehicles. The proposed approach will be later tested and compared with other ways of control in the global competition – Simulated Car Racing Championship.
This competition is similar to real racing car championships; controllers compete against each other in order to achieve as many points as possible. In each control step, controller has the access to the current state of the game, which contains information about the car and track, as well as opponents. The controller controls the car with the gas pedal and brake, gearshift and steering wheel. A significant feature is the presence of noise sensors whose purpose is to adjust the return value of the so-called normal sensor noise, i.e. the standard deviation equal to a certain percentage of the measured values.
The modular architecture has several advantages. The first is re-usability, i.e. modules are designed to be used again in other projects. Another advantage is scalability, which means that designed modules can still be further extended to meet specific requirements of the environment in which the modular architecture is applied. The benefit is also the ease of implementation of such architecture, given the autonomy of individual modules, so each module can be implemented independently of the others. The last but not least benefit is the possibility to apply this modular architecture in different areas of the virtual and the real world, but it is necessary to correctly identify specific modules for the area.
Our solution is designed with regard to environmental characteristics of TORCS platform. It has the nature of centralized modular architecture, where individual autonomous modules are invoked by the central control unit based on the evaluation of changes in the environment. We identified seven modules controlled by one control module. Identified modules in our architecture are adapted to the TORCS environment, and therefore also their reuse expects the existence of similar sensors and effectors in the target environment.
Individual modules of our modular architecture are: Controller, Track model module, Driving module, Line assist module, Stability assistant module, Recovery module, Opponent detection module, Telemetry module. Proposed system has star-shaped architecture, where controller activates individual modules in appropriate order.
In the first phase, driving module with the assistance of the stability assistance module controls the car and necessary data about the track are gathered and stored using the track model module. When data about the whole track are available, line assist module corrects the speed and trajectory in order to achieve better time per lap. When interacting with opponents, opponent detection module tries to ensure overtaking and collisions avoiding, but if a collision occurs or the car gets out of the track, recovery module takes care about the quick return to the track. Telemetry module serves for the developers to show them data obtained from sensors and effectors in a suitable way, so that some dependencies between the values can be seen.
Our solution was tested and compared to various opponents, i.e. human-controlled car or opponents provided by the TORCS platform. The most significant opponents which gave us valuable information about our concept was COBOSTAR – participant of the championship in years 2009 and 2010 when he finished second in both participations.
COBOSTAR is managed by a simple policy – determination of the action based on sensor values. Authors created an architecture based on 16 parameters, where the values for the effectors are calculated by means of their defined functions, where the inputs are the values from sensors. Controller can use one of five available sets of these parameters to control the car. Choosing such a set of parameters means that this approach provides just the universal set of parameters for some type of the track but it excludes the local optimum.
In comparison with the COBOSTAR which uses just the global optimum and its actions are less suitable, our controller drives less aggressive and therefore it gets out of the track less often and so it suffers less damage.
It is quite hard to compare the performance of our approach with COBOSTAR. It is because each track is different and while on some of them our controller wins, on others, the time(best lap) we achieve is worse, compared to the time of COBOSTAR. Based on the results of testing, we overcome the controllers that finished on the third and worse in recent years. The only real comparison will be the championship that is still to be held, where we will drive on some new unknown tracks against new opponents, whose solutions of the controllers we do not know yet.
Butz, M.V., Lönneker, T.: Optimized sensory-motor couplings plus strategy extensions for the TORCS car racing challenge. In: IEEE Symposium on Computational Intelligence in Games, 2009, 317-324.
Loiacono, D. et al.: The 2009 Simulated Car Racing Championship. In: IEEE Transactions on Computational Intelligence and AI in Games, vol. 2, 2010, 131-147.
* Supervisor: Peter Vilhan, Institute of Applied Informatics, Faculty of Informatics and Information Technologies STU in Bratislava