Keywords

1 Introduction

In general, our work is motivated by the two main aspects that are common in the automotive and transportation domain—safety and efficiency.

Safety is the key motivation for technological innovation in the automotive industry. The human factor is often the cause of traffic accidents. Most car manufacturers are developing intelligent systems to reduce the influence of inattention or imperfect reasoning of humans. Such systems are mostly deployed as so-called advanced driver assistance systems (ADAS). The driver is still in control of the vehicle and receives suggestions or warnings from these systems. Nowadays, some systems that even actively control the vehicles (e.g. Lane Keeping Assist) have become common. Ultimately, no driver is needed at all in a fully autonomous car. So far, we considered vehicle whose autonomy is based on the vehicle’s perception of the environment via sensors. A vehicle like this is designed as a single autonomous robot. Major enhancement of this approach can be achieved by introducing a cooperation between multiple such vehicles. The concept of connected vehicles (C2X communication-equipped vehicles) can broaden the single vehicle’s perception by the information received from others via a dedicated communication channel.

In addition to safety, traffic efficiency is the second aspect being addressed by researchers in the automotive and transportation domain. The key assumption is that the capacities of highways are currently used inefficiently because of the reactive control performed by humans. Human drivers usually do not cooperate with the others, and they have very limited or late knowledge about states and intentions of other vehicles. Hence, this fact provides a ground to develop cooperative car-to-car techniques to enhance these features towards a more safety driving yet more efficient usage of the current infrastructures. Such techniques widely exploit the autonomic properties of the system—the self-awareness of the individual vehicles, communication-based shared awareness on the traffic level and a wide range of possible learning and adaptive methods increasing both safety and efficiency of the cooperative traffic.

The ADAS or autonomous vehicles are examples of already existing applications aiming to improve the road safety. Accident-free traffic or at least reduction of the number of accidents is an actual ongoing challenge in the related research areas. The recent achievements in autonomous car development and advanced drive support systems raise research questions about user acceptance of such systems and their effectiveness from the traffic perspective in case of high penetration. The development of next-generation car technologies relies on usage of driving and traffic simulations for testing and validation. The simulations allow to study both the user acceptance and the effectiveness from the traffic perspective. Nowadays, a traffic simulation can be used to evaluate the effects of new technologies on the traffic, while the driving simulators are used to perform human-in-the-loop tests of various in-car equipment.

The characteristics that make car-to-car systems autonomic are discussed in detail in Sect. 2. We discuss the autonomic car-to-car systems as a multi-agent environment where the emergence via interaction of individual agents brings autonomic properties to the global system. From the driver’s point of view, the autonomic car-to-car system is considered as an autonomic driver assistance system. A sample implementation of car-to-car systems is introduced in Sect. 3, and the introduced platform is described in detail in Sect. 4. We demonstrate that the platform can be integrated with a proprietary driving simulator and that can be used to perform a human-in-the-loop validation of the driver assistance system. This feature is demonstrated on the pilot experimental validation of the Cooperative Lane Change Assistant in Sect. 5.

2 Role of Autonomic Car-to-Car System

An autonomic car-to-car system relies on the ability of cooperating vehicles to detect and resolve potential dangerous situations. Such situations are normally handled by drivers, but with fast development of autonomous vehicles, the autonomic properties of the cars themselves and car-to-car systems became extremely important. From the perspective of this chapter, the involved vehicles do not necessarily need to be autonomous self-driving cars, but every vehicle is equipped with an agent capable of providing an autonomic behaviour. Such a behaviour consists of a detection of the potentially dangerous situation and suggestion of a corrective maneuver, cooperation abilities by means of information exchange or conflict resolution negotiation. Various examples of such information exchange are in the scope of car-to-car (C2C) or car-to-infrastructure (C2I) communication systems that are under development by the major players of the automotive industry.

