RGU School of Computing Degree Showcase 2020

Page 17

Utilising Neural Networks to Create a Self-Driving Car Alexander Orvis & Kit-ying Hui

Introduction

Self-Driving cars have been a subject of fascination for decades and have recently seen a massive boost in interest. (Anderson, et al., 2014) However, there are lofty expectations both from the public and investors set for self-driving cars, leading to rapid, aggressive testing that has led to several fatalities.(Lyon, 2019 Currently, self-driving vehicles utilise neural networks for their control systems, and understanding how these work will highlight why the technology is still limited, and why self-driving cars are still not widespread.

Project Aim The aim of the project is to create a self driving car that utilises neural networks to control its movements. The implementation of this network and the car should meet the minimum specifications laid out in the requirements.

Figures and Results

Conclusion A Problem with Uncertainty

figures

Track 1

Each of the neural networks are of similar design, but have varying inputs and hidden nodes. The Angles input the angle of the path in degrees, either if it is left or right, but never together, in order for the car to know which direction it is in.

figures

Track 2

Track 3

figures

A sample of the training data used for the navigation network, the line separates the recorded inputs from the recorded outputs. The 4 input values and 4 output values match the order they are shown top to bottom on the diagram

The two designs were implemented to reasonable success, with both cars utilising a total of 11 sensor readings, which proved to be adequate for navigating the three unseen testing tracks. Although the cars showed good performance, they were still imperfect and would make mistakes. In order to test their performance, each car made timed laps around the track whilst the mistakes they made were recorded. Certain mistakes, like not stopping at a red light, incurred a time penalty, but time was stopped if a car got stuck and restarted when it was moving again.

Methods

Car and Obstacles The hybrid network car on the training track, a traffic light and a road node are in the foreground, whilst several obstacles are in the background

For the scope of this project, many features typically seen on real cars were simplified, such as not having a camera for the car to see thus not needing any complex image processing. With this in mind, two designs were created, one using a single network, and one that used a hybrid of two networks that each handle different tasks. Both designs were trained with supervised learning methods that required the collection of training data by manually driving the car. Implementation was achieved by simulating a car in the Unity 3D Game Engine.

Visualisation of External Sensors Red is the obstacle sensors, detecting distance to the obstacle, Yellow is the node path sensor, detecting the angle and distance to the next path node, and Green is the traffic light sensor, detecting the distance to either a red or green traffic light

Looking at the results, both cars showed comparable performance in time, although there is a clear difference in the number of mistakes made. The single network car made far more mistakes than the hybrid, which also explains why the times are so similar, as the hybrid was far more cautious driving around obstacles, slowing its time especially on test track 3, which contained many obstacles. However, preferably the cars would want to be safer and make less mistakes, rather than be faster. The single network struggled to perform tasks, such as stopping at the red light, which can be attributed to its more complex and difficult to train network, compared to the specialised hybrid networks.

In a situation like this, the car gets confused and will end up crashing, unless specifically trained to choose a single direction, which can cause problems

The hybrid design showed clear advantages: • Better driving performance • Far faster to train • Separate networks allowed for the training of a specific function However, the limiting factor with the hybrid was the ‘transition’ between the two networks, which could be improved. Although the final result worked, it had some crucial flaws that limited its performance. The biggest of which would be that it cannot deal with uncertain or unseen situations. Additional training can help with this, but this is a problem faced by even the most advanced self-driving cars. Further work would include adding more obstacles, such as pedestrians, creating proper roads with boundaries the car must stay within, and improving the functionality of some sensors.

Acknowledgments I’d like to thank Kit-ying Hui for the guidance he has given throughout the project, especially for inspiring the idea of the hybrid design..

References Anderson, J. M. et al., 2014. Chapter Four: Brief History and Current State of Autonomous Vehicles. In: Autonomous Vehicle Technology: A Guide for Policymakers . s.l.:RAND Corporation, pp. 55-74.

Training Track

Lyon, P., 2019. Why The Rush? SelfDriving Cars Still Have Long Way To Go Before Safe Integration. [Online] Available at: https://www.forbes.com/ [Accessed 4 November 2019].

Computer Science

17


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.