Understanding human driver behaviour

By Ross Walker, Research Fellow in Autonomous Cars, Cranfield University

 

The Multi-Car Collision Avoidance (MuCCA) Project will develop a next-generation driver aid that aims to avoid multi-car collisions on motorways – if an accident cannot be avoided, the MuCCA system will attempt to minimise its consequences (both injuries and damage). But before the MuCCA vehicles are able to react to these potentially dangerous situations, they have to understand how a human driver would react. And to do so, we need to develop a training algorithm that predicts how drivers behave when avoiding collisions.

 

Accident prevention

Drivers avoid accidents by reacting fast enough to a dangerous situation, however for multiple car collisions simply reacting may not be enough. By modelling how human drivers behave on motorways, and how the proximity of surrounding cars influence their behaviour, the movement of the cars that surround the MuCCA vehicle can be predicted over the next few seconds. This can allow any potential accidents to be recognised in advance, and consequently avoided before they have chance to begin developing.

 

Data acquisition

To predict potential accidents we first need to learn the driver trajectories that result in them. To safely obtain such trajectory data we use simulation software so that accidents can be created within a virtual (safe) environment.

 

Tailoring scenarios to the MuCCA Project

The MuCCA project deals with up to five vehicles moving along a passage of UK motorway; the prediction algorithm adopts the same parameters, and various training scenarios are devised so that meaningful human driving behaviour can be captured in the simulator.

 

To begin, a simple test should always be carried out when initially developing an algorithm – this is to ensure results are as expected and the algorithm is behaving correctly. A simple behaviour was captured from a single vehicle having to pass by a broken down car in their lane. This was primarily to gauge if the driver’s reaction time to the blocked lane replicated a real-life scenario.

The introduction of multiple cars allowed us to capture data on how well the drivers maintained motorway lane discipline. It also gave insight into how drivers undertake, lane-hog, or tailgate, which all increase the likelihood of a collision.

a) Which lane will the leading HDV move to?

b) How will the back HDV cope with the front HDV moving in front?

c) What will the right HDV do if the left move is blocked?

 

Obtaining trajectory examples of standard driving etiquette allows the network to learn normal driving behaviour; being able to predict this is as important as predicting collisions.

 

These scenarios are designed to force situations where collisions are likely, and potentially unavoidable. Gathering data like this is what will teach the network to learn behaviour that will result in collisions, allowing the MuCCA system to take a different route that will avoid an accident.

d) How will the HDVs negotiate past the staggered obstacles?

e) How will the HDVs compete to move past the obstacles?

 

All algorithms must be pushed to their limits, and a scenario where the cars/drivers behave abnormally or even erratically also be trialed, even if it is not seen on a standard motorway (e.g. a car travelling in the wrong direction). This way we can evaluate how well the algorithm copes under extreme situations.

 

Predicting car trajectories

To predict how drivers behave we train a neural network computer algorithm to learn human driving patterns. Biologically inspired by the synaptic connections between neurons of the brain, we use a technique known as deep learning, where multiple densely-connected layers of neurons teach themselves to recognise patterns.

Neural networks learn through observing similar data. By feeding in the recorded trajectories of multiple cars, taken from our simulator, the network can begin to recognise similarities in driving behaviours. As the network learns – evaluating these trajectories over multiple passes (epochs) – it begins to predict increasingly accurate trajectories. After each epoch, the loss (difference) between the real-values and the predicted-values are measured. It is the aim of the network to decrease this loss so that over the training period the predictions become steadily closer to the desired outcome.  The predictions made by the network reflect the driving behaviours of real human drivers and are much closer to the desired outcome.

 

The performance of the trained neural network is then evaluated using new data – this is to ensure it can  successfully predict driving behaviour/trajectories that it may not have seen during training (known as generalisation).  It is vital the network generalises well as it would be impossible to train it with every car movement possible – the number of potential interactions would be astronomical.  Selecting and training the network with a good representation/cross-section of all types of driving behaviour will allow the network will understand the general types of interaction seen between drivers on the road and infer appropriate predictions.

 

Training the network

The network is trained over 5,000 epochs using the data obtained from the simulator. As each training epoch passes the model improves until it begins to plateau, and may even begin to deteriorate. This is when the network trains the model to predict the ‘noise’ in the data as well, and fit the predicted trajectories to match the training data exactly. This is known as ‘over-fitting’ and will mean the network will not generalise well, and training must be stopped before this happens.