Although it is possible that cars will be fully autonomous in future, drivers are still responsible for controlling cars nowadays. There is a necessity of cooperation even within a car between a driver and the agent providing cooperation with other cars. The diversity of drivers makes it challenging to design the human-machine interface (HMI) or the related software agent itself; so, suggestions of systems are beneficial. The suggestions must be acceptable and executable by drivers and thus the car-to-car system is designed to fulfil this requirement. Here, we see the need for autonomicity of the system. The car-to-car system—in a form of the autonomic driver assistance system—must be adaptable to a particular driver. The adaptation or configuration of the system is a complex task in general, and thus we expect that a self-configuration and self-adaptation of the agent can lead to better acceptance of such systems by its users.

The principles of autonomic car-to-car system features can be demonstrated on a practical example. An example of the situation that exhibits potential hazards is a lane change maneuver. Imagine a situation depicted in Fig. 1. The red car approaches a slowly moving truck and has to safely overtake. The maneuver is straightforward, but the situation is also influenced by a behaviour of other cars in the left lane.

Fig. 1
figure 1

Example of the dangerous situation of the lane change maneuver

The lane change maneuver is considered to be one of the most difficult driving tasks and special attention is needed: It is estimated that crashes resulting from an improper lane change constitute almost 8 % of all car accidents [6]. A common kind of dangerous situation may occur if the driver underestimates the speed of an approaching vehicle or overlooks it at all. It has been shown that drivers’ perception of inter-vehicle distances is often insecure, especially at high velocities [19]. Autonomic lane change assistant (LCA) systems may help human drivers in avoiding severe accidents. An LCA monitors adjacent lanes and keeps the driver informed of the presence of other nearby vehicles. Furthermore, in a case of conflicting resources (i.e. a section of a lane is aimed by two vehicles), a cooperative LCA can considerably improve the handling of resources, boosting a beneficial collaboration between drivers [11]. Moreover, a cooperation among road users should also be associated with an efficient cooperation between the LCA system and a human driver [8], meaning that a proper HMI needs to be built. The example scenario consists of a vehicle, which brakes on a highway, forcing the ego vehicle (i.e. the one driven by the human) to overtake/lane-change while paying attention not to enter in a collision with other vehicles in the adjacent lane that are already overtaking.

The autonomic cooperative car-to-car system detects the situation in advance and performs a twofold action: first, it informs a driver suggesting the right maneuvers, and second, it interacts directly with the other agents, for an automatic resolution of the conflicts. The system suggests the driver via a proper HMI and at the same time the vehicles in the area (within a certain range related to the influence of C2I and C2C running communication exchanges) cooperate in order to avoid any unexpected unsafe behaviour. This cooperation is carried out by using negotiation algorithms for a collision avoidance [24]. This is done in accordance with the traffic perspective, where a set of vehicles is in competition for space and time, and they cooperatively solve their spatiotemporal conflicts.

3 Autonomicity of Car-to-Car System

The source of autonomicity in the car-to-car system is the interaction of the agents implemented to fulfil their local requirements. The interaction is an important aspect of the autonomic car-to-car system. The agents can be designed with various levels of interaction capabilities. We describe in the following sections, the features that can be introduced with increasing interaction capabilities.

3.1 Local Interaction Agents

An agent that senses its operational environment and does not communicate with other agents is the basic unit to form a car-to-car system. The coexistence in the same environment and common objectives (e.g., collision-free drive) are the aspects that imply that there is an implicit coordination among the agents, so that we claim that they form a car-to-car system. The car-to-car system composed of such agents can already begin to exhibit some of the autonomic properties. The system as a unit is self-configured and self-optimized as the effect of local autonomy of agents and their interactions.

Well-defined behaviour of the single agents can lead to desired features of the complex system. The design of the complex heterogeneous traffic system as one unit is difficult to be done, but the system can be composed by many simpler agents.

There are several approaches to design such an agent. The methods can be reactive (e.g., method described in [1] using velocity obstacles) or based on dynamic planning (e.g., a method particularly based on the constraint-based planning [2]). The traffic environment is very dynamic and the behaviour of agents can be hardly predicted; thus, the planning horizon of the agents is in seconds at the operational level or tens of seconds to few minutes at the tactical level. A longer planning horizon is not possible without a reliable communication and information exchange between agents.

