School project: Using deep learning algorithms to control an autonomous vehicle


Frank Holzhausen from the John-Brinckman-Gymnasium in Güstrow developed a self-driving car together with researchers from our group.

During the past three weeks Frank Holzhausen, a pupil from the John-Brinckman-Gymnasium in Güstrow, visited our group for an internship. Together with our team he built a self-driving car that is steered by a RaspberryPi.

A RaspberryPi is a cheap, credit-card-sized single-board computer running a Linux operating system. To recognise and avoid obstacles, Frank connected an ultrasound sensor to the GPIO pins of the RaspberryPi and a simple webcam, connected via USB, takes Pictures from the surroundings. The final car is shown in the picture on the top of this page.

Frank developed a Python program to read values from the ultrasound sensor, to take pictures with the webcam, and to drive the car's engines. To breath intelligence into the car he programmed an artificial nerual network (ANN). ANNs are inspired by biological neural networks, such as the human brain. Neural networks are heavily used in latest machine learning applications. For example, the Google DeepMind team recently used an ANN in its AlphaGo program to beat one of the best Go players in the world. Frank trained the ANN with hundreds of pictures to teach it how to observe and react on the environment.

Frank concluded his visit with a talk on his project and a demonstration of the car following a line on the ground. The second picture shows Frank after the presentation with his supervisor Martin. During his time in our group he was able to learn many things from our team. For example, Markus showed him how to program in the Python language, with Tom he explored the field of image processing, and Holger taught him the principle of ANNs and how to use machine learning techniques. Frank also learnt how to use Git, how to craft documents using Latex, how to work on the Linux operating system, and how our everyday life in academics and research looks like.