By Stuart Rowell, Principal Technologist, Connected Places Catapult
The MuCCA (Multi-Car Collision Avoidance) project has a grand aim; using connectivity and autonomy to avoid (or minimise) damage in high speed, multi-vehicle traffic accidents. Our MuCCA-equipped cars will be able to sense danger, communicate that danger amongst themselves, collectively decide on a best course of action, take control of the vehicle, and then safely hand back to the driver at the appropriate time. Best of all, this technology will recognise all vehicles, not just those MuCCA-equipped, and so supporting the gradual roll-out of connected and autonomous vehicles (CAVs).
We are developing this next-generation driver aid through collaboration with world-leading industry partners. We are using advanced artificial intelligence, vehicle-to-vehicle (V2V) communications and sensor fusion to take a significant evolutionary step in automated vehicle development. But we’re not alone in looking into advanced driver aid connectivity and autonomy. With Toyota announcing their ‘Guardian’ system at CES 2019, let’s consider where MuCCA sits in the global race to deploy safe, reliable CAVs onto public roads.
What makes MuCCA different?
Tesla’s Autopilot system and notable German manufacturers (Mercedes’ Driving Assistance Plus, Audi’s Traffic Jam Pilot) are carrying out some exciting work when it comes to developing advanced driver assistance systems (ADAS). Other manufacturers (for example Nissan and Jaguar Land Rover) are developing similar technologies – looking at anticipation, collision-avoidance control and vehicle-to-vehicle communication. But we believe MuCCA is the only collaborative project with the ambition of bringing all of these elements together into one system.
So what specific capabilities will MuCCA be developing?
- Anticipation of the trajectories of other vehicles ahead, alongside and behind the primary vehicle
- Communication with other MuCCA-equipped vehicles to communicate possible collision hazards and to receive information from other vehicles further ahead
- Planning of a coordinated swarm-like response for all vehicles to best avoid the hazard
- Execution of the necessary emergency collision-avoidance control decisions (braking, acceleration and steering)
MuCCA is addressing the immediate, close proximity emergency – it will not rely on previous highway or sat nav information to be alerted to potential hazards but will be responding to real-world, high-speed incidents on our fastest roads. And once the best course of action is decided by the MuCCA system, it will brake, accelerate and steer the vehicle to protect the passengers and other road users.
Evasive steering systems
When it comes to the moment of engagement – when the MuCCA system through V2V communication has determined collectively or singly that action needs to be taken – evasive steering will automatically kick-in. This is the real test of the MuCCA system.
Current evasive steering systems in the market are designed to assist the driver in performing an emergency lane change or swerve manoeuvre, but crucially only once the driver has applied aggressive steering inputs. They are designed to provide powered steering support to both help the driver to apply emergency steering, and to ensure that vehicle stability is maintained during the manoeuvre.
Mercedes and Ford have Evasive Steering Assist technology, but there is no sharing of information or location details, manoeuvre coordination or decision making by the vehicle prior to providing assisted steering – here MuCCA stands alone.
Suppliers like ZF Group are currently testing Automatic Emergency Steering technology but as far as we know this type of system is not currently close to production. What’s more, this type of system only performs on-board sensor-based detection – there is no connected element, either to infrastructure or between vehicles.
What makes MuCCA unique is its V2V communication and manoeuvre coordination between the vehicles once a hazard is detected. Most systems currently only perform longitudinal or lateral intervention, or some combination of both under the driver’s supervision, but none of the ADAS systems we know come close to what the MuCCA system is attempting in terms of functionality and complexity.
One final attribute is how the MuCCA-equipped vehicles will anticipate human drivers, thus function better than a human would in an overwhelmingly human environment. Cranfield University have been working on a neural network algorithm that helps a MuCCA vehicle predicts human driver behaviour – how they would react and behave to avoid a collision.
Additionally, a human may not have the quickest reaction times and there is room for fault in a situation like this – the MuCCA system has a better view of the world and is able to make more informed decisions helped by sensors to detect the position and movement of all surrounding cars. Additionally, by predicting how other drivers will behave, this allows MuCCA-equipped vehicles to avoid potential accidents as they are recognised in advance.
Pretty ambitious stuff and as can be seen we’re exploring unchartered territories. But it should be remembered that MuCCA is a collaborative R&D project, and it is not within the scope of the project to test or release this technology into the public realm. Later this year as the project concludes we’ll be holding trials on a closed circuit, using real vehicles at high speeds to demonstrate the effectiveness and potential impact of this new system. Exciting times!
What comes next? Watch this space, but we soon hope that MuCCA can become an additional safety option for drivers when they are purchasing their vehicles, helping to make our roads safer and drives more comfortable.
MuCCA is Research & Development project funded by CCAV (Centre for Connected & Autonomous Vehicles) and Innovate UK being delivered by a consortium consisting of AppIus IDIADA, Cosworth, Cranfield University, Westfield Sportscars, Secured By Design and the Connected Places Catapult. Keep up to date with the latest news on twitter @muccaproject
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.
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.
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
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.
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.
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.
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
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.
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.