All predictions use a 1 second time-series input (string of red dots) to predict a 3 second time-series output (string of green dots), at a sampling rate of 10Hz.  In other words, we record the position of a vehicle once every 100 milliseconds and then use the 10 most recent positions as the input. That way we can tell the network what the surrounding vehicles have just done, and the network predicts what will happen over the next 3 seconds. The car fitted with the MuCCA system (purple square) is predicting the direction of the driver, as well as the direction of the surrounding cars (yellow squares), including the broken-down car (blue square) blocking the lane. The network successfully predicts the trajectories of each car and is also able to predict the collision of a broken-down car blocking a lane, as well as the movement of the broken down car following the impact.

 

The results show that the accuracy of the predictions compared to the ground truth (string of blue dots) is almost indistinguishable. Had the car responsible for the accident been fitted with the MuCCA system the predictions made would have raised the issue of the predicted accident and taken steps to intervene, preventing the collision from occurring at all.

 

There is still much work to be done, but this is a very promising start and illustrative of the benefits the MuCCA system could bring to motorway driving. The more we can understand human driving, the more complex and accurate the MuCCA vehicle can be when responding to dangerous situations – this means safer roads and fewer accidents.

MuCCA is Research & Development project funded by CCAV (Centre for Connected & Autonomous Vehicles) and InnovateUK, being delivered by a consortium consisting of AppIus IDIADA, Cosworth, Cranfield University, SBD, Transport Systems Catapult and Westfield Sportscars. Keep up to date with the latest news on twitter @muccaproject

Using a Systems Engineering approach to aid collaborative R&D

Multi-Car Collision Avoidance Project (MuCCA) is a complex, collaborative R&D project that can benefit greatly from a systems engineering approach, says Thomas Levermore, a Systems Engineer at the Transport Systems Catapult (TSC).

The MuCCA project will develop a next-generation driver aid that aims to avoid multi-car collisions on motorways – if an accident cannot be avoided, the MuCCA system will attempt to minimise its consequences (both injuries and damage). This is a complex project by any definition, and by applying systems engineering methods, we can introduce technological innovation into the planning and development stages.

The starting point of the systems engineering process is pulling together the requirements of the stakeholders. The MuCCA project brings together six partners, each contributing to the common goal of reducing the number and severity of multi-car collisions. However, with partners coming from academia, small, medium and large companies, each has a different approach and existing technical systems to incorporate. Before all the partners begin to develop their parts of the MuCCA system, systems engineering ensures everyone takes a step back, looks at the system as a whole in order to understand its purpose and where their elements of the system fit with others.

As a systems engineering team at TSC we provide neutral guidance to the system design to balance each partners’ objectives and ensure the system meets the needs of future users. By developing an operational concept for the system, all the assumptions and constraints can be documented and a definition of what the system will (and importantly won’t) do can be agreed upon.

Fostering agreement

To reach an agreement on the scope of the MuCCA prototype system, use cases were developed along with the operational concept to describe situations in which the system is to intervene. These use cases were described by the approximate relative starting positions and speeds of the cars involved. Examples are two side-by-side cars avoiding a crashed vehicle, and a car avoiding a crash ahead which is partially obscured by the car in front.

>  From this foundation, requirements were discussed with the consortium to detail what the system is required to do so that it can achieve the objectives of the project.

>  With an operational concept and an initial set of requirements, the v-model process followed in this project leads to development of the system architecture.

Figure 1: V-model Systems Engineering process

 

Defining an architecture
A cornerstone of any successful systems engineering process is a well-defined system architecture. At the mention of system architecture, it is common to imagine a diagram of how physical pieces of equipment fit together. Often when existing components are available to be used in a system, there is a tendency to work backwards from what is available to dictate what the functionality of the system can be, resulting in a limited system. Going straight to the physical architecture misses a vital step in the process.

Taking a step back and looking at the functionality needed to satisfy the requirements allows a functional architecture to be developed without pre-supposing the physical architecture. Once the initial functional architecture is developed, a mapping of functional elements to physical elements ensures that the physical architecture supports the required functionality. An initial high level functional architecture for MuCCA was developed based on a reference architecture presented in A Functional Reference Architecture for Autonomous Driving.

High-level-functional-architecture

In a complex, collaborative project that combines software, electrical and mechanical engineering it is vital to define the functional architecture. The re-use of existing components has many benefits for the project partners but the functional to physical mapping will identify if such components are suitable for the new system.

 

Material benefits of Systems Engineering

A number of studies have shown there is material benefit to investing time and effort in systems engineering. A comprehensive study of 148 projects completed in 2012 at Carnegie Mellon University showed that only 15% of the projects which had dedicated the least effort to systems engineering achieved high project performance, while 57% of those deploying the most effort achieved high project performance.

