Driving Time Trial Laps using Neuroevolution - Alpsten, Gabriel; Eineving, Daniel; Nilsson, Martin; Petersson, Simon (My University, 2016)
Driving a race car competitively is a complex task. Programming a computer capable of solving this task optimally in every scenario is also difficult. Therefore it is interesting to investigate how well a machine learning algorithm is able to learn the most important behaviours from first principles. A simulator with simplified physics is utilised to train and assess the performance of the system. An algorithm called Neuroevolution of Augmenting Topologies (NEAT) was used to train artificial neural networks. When the system steered a car which travelled at a constant speed, NEAT managed to find a reasonably effective behaviour that resembles professional racing tactics such as positioning and distance optimisation. However, when the system was used to both control the steering and the speed of the car, it drove cautiously and resembled professional tactics less. More efficient behaviours were found when the system was trained on shorter tracks. Additionally, a system that was trained on one track showed a considerable improvement in training times when migrated to a new track. Some limitations of NEAT are discussed. The algorithm progresses gradually by a series of small improvements. It is observed that NEAT performs poorly when a composition of behaviours must be implemented simultaneously in order for the algorithm to progress. It is therefore advantageous if the problem is modelled to allow the algorithm to progress in gradual steps.
Keywords: Informations- och kommunikationsteknik; Data- och informationsvetenskap; Information & Communication Technology; Computer and Information Science