3.2 Communicating Agents

Introducing a car-to-car communication brings possibility to enhance the cooperation of the agents. The basic communication may utilize standardized car-to-car broadcast protocols, but there is a need for algorithm-specific information exchange for more advanced cooperation. Desires or plans of each agent can be shared with agents in its neighbourhood, and a negotiation or well-specified coordination protocol is necessary in certain traffic situations.

Let us consider a specific traffic situation in which the cooperation of vehicles is necessary. Figure 2 illustrates a junction without traffic signs nor lights. If vehicles approach the junction at the same time, the vehicle approaching from the right has the right-of-way. This rule can lead to a deadlock if there are vehicles on all incoming lanes. The cooperation is needed to solve the situation.

Fig. 2
figure 2

Traffic situations in which the cooperation is necessary. Visualization of collision avoidance method at x-junction (left) and all-way stop junction (right)

Now, let us again consider the car-to-car system as an autonomic driver assistance system. Assuming the agents are communicating with each other, the driver assistance system begins to exhibit more autonomicity than it did without communication. Let us explain the last claim. The driver does not know details of the communication, but she/he is provided with the result in a form of suggestions only. The car-to-car system continuously adapts itself to the ongoing execution of the driver and also considers other agents involved in the certain traffic situation. The motivation of the cooperative decision of the agents can be hidden from the driver. The internal interaction within the car-to-car system then introduces more autonomicity into the complex system.

3.3 Adoption of Cooperative Drive System

One of the most critical challenges today is a human driver acceptance of such a system. The incremental integration of the autonomic systems in the real environment will vary from a passive assistance system to an active car control. The key aspect of this process is the effect of the penetration of the system deployed and the heterogeneity of systems used.

Regarding a cooperative behaviour, let us remember a remark by Da Lio and colleagues [5] and Tango et al. [22]. The authors pointed out that mankind used animals, especially horses, as transportation systems for thousands of years. However, they have been replaced by motor vehicles in the last century, which has caused something to be lost: the intelligence of the animals and the interaction (cooperation) with humans (riders, in that case). In the recent book [17], Norman recalls the interaction between a rider and a horse as one example of how a future intelligent interaction should work: “Think of skilled horseback riders. The rider reads the horse, just as the horse can read its rider. (…). This interaction (…) is of special interest because it is an example of two sentient systems, horse and rider, both intelligent, both interpreting the world and communicating their interpretations to each other.” (quotation from Da Lio’s paper and Norman’s book).

This means that the cooperation (we focus on this aspect, even if we know that interaction regards also “competition”) occurs between two “sentient” systems; in our case, one is the human agent (the driver) and the other one is not anymore the animal, but the machine agent. Literature provides many works of such a smart collaboration. The H-metaphor (i.e., the rider-horse metaphor) is one of the most relevant and was proposed by Flemish, originally in the aerospace domain, as a guideline for interactions between a vehicle and its driver [7]. Other examples are present in activities of Heide [12] and Inagaki [13], or in works related to the human-robot interactions (see [9, 23]) and adaptive automation (see [18, 20]), where both the human agent and the machine agent can initiate changes in the level of automation, producing modes of automation more closely tied to the operator needs at any given moment.

In the scope of this chapter, the autonomic car-to-car system is equipped with an HMI manager, which provides, via a specific communication channel, the most appropriate HMI to convey warnings or recommendations to the driver: Inputs to the HMI also came from the cooperative driver model agent, so that the human-in-the-loop is made a part of the cooperative environment. Depending on the simulation environment and its inherent critical features, the warning/recommending strategies can either be visual, acoustic, or a combination of them. Examples of visual recommendations are shown in Fig. 3.

Fig. 3
figure 3

Examples of visual recommendations of the cooperative driver assistance system

The self-configuration property of the HMI can be realized by self-adapting timing of the suggestion. The closed-loop between driver and HMI would allow to adjust the timing so that the driver is suggested on time and the maneuver is performed by the driver as suggested. For example, a driver who reacts slowly would get the suggestion earlier to be able to perform the maneuver at the desired moment.

