A Simulated Autonomous Car Iain David Graham Macdonald Master of Science School of Informatics University of Edinburgh 2011 Abstract This dissertation describes a simulated autonomous car capable of driving on urban- style roads. The system is built around TORCS, an open source racing car simulator. Two real-time solutions are implemented; a reactive prototype using a neural network and a more complex deliberative approach using a sense, plan, act architecture. The deliberative system uses vision data fused with simulated laser range data to reliably detect road markings.
The detected road markings are then used to plan a parabolic path and compute a safe speed for the vehicle. The vehicle uses a simulated global positioning/inertial measurement sensor to guide it along the desired path with the throttle, brakes, and steering being controlled using proportional controllers. The vehicle is able to reliably navigate the test track maintaining a safe road position at speeds of up to 40km/h. Acknowledgements I would like to thank all of the lectures who have taught me over the past year, each of whom contributed to this thesis in some way.
Particular thanks must go to my supervisor, Prof. Barbara Webb, for agreeing to supervise this project and for her advice and encouragement throughout, and to Prof. Bob Fisher for his many useful suggestions. Declaration I declare that this thesis was composed by myself, that the work contained herein is my own except where explicitly stated in the text, and that this work has not been submitted for any other degree or professional qualification except as specified.
(Iain David Graham Macdonald) Table of Contents CHAPTER 1 INTRODUCTION .2 A Brief History of Autonomous Vehicles .2 THE URBAN CHALLENGE. 15 CHAPTER 3 SIMULATION SYSTEM. 19 CHAPTER 4 REACTIVE PROTOTYPE. 25 CHAPTER 5 DELIBERATIVE APPROACH.2 GROUND TRUTH DATA .1 Some Initial Experiments .2 The MIT Approach.3 Road Geometry Modelling .4 Lane Marking Verification .5 Lane Marking Classification .1 LANE MARKING DETECTION AND CLASSIFICATION .1 Generation of Trajectory Points .2 Flat Ground Assumption .3 Non-continuous Path .4 Look-ahead Distance .2 Speed in Bends .4 REAL-TIME PERFORMANCE .2 FUTURE WORK AND CONCLUSION.
73 Chapter 1 Introduction "The weak point of the modern car is the squidgy organic bit behind the wheel.1 Purpose This dissertation describes a simulated autonomous car capable of navigating on urban-style roads at a variable speeds whilst staying in-lane. The simulation uses TORCS, an open source racing car simulator which is known for its accurate vehicle dynamics [23]. Two solutions to the problem are provided; firstly, a reactive approach using a neural network and secondly, a deliberative approach inspired by the recent DARPA Urban Challenge with separate sensing, planning, and control stages. In particular, the latter system fuses vision and simulated laser range data to reliably detect road markings to guide the vehicle.2 Motivation The recent DARPA Grand Challenges and the work of teams such as Tartan Racing [8] and Stanford Racing [9] have demonstrated that the goal of fully autonomous vehicles may be within reach.
The development of such vehicles has the potential to save many of the thousands of lives that are lost in collisions every year [1]. Due to the need for autonomous vehicles to interact in an environment populated by human drivers and pedestrians, there is clear safety risk in the development process. This risk can act as a barrier to development as any autonomous vehicle must prove a sufficient level of safety before it is able to enter such an environment. One approach to this problem, as seen in the DARPA challenges, is to create controlled environments that are representative of the intended operating environment.
Whilst the benefits of this approach are clear, the logistics and the expense of organising these events mean that they are likely to remain rare. Another approach is to simulate the environment thereby eliminating the safety risk and reducing costs. Simulations have the additional benefit of being able to test performance under unusual circumstances and allow algorithms to be optimised and 1 Chapter 1 Introduction improved. Such simulations were an essential part of the development process for the entrants in the DARPA events.
However, the development of accurate simulations of complex systems and environments is a non-trivial task and may be beyond the budgets of many researchers. This project, therefore, explores the low-cost alternative of using an open source racing simulator to develop a simulated autonomous car.3 Objectives The goal of this project was to develop an simulated autonomous vehicle capable of driving on urban style roads. The vehicle must be capable of navigating around a test track in a safe and controlled manner. Specifically, the vehicle must remain in the correct lane and drive at an appropriate speed.
Although the environment is simulated, the intention is to approach the project as though the vehicle is real. With that in mind, the vehicle should only make use of information that would be available in the real-world, and the system must run in real-time. The project looks to the recent DARPA Urban Challenge for inspiration.4 Dissertation Outline The remainder of this document is structured as follows: Chapter 2 provides a brief history of autonomous vehicle research and discusses some of the techniques used by state of the art vehicles. Chapter 3 describes the simulator and system architecture.
Chapter 4 describes a sub-project which was undertaken to establish the feasibility of the main project. Here, a neural network is used to control a simulated autonomous vehicle. Chapter 5 forms the main body of the dissertation and describes a deliberative approach using image processing, data fusion, planning, and control techniques to solve the problem. Chapter 6 provides the results of experiments performed on the completed system as an evaluation.
Finally, Chapter 7 offers a summary of the work undertaken, conclusions, and suggestions for future work.1 Introduction This chapter examines the current state of the art in driverless cars. It focuses on the 2007 DARPA Urban Challenge, a competition held to promote research in the field and the main inspiration behind this project. The motivation behind autonomous vehicles is discussed, followed by a retrospective that places the Urban Challenge in context. The challenges posed by the Urban Challenge are described and the vehicles which finished in the top three positions, Boss, Junior, and Odin examined.
As this project aims to build a complete autonomous system, different aspects of each vehicle are examined giving a broad overview of the field. Although some of the techniques described do not relate directly to this project, they have helped shape it and represent the aspirations of the project had more time been available.1 Motivation The benefits of autonomous vehicles can be split into three main categories; safety, efficiency and lifestyle. The World Health Organisation estimates that 1.2 million people are killed on the roads each year and a further 40 million are injured. Human errors, such as distraction or inappropriate speed are the primary cause of road accidents [1].
The hope is that lives can be saved through the use of technology. Additionally, the US government has mandated that 1/3 of US military ground vehicles must be unmanned by 2015 [4]. There is increasing pressure on manufactures to produce more economical vehicles, and on governments to maintain an efficient road network. The number of vehicles on our roads increases every year with further congestion as the result.
For human drivers, the recommended safe inter-car gap is 2 seconds but autonomous vehicles may be able to reduce this, increasing the capacity of the road network. The car has been a significant force for social change, improving the mobility of the population. Access to this mobility will increase the quality of life for certain groups, such as the elderly and disabled, who cannot drive themselves. For others, being 3 Chapter 2 Background released from time spent behind the wheel will simply allow that time to be put to better use [1].2 A Brief History of Autonomous Vehicles This section provides a history of the development of autonomous vehicles from the 1980s to the present.
In the early 1980s, pioneer Ernst Dickmanns began developing what can be considered the first real robot cars. He developed a vision system which used saccadic camera movements to focus attention on the most relevant visual input. Probabilistic techniques such as extended Kalman filters were used to improve robustness in the presence of noise and uncertainty. By 1987 his vehicle was capable of driving at high speeds, albeit on empty streets [5].
In the late 80s Dickmanns participated in the European Prometheus project (PROgraMme for a European Traffic of Highest Efficiency and Unprecedented Safety). With an estimated investment of 1 billion dollars in today’s money, the Prometheus project laid the foundation for most subsequent work in the field. By the mid-90s, the project produced vehicles capable of driving on highways at speeds of 80km/h in busy traffic [6]. Techniques such as tracking other vehicles, convoy driving, and autonomous passing were developed.
Another pioneer in the field was Dean Pomerleau who developed ALVINN (Autonomous Land Vehicle in a Neural Network) in the early 90s [7]. ALVINN was notable for its ability to learn to drive on new road types with only a few minutes training from a human driver. After the successes of the 80s and early 90s, progress seems to have plateaued in the late 90s. It was not until DARPA (Defence Advanced Research Projects Agency) launched the first of its Grand Challenges that interest in the field was renewed.
In 2004, DARPA offered a $1 million prize to the first autonomous vehicle capable of negotiating a 150 mile course through the Mojave Desert. For the first time, the vehicles were required to be fully autonomous with no humans allowed in the vehicle during the competition. By this time, GPS systems were widely available, significantly improving navigational abilities. Despite several high profile teams, and 4 Chapter 2 Background general advances in computing technology, the competition proved to be a disappointment with the most successful team reaching only 7 miles before stopping.
The following year, DARPA re-held the competition. This time the outcome was very different with five vehicles completing the 132 mile course and all but one of the 23 finalists surpassing the seven miles achieved the previous year. The competition was won by Stanley, the entry from the Stanford Racing Team headed by Sebastian Thrun [12]. Buoyed by this success, DARPA announced a new challenge, to be held in 2007 named the Urban Challenge.
This would see the competition move from the desert to an urban environment with the vehicles having to negotiate junctions and manoeuvre in the presence of both autonomous and human-driven vehicles.2 The Urban Challenge This section describes the Urban Challenge and the main sub-challenges that were set. The competition took place in 2007 on a closed air force base in California. All the autonomous vehicles and multiple human-driven vehicles were present on the course at the same time. The environment can, therefore, be considered a good approximation of a genuine urban environment even though the roads were not open to the public.1 The Challenge Each vehicle was required to complete a mission specified by an ordered series of checkpoints in a complex route network.
Each vehicle was expected to be able to negotiate all hazards including both static and dynamic obstacles, re-plan for alternative routes, and obey California traffic laws at all times [4]. More specifically, each vehicle had to demonstrate the following abilities: Safe and correct check-and-go behaviour at junctions, when avoiding obstacles and when performing manoeuvres Safe vehicle following at normal speeds and in slow moving queues Safe road following, only changing lane when safe and legal to do so GPS-free navigation (GPS may be used but is not reliable in urban environments) Manoeuvres such as parking and u-turns Each vehicle is supplied with two files, the Route Network Definition File (RNDF), and the Mission Definition File (MDF).