In the subset of projects defined as highly challenging, the gap was even wider. Given the challenges of six organisations coming together to build an autonomous, collaborative collision avoidance system, the MuCCA project demonstrates how a solid systems engineering foundation will help lead to great project outcomes.

Next steps

The MuCCA project team invested significant effort in systems engineering during the early stages of the project, and ensuring this process continues throughout the lifetime of the project is essential. The most recent milestone in the systems engineering process has been approval by the consortium of the system architecture, and the next challenge will be following requirements through the design phase being led by IDIADA, to ensure that they will be met and can be verified as such.

Thinking of the project as a whole (and indeed any other complex R&D project), a systems engineering approach clearly pays dividends. By looking at the problem from multiple angles, bringing multi-disciplinary teams together, and taking the time to really understand what every partner brings to – and how they sit within – the project, you are helping to ensure its success from both the partners’ and the stakeholders’ perspective. Good projects have good systems, and the MuCCA project and partners are benefitting from this one, which will ultimately lead to smarter vehicles and safer roads for all.

MuCCA is Research & Development project funded by CCAV (Centre for Connected & Autonomous Vehicles) and InnovateUK being delivered by a consortium consisting of AppIus IDIADA, Cosworth, Cranfield University, Westfield Cars, SBD and the Transport Systems Catapult. Keep up to date with the latest news at mucca-project.co.uk or follow us on twitter @muccaproject

 

 

Decision making algorithms

MuCCA cooperative path-planning/decision making algorithms and its applications on motorways

Are we ready for autonomous driving? How autonomous driving can assist humans on the motorways? These issues are recurrent nowadays in the face of the biggest challenges that are appearing to building safety systems on our roads. Autonomous driving systems can help decrease fatalities caused by traffic accidents. However, this technology has a good deal of aspects to be improved so as planning obstacle-free paths for a vehicle to increase highway safety.

 

A challenging research task for autonomous driving is the coordination of several autonomous cars. This new technology is the guarantee of making car traffic safer in the future. Cooperative systems have just recently started to be explored in the context of automated driving and are expected to become increasingly common on motorways. In this context, the MuCCA (Multi-Car Collision Avoidance) project, funded by the Centre for Connected and Autonomous Vehicles (CCAV) via Innovate UK, is developing a cooperative system that will enable connected and autonomous vehicles (CAVs) to avoid collisions. As part of this project, Cranfield University is responsible for developing robust algorithms for path prediction and decision-making/inter-vehicle communication.

 

The actual version of the algorithms developed considered a strategy based on model predictive control (MPC) to make cooperative decisions to avoid a potential accident. We explored an extending cooperative path-planning approach to traffic where human drivers are present in on-road scenarios. In the not-too-distant future, it is feasible that cooperative solutions to driving manoeuvres that would enable autonomous vehicles to simultaneously coexist on the roads with vehicles driven by humans. In this context, the human driver model (HDM) needs to be integrated with the autonomous planning in order to safely interact with the autonomous vehicles on the road.

 

Our cooperative planning framework re-plans the route of the vehicle for each step and can be summarized in Figure 1. This solution is able to provide the following improvements and capabilities:

 

  • Incorporation of constraints for smoother manoeuvring when avoiding obstacle. System constraints are the set of rules to drive on roads, road boundaries and logical propositions that guarantee a safe distance to other MuCCA vehicles and obstacles.
  • Increased prediction horizon for path planning and more short horizon for trajectory control in order to get better predictions and precise vehicle control.
  • Demonstrates V2V communications to avoid collisions. The plans of other vehicles can be communicated in real time so that each vehicle communicates its desired location.
  • Able to demonstrate path planner at higher speeds and varying vehicle speeds.
  • Incorporation of multiple human driven vehicles into path planning process. Considers multiple human driver path predictions from either the neural network model or the ANFIS (artificial neuro- fuzzy inference system) model for the HDM.

 

MuCCA cooperative planning framework

Figure 1. The basic concept of cooperative path-planning as a model-based and optimization-based solution.

 

The first conclusions were promising since our system was able to successfully avoid human driven vehicles along with obstacle and other MuCCA vehicles. The results of this first investigation for the cooperative path planning and decision making algorithms developed by Cranfield will be presented at the 9th International Conference on Intelligent Systems (IS’18), an international event supported by IEEE. This conference will be held in Madeira Island, Portugal, on 25-27 September 2018.

 

 Dr Icaro Viana, Research Fellow in Autonomous Cars: Cooperative Guidance, Cranfield University.