4 Simulation Platform

This section describes the platform for a development of autonomic car-to-car systems. The integrated multi-agent traffic simulation with human-in-the-loop testing abilities provides flexible support for a wide range of testing and validation possibilities for researchers and developers in the field of autonomic vehicles, cooperative drive, driver assistants, and HMI design and development. The system is able to integrate various driving simulators, car control techniques, autonomic cooperative car systems, and human-driven vehicles (an example of such an integration is demonstrated in [25]).

A schematic architecture of the multi-agent simulation system is depicted in Fig. 4. The left-hand side module is responsible for a realistic drive of all simulated vehicles controlled by both human and AI. AI-based vehicles execute instructions autonomously. The human-driven vehicle visualizes the instruction for a human driver using the HMI. Note that there is a reasoning agent for each vehicle. Not only for AI-driven vehicles but even for human-driven ones. The human driver interacts via his/her agent with the rest of the traffic. The multi-agent coordination then includes all the vehicles—both the human-driven and the AI-driven ones. The reasoning is distributed among agents or a centralized mechanism can be used. The model of the environment is a road network. Road networks are commonly used in traffic simulations, particularly, model of the SUMO Simulator [16] is adopted in our platform. It allows us to use SUMO tools to import map data (e.g., OpenStreetMaps) as it is shown in Fig. 4.

Fig. 4
figure 4

Schematic architecture of the platform

A physical state update is done in physical simulation module (see Fig. 4) according to agents’ actions. Then, the updated physical state is sensed by the agents’ sensors. The physics simulation can be performed in various external tools. The realism of the physics can vary with the tool that is used to model particular car. The usage of a driving simulator as a physics simulator brings additional features (e.g., possibility of human-driven vehicle in simulation and 3D visualization).

4.1 Cooperative Driver Model

The cooperative driver model is inspired by the cooperative trajectory planning algorithms widely used in computational robotics for conflict-free navigation of autonomous vehicles (e.g., aerial vehicles [4]). This model enables to plan the trajectory of the vehicle moving on a highway and to cooperatively check the trajectories of the vehicles for conflicts [14]. If a conflict occurs the trajectories of the vehicles are adjusted to be conflict free. This process is repeated to guarantee a cooperative safe drive on the highway. The model is composed of three main components: (1) a highway model, (2) trajectory planning algorithm, and (3) cooperative conflict resolution algorithm [24]. Altogether, these three components form the cooperative driver model that can be used in a multi-agent simulation for a validation of autonomic car-to-car systems.

In this chapter, we refer to the cooperative driver model presented in [24] that is based on a vehicle trajectory planning augmented by techniques from the domain of distributed artificial intelligence and already utilized in multi-agent systems. Altogether, it provides a multi-agent traffic simulation environment that can serve as a framework for evaluation of various cooperative strategies of autonomic car-to-car systems. Thus, it provides a base for further research towards defining representative quality metrics and comparing different approaches.

4.2 Human-Machine Interface

The human-machine interaction interface is designed to present the plan proposed by an autonomic driver assistance system. We prototype an “augmented reality”-based HMI in the OpenDS simulator to demonstrate the proposed concept of presenting proposed maneuvers by the autonomic car-to-car system.

The output of the HMI is designed to present the suggested maneuvers, i.e., plan. Figure 5 shows examples of HMI screenshots and a basic setting of the simulator to perform driving experiments. The desired lane is proposed by the blue colouring of the lane of the proposed lane. The speed instruction is projected into a rectangle in the heading direction. The transparency of the rectangle is being adjusted. The rectangle is red if braking is proposed and it is green if the accelerating is proposed. The colour intensity is proportional to the proposed speed change. This HMI implementation is a prototype integrated into the OpenDS simulator. Another external HMI device was used for the experimental validation in Sect. 5.

Fig. 5
figure 5

Example of HMI implementation. The basic setting of driving simulator with integrated driving assistance system (centre). The detail of augmented reality-based HMI that is implemented in the driving simulator (braking suggestion on left and lane change to left and acceleration suggestion on right)

4.3 Traffic and Driving Simulation

The general concept of simulation platform presented in Fig. 4 was implemented by an integration of a multi-agent autonomous traffic simulation and a driving simulator. The implementation is described in this section and is also illustrated in Fig. 6. The traffic simulation implementation (on right) is based on the simulation toolkit Alite [15]. The component performs a multi-agent event-based simulation of all vehicles in the scenario. Each agent is responsible for controlling a corresponding vehicle. The multi-agent simulation allows to use various coordination and communication strategies of autonomic agents. An agent in this context is specified as an entity that can perceive and act in the environment. In Fig. 6, we present the implementation of the coordination mechanism by two particular methods. The SD agent is an implementation of a maneuver planning method based on keeping a safe distance after each maneuver execution [21]. An adapted optimized reciprocal collision avoidance (ORCA) mechanism of Berg et al. [3] is implemented in the ORCA agent. tHESE agent implementations are examples of approaches to coordination methods. The agents’ sensors and actuators are used to provide interactions with the environment—a realistic driving simulator.

Fig. 6
figure 6

Implementation scheme of integration of the OpenDS driving simulator with the developed multi-agent simulation platform

The integration of a realistic driving simulator enables the simulation to validate the system in the realistic-physics environment. Thanks to the openness and flexibility of the integrated simulator architecture, there is a possibility to incorporate a wide range of driving simulators. An example of driving simulator integrated in the system is open-source Java-based simulator OpenDS.Footnote 1 Another example is the industrial stationary driving simulator CoopSim with the SCANeRTMsimulation engineFootnote 2 used for the following experimental validation.

5 Pilot Experimental Validation

The simulation system presented in this chapter has been used within the development of a cooperative lane change assistant (C-LCA) by the A.E.B. Technologies SpA. The simulator is owned by Reggio Emilia Innovazione and hosted at RE:Lab premises. The development of such a system consisted of many phases of simulations and testing within the traffic and user perspective. For the realistic user experience the SCANeRTMdriving simulation engine has been used.

The system is a fixed-base simulator that comprises a mock-up of a car with real driving controls, specifically a seat, steering wheel, pedals, gear, handbrake, and a digital simulated dashboard displaying a traditional instrumental panel, with RPM, speedometer and vehicle subsystem lamps (see Fig. 7). The scenario is projected on a frontal screen at the driver’s field of view, together with the rear mirror displayed on the top of the field of view and the wing mirrors on the sides. Environmental sounds, such as the engine rumble, are provided through the loudspeakers. This driving simulator does not provide support for cooperative traffic scenarios out of the box. Its integration in the developed multi-agent simulation framework enables to simulate a wide range of cooperative scenarios.

Fig. 7
figure 7

Stationary driving simulator based on SCANeRTMengine during the tests

Several driving experiments were carried out on the C-LCA with the following objectives:

  • Testing the connection with the multi-agent coordination module and the cooperation among the agents.

  • Validating the ongoing development of the Cooperative HMI by means of a test-and-develop loop approach.

  • Estimating the efficiency of the cooperative driver model involved in the C-LCA in improving safety and driver’s performance.

  • Evaluating user’s trust and acceptance of the autonomic driver assistance system and of the HMI.

The cooperative traffic scenario consists of agents with limited resources, and thus, potentially dangerous situations can occur. Hence, the focal point is not the ego-vehicle, but the environmental perspective becomes of paramount importance if we assume to change the ego-vehicle traditional perspective and switch it to an autonomic cooperative system point of view.

For this experimental study, 28 users were involved (14 males, 14 females – Mean age = 37.8, SD = 12.6). All participants had a valid driver’s licence for at least 4 years and usually drive at least 5000 km per year. Participants were asked to perform a sequence of lane changes on a highway, in a traffic environment, which simulated a real driving situation. The lane change was induced by a brake of the vehicle ahead the Ego car (VX, see Fig. 8) and the user was asked to overtake it, paying attention to the other vehicles around him/her. Every participant was asked to perform three runs:

  1. 1.

    Baseline situation (BA)

  2. 2.

    Non-cooperative warnings (NC)

  3. 3.

    Cooperative system (C-LCA) activated (CO)

Fig. 8
figure 8

Illustration of the driving scenario at the moment of VX braking

The NC run was included in the study in order to compare the C-LCA system with a state-of-the-art ADAS implementation, to investigate the usability of this innovative cooperative system: Since this book is focused on cooperation, though, the experimental results from the NC run are not included in this chapter.

Before each driving session, the interviewer explained the driving task to the user; additionally, before the assisted runs, the interviewer described the operation and purpose of the C-LCA system under investigation, also by showing the screenshots of the visual interface. The main test session was then carried out, the driving scenario being the one illustrated in Fig. 8 while other vehicles are in transit around the Ego car, VX starts braking, so that the user must choose between changing lane or slowing down in turn.

Finally, participants were asked to fill out some questionnaires to address their interaction and confidence with the system, including the widespread NASA-TLX questionnaire to evaluate the workload [10]. The questions of the NASA-TLX are the following ones:

  1. 1.

    Mental demand: How mentally demanding was the task?

  2. 2.

    Physical demand: How physically demanding was the task?

  3. 3.

    Temporal demand: How hurried or rushed was the pace of the task?

  4. 4.

    Performance: How successful were you in accomplishing what you were asked to do?

  5. 5.

    Effort: How hard did you have to work to accomplish your level of performance?

  6. 6.

    Frustration: How insecure, discouraged, irritated, stresses, and annoyed were you?

Participant’s answers to the workload questionnaire are shown in Fig. 9, on a scale from 0 to 20, for each of the six questions. The results indicate that the C-LCA system effectively reduced the perceived workload (total mean estimation: 44.4 vs. 52.1), thus supporting the users with the cognitive load induced by the driving task; in particular, the frustration indicator showed to be the most affected by the cooperative system, dropping from the original 9.8 (baseline run) to 6.6.

Fig. 9
figure 9

Workload questionnaire outcomes comparing scenario setting with cooperative system and baseline situation. The average demand is presented with standard error bounds

6 Conclusion

The multi-agent simulation of cooperative cars implemented by cooperative driver models is presented as a core of the autonomic car-to-car system. The integration of driving simulator enhances the system with a feature of the realistic drive. The interface between cooperative system and driver provided by the HMI manager allows human-in-the-loop simulation testing and validation.

Important autonomic properties are related to the multi-agent coordination mechanism. The parameters of the coordination mechanism can be continuously adapted according to the observed situation and execution in the environment. Since the road traffic environment is highly dynamic, it is expected that a dynamic parameter configuration can improve the performance of coordination mechanisms. This self-configuration property can be used for a variety of parameters, e.g., adaptation to the current weather condition or adaptation of perception radius to the actual vehicle speed.

The presented simulation system is designed to integrate various driving simulators and/or various car control and coordination strategies. There is a wide range of scenarios that can be covered by the developed simulation platform. The pilot experimental validation of the developed system on the lane change maneuver scenario is presented. A C-LCA HMI was developed and integrated in order to test the involvement of the human driver in a cooperative scenario (i.e., does he/she trust the cooperative system? Will he/she follow the recommendations coming from the HMI?). Feedback from the user experiments provide useful insight for the research in the field of the coordination strategies and ADAS, which may considerably increase driving safety and performance.

The presented results of the experiments indicate that both the stress and perceived workload are reduced with increasing functionality of the assistance system. Going back to the motivating horse-rider example, the cooperative system starts to play the role of the intelligent vehicle providing autonomic features and effectively reducing cognitive load of the driver. The next step of the development of driver assistance systems may address a group of autonomic features based on continuous feedback from driver, e.g., self-configuration and self-optimization of the HMI. The HMI provides instructions for a driver while it is continuously observing driver’s execution and adjusting timing of instructions according to the driver’s behaviour.