1 Introduction

Lane change is one of the most important behaviors for vehicles and has a great influence on traffic problems. Automated lane change using intelligent driving technology can significantly improve traffic efficiency and safety.

Most previous studies [1,2,3] focused on the independent lane-change scenario based on two-lane scenarios without cooperation. These studies mainly concentrated on the trajectory planning and tracking of the lane-changing vehicle and have achieved many good results. Bezier curve and quantic polynomial trajectories were generally used in trajectory planning [4, 5]. Furthermore, Nilsson et al. [3] proposed a trajectory-planning method that did not require the assumption of a reference trajectory, which was solved by a low-complexity convex quadratic programming problem. Wang et al. [6] designed an integrated lane-change trajectory model in which the longitude and lateral trajectories were relative and different driver types could be represented by different parameters. Trajectory-tracking control strategies have also been studied widely and include geometric and kinematic control, classical control, dynamic state feedback control, neural network, fuzzy logic, model predictive control (MPC) [7, 8]. Besides trajectory planning and tracking technologies, increasingly more studies have begun to address the status of surrounding vehicles and consider the safety problems between the lane-change vehicle and surrounding vehicles. Jula et al. [9] proposed a type of minimum safety spacing (MSS) model that considered the surrounding vehicles, following vehicles in the desired lane or original lane, and leading vehicles in the desired lane or original lane, and provided a velocity-change method to maintain the safety of the lane-change process. Furthermore, Jin et al. [10] and Bai et al. [11] further proposed safety models that discussed the influence of ego-vehicle acceleration on the safety judgement during the lane-change process. Luo et al. [12] proposed a dynamic automated lane-change maneuver based on vehicle-to-vehicle (V2V) communication. Based on the state of the surrounding vehicles, the maneuver could make a safe decision on whether to keep the lane change or return to the original lane according to the MSS model and then employed a proposed trajectory re-planning method. However, this work only focused on scenarios with two lanes and one lane-change vehicle, and it could not be used in complicated automated driving condition with multiple vehicles changing lanes.

With the rapid development of V2V communication, vehicles can exchange information with each other. Cooperative automated lane-change maneuvers are made possible to improve the efficiency and safety of the entire traffic scenario.

Heesen et al. [13] studied the behavior of the surrounding vehicles in a three-lane scenario. The results indicated that the following vehicles in the desired lane were more likely to change lanes to cooperate if the adjacent lane was available, indicating that cooperative lane change was important in three-lane scenarios. Nie et al. [14] proposed a decentralized cooperative lane-changing decision-making framework by predicting the state of other vehicles and applying a coordination strategy to avoid conflict. You et al. [5] developed an autonomous lane-change system based on V2V communication that included a cooperative trajectory-planning method using the state messages from other vehicles and collision detection function realized by dynamic circles. Lombard et al. [15] designed a cooperative lane-change policy to enable better road sharing among autonomous vehicles in which a specific protocol to determine the intersection point coordinates and acceptance criterion was defined. Backfrieder et al. [16] proposed a cooperative lane-change and longitudinal behavior model for resolving situations with multiple congested lanes at an intersection. Some of the following vehicles in the target lane decelerated to make enough space to achieve the cooperative maneuver. Nevertheless, despite a large number of studies, three-lane scenarios have not been thoroughly investigated. Moreover, there is no universal standard to assess safety during lane change.

To conclude, most previous studies were based on simple two-lane scenarios that did not consider the cooperation of surrounding vehicles and in which safety cannot be guaranteed during a lane-change maneuver. Fewer studies have examined cooperative lane change in the three-lane scenario, especially when two nearby vehicles change lanes nearly simultaneously. Thus, a cooperative automated lane-change maneuver should be analyzed more comprehensively, and this is the main purpose of the paper. The contributions can be listed as follows:

  1. (1)

    Cooperative automated multi-lane-change scenarios were systematically classified into two types: same-direction lane change and intersectant-direction lane change, which facilitates the construction of a mathematical model.

  2. (2)

    A cooperative lane-change maneuver for the three-lane scenario that can guarantee safety and increase efficiency was proposed. This maneuver acquired information from all vehicles to determine the lane-change type and planned the cooperative safe trajectories.

  3. (3)

    A multi-vehicle MSS model between any two vehicles during lane change was proposed. This model can be used as a universal standard for determining the safety of automated lane changes. The multi-vehicle MSS model included a safety model between two lane-change vehicles and safety model between a lane-change vehicle and another relative vehicle.

The remainder of the paper is organized as follows. Section 2 considers how to classify the scenarios into the two types of lane changes; Sect. 3 describes the design of the cooperative automated lane-change maneuver, which comprises cooperative trajectory planning and trajectory tracking; Sect. 4 presents the results of an integrated simulation combining MATLAB/Simulink with CarSim and experiments based on a driving simulator (DS); Sect. 5 presents conclusions of this research.

2 Classification of Automated Cooperative Lane Changes

A two-lane scenario usually involves five vehicles [9]: the ego vehicle and the preceding and following vehicles in both the current lane and desired lane. In contrast, three-lane scenarios can involve more vehicles, but only the vehicles that are changing lanes as well as the preceding and following vehicles are related. Therefore, eight-vehicle scenarios can cover all condition in three-lane changes. Details are given below.

In an eight-vehicle cooperative automated lane-change scenario with two lane-change vehicles, several working conditions can vary because of the location of the two lane-change vehicles. Based on the original and desired lane of the two vehicles, the scenarios can be classified as two types: same-direction cooperative and intersectant-direction cooperative lane changes.

To begin with, the lane-change directions of two vehicles were defined as vectors D1 and D2, which pointed from the lane-change starting point to the end point. If the lanes were marked as 1, 2, and 3 from the lower speed lane to higher speed lane, D1 and D2 could be determined by the pair (original lane, target lane), for instance, (1, 2).

When the two lane-change vehicles changed lanes in the same direction, there were some different conditions according to their specific initial position, such as whether these two vehicles located in the same lane aimed at the same target lane, or located in different lanes moved to a higher or lower speed lane. Although the lane-change vehicles had different original and target lanes, the scenarios could be classified into two subtypes, as shown in Fig. 1. In both scenarios, vectors D1 and D2 were approximately parallel. Therefore, these subtypes of cooperative lane change were called same-direction automated lane changes.

Fig. 1
figure 1

Same-direction cooperative lane change

In the same way, other subtypes of cooperative lane changes were identified. When two vehicles changed to different direction, the scenarios could be classified into two subtypes as shown in Fig. 2. For these subtypes of lane changes, the lane-change direction vectors, D1 and D2, were both approximately intersectant. Therefore, these subtypes of lane changes were defined as intersectant-direction lane changes.

Fig. 2
figure 2

Intersectant-direction cooperative lane change

Consequently, all types of scenarios of eight vehicles in three lanes with two lane-change vehicles could be classified into two categories: same-direction and intersectant-direction lane changes. The maneuvers of the cooperative automated lane change were designed for each of the two categories.

3 Cooperative Automated Lane-Change Maneuver

The hierarchical design method was adopted to design the cooperative automated lane-change maneuver, which included cooperative trajectory-planning and trajectory-tracking units, as shown in Fig. 3.

Fig. 3
figure 3

Structure of the cooperative lane-change maneuver

Analysis of the eight-vehicle three-lane scenarios was predicated on the following assumptions:

  1. (1)

    Communication between vehicles was without delay and packet loss, and the information was accurate without errors.

  2. (2)

    All vehicles were autonomous.

  3. (3)

    The surrounding vehicles all had constant speeds.

First, the vehicle that will change lanes was chosen in advance as the vehicle for planning the cooperation. The data reception sub-unit of the vehicle obtained all the information of the other vehicles collected by sensors, V2V communication including the vehicle states (position, speed, acceleration), and lane-change decision. Then, after a simple process, the information was sent to the cooperation unit to plan the cooperative trajectory.

The cooperation unit consisted of the cooperative MSS model and the trajectory planner. The cooperative MSS mainly included the lane-change vehicles MSS and single lane-change MSS, which formed the safety constraints between any two vehicles. The trajectory planner generated a reference trajectory according to safety, comfort, and lane-change efficiency, using the constraints from the cooperative MSS model. Fundamentally, the problem was converted into an optimization problem with constraints imposed by the cooperative MSS and automobile dynamics. If there was no solution to the optimization problem, the cooperative lane change would be canceled and a single-vehicle lane change would be implemented that removed the constraint of a cooperative MSS. In this paper, we only discussed the case when cooperation was possible. After the trajectories were planned, the reference trajectory of the ego vehicle was sent to the trajectory-tracking unit and those of the other vehicles were sent to the data delivery sub-unit and the other vehicles.

The trajectory-tracking unit used MPC to obtain the desired inputs, speed, and the angle of the front wheel, by referencing the planning and actual trajectory. Moreover, torque and steering wheel angle were converted into actuator inputs using the equilibrium equations of vehicle driving.

The other vehicles in the scenario had the same structure, receiving the data of the reference trajectory, which was directly sent to the trajectory-tracking unit to follow the planned trajectory.

This proposed maneuver could also be used in scenarios with more than two lane-changing vehicles after adjusting the cost function and constraints of the trajectory-planning problem. Alternatively, such scenarios could simply be divided into several two-lane-change-vehicle scenarios. Because these scenarios rarely happened, they were not discussed in this paper.

3.1 Cooperative Trajectory Planning

Cooperative trajectory planning consisted of the cooperative MSS model and the trajectory planner. The cooperative MSS model was a decisive factor for maintaining safety. The shape of the cooperative trajectory played an important role in maintaining safety, comfort, and efficiency.

3.1.1 Cooperative MSS Model

  1. (1)

    MSS model for the lane-change vehicles

The process of cooperative automated lane change could be treated as three phases, as shown in Fig. 4.

Fig. 4
figure 4

Same-direction cooperative lane-change process

In the first phase, the lane-change vehicles (\(M_{1}\) and \(M_{ 2}\)) obtained their own cooperative reference trajectories. In the second phase, the lane-change vehicles followed their reference trajectory to implement the cooperation. In the last phase, the vehicle that finished the lane change first maintained constant speed until the other lane-change vehicle completed its lane change, at which point the cooperation was done. In the first phase, the minimum initial longitudinal spacing required to maintain safety during the process of lane change between the lane-change vehicles was defined as the cooperative MSS. Only if the initial longitudinal spacing was greater than the cooperative MSS would the process of cooperative lane change be safe. To determine the cooperative MSS, the critical collisions were analyzed.

Consider the same-direction lane change as an example. There were four potential collisions, as shown in Fig. 5.

Fig. 5
figure 5

Potential collisions between two lane-change vehicles

If the yaw of \(M_{1}\) was greater than that of \(M_{ 2}\), a potential collision would be one of the first two collisions. If the yaw of \(M_{1}\) was less than that of \(M_{ 2}\), a potential collision was one of the last two collisions.

According to the four collisions, the equations of the critical collisions were obtained as follows:

$$\left\{ \begin{aligned} & d_{{{\text{clls}}1}} + \left( {L_{{{\text{r}}1}} + L_{{{\text{f}}2}} } \right) + x_{1} \left( {t_{\text{c}} } \right) - L_{r1} \cos \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) - \frac{{B_{1} }}{2}\sin \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) \\ & \quad \quad = x_{2} \left( {t_{\text{c}} } \right) + L_{{{\text{f}}2}} \cos \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) - \frac{{b_{2} }}{2}\sin \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) \\ & y_{1} \left( {t_{\text{c}} } \right) - L_{{{\text{r}}1}} \sin \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) + \frac{{B_{1} }}{2}\cos \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) \\ & \quad \quad = y_{2} \left( {t_{\text{c}} } \right) + L_{{{\text{f}}2}} \sin \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) + \frac{{b_{2} }}{2}\cos \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) \\ \end{aligned} \right.$$
(1)

where \(d_{\text{clls1}}\) was the longitudinal spacing between the lane-change vehicles, \(L_{{{\text{r}}1}}\) was the distance between the center of gravity (CG) and the rear bumper of \(M_{1}\), \(L_{{{\text{f}}2}}\) was the distance between the CG and the front bumper of \(M_{ 2}\), \(t_{\text{c}}\) was the time of collision, \(x_{i}\) and \(y_{i}\) were the longitudinal and lateral coordinates of \(M_{i} (i = 1,2)\), respectively, \(\theta_{i}\) was the yaw of \(M_{i}\), \(B_{i}\) was the length of the vehicle, and \(b_{i}\) was twice the distance from the collision point to the side of the bumper.

These equations could not solve the MSS directly, but the minimum of \(d_{\text{clls1}}\) could be gained after converting the equations into an optimization problem by maximizing the longitudinal initial spacing of the critical collisions as

$$\begin{aligned} & d_{\text{clls1}} = \hbox{max} \left( \begin{aligned} x_{2} \left( {t_{\text{c}} } \right) - x_{1} \left( {t_{\text{c}} } \right) + L_{\text{r1}} \cos \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) + L_{\text{f2}} \cos \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) \hfill \\ { + }\frac{{B_{ 1} }}{ 2}\sin \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) - \frac{{b_{2} }}{2}\sin \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) - \left( {L_{\text{r1}} + L_{\text{f2}} } \right) \hfill \\ \end{aligned} \right) \\ & {\text{s}} . {\text{t}}.\quad y_{1} \left( {t_{\text{c}} } \right) - y_{2} \left( {t_{\text{c}} } \right) - L_{\text{r1}} \sin \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) - L_{\text{f2}} \sin \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) \\ & \;\;\;\;\;\;\;\;\;\;\;\; + \frac{{B_{ 1} }}{2}\cos \left( {\theta_{1} \left( {t_{\text{c}} } \right)} \right) - \frac{{b_{2} }}{2}\cos \left( {\theta_{2} \left( {t_{\text{c}} } \right)} \right) = 0 \\ & \quad t_{\text{c}} \in \left[ {0,\hbox{max} \left( {t_{\text{f1}} ,t_{\text{f2}} } \right)} \right] \\ & \quad b_{2} \in \left[ { - B_{ 2} ,B_{ 2} } \right] \\ \end{aligned}$$
(2)

where \(t_{\text{f1}} ,t_{\text{f2}}\) were the finish time for \(M_{1}\) and \(M_{ 2}\), respectively, and \(B_{ 2}\) was the bumper length of \(M_{ 2}\).

In the same way, the models of the other types of collisions could be obtained, defined as \(d_{\text{clls2}}\), \(d_{\text{clls3}}\), and \(d_{\text{clls4}}\). Then, the maximum initial longitudinal space in the critical collisions could be calculated. This is the cooperative MSS.

$${\text{MSS}}\left( {M_{1} ,M_{2} } \right) = \hbox{max} \left( {d_{{{\text{clls}}1}} ,d_{{{\text{clls}}2}} ,d_{{{\text{clls}}3}} ,d_{{{\text{clls}}4}} } \right)$$
(3)

The derivation for the intersectant-direction cooperative lane change was similar, so it was not shown in this paper in detail.

  1. (2)

    Single lane-change vehicle’s MSS model

Lane change vehicles should maintain enough longitudinal spacing between the ego vehicle and the straight-line vehicles to maintain safety. Figure 6 shows one lane-change vehicle that should maintain safe spacing.

Fig. 6
figure 6

Single lane-change vehicle’s MSS model

The MSS model was employed to avoid potential collisions between vehicles, and the method proposed by Jula et al. [9] was adopted.

The above cooperative lane-change MSS models formed constraints on the trajectory planning instead of maintaining the safety of the trajectory tracking. To accommodate tracking errors or emergency braking accidents, the dynamical time headway to follow was considered in addition to equations of the cooperative lane-change model [17].

$$\Delta s\left( {v,\Delta v} \right) = \tau_{\text{h}} v + \frac{v\Delta v}{{2\sqrt {a_{\text{brk,max}} b_{\text{brk,max}} } }}$$
(4)

where \(\Delta s\) was the dynamical safety spacing, \(\tau_{\text{h}}\) was the time headway, \(v\) was the speed of the ego vehicle, \(\Delta v\) was the difference between the front vehicle and ego vehicle, and \(a_{\text{brk,max}}\) and \(b_{\text{brk,max}}\) were the maximum braking decelerations of the ego vehicle and front vehicle, respectively.

The lane-change vehicles chose the cooperative MSS models as the constraints according to the related surrounding vehicles; this ensured a safe planned trajectory.

3.1.2 Trajectory Planning

Trajectory planning not only considered the related MSS models but also the comfort and efficiency of lane change, the dynamic constraints, and other factors.

  1. (1)

    Describing the trajectory-planning problem

A quintic polynomial was chosen as the shape of the lane-change trajectory.

$$\left\{ \begin{aligned} x\left( t \right) = a_{5} t^{5} + a_{4} t^{4} + a_{3} t^{3} + a_{2} t^{2} + a_{1} t + a_{0} \hfill \\ y\left( t \right) = b_{5} t^{5} + b_{4} t^{4} + b_{3} t^{3} + b_{2} t^{2} + b_{1} t + b_{0} \hfill \\ \end{aligned} \right.$$
(5)

where \(a_{i}\) and \(b_{i}\) were the coefficients of the polynomial.

To solve the parameters in the above equations, the equality constraints based on the initial and ending condition were given as follows:

$$\left\{ {\begin{array}{*{20}l} {x\left( 0 \right) = x_{{{\text{in}}}} } \hfill & {\dot{x}\left( 0 \right) = v_{{x,{\text{in}}}} } \hfill & {\ddot{x}\left( 0 \right) = a_{{x,{\text{in}}}} } \hfill \\ {y\left( 0 \right) = y_{{{\text{in}}}} } \hfill & {\dot{y}\left( 0 \right) = v_{{y,{\text{in}}}} } \hfill & {\ddot{y}\left( 0 \right) = a_{{y,{\text{in}}}} } \hfill \\ \end{array} } \right.$$
(6)
$$\left\{ {\begin{array}{*{20}l} {x\left( {t_{{{\text{fin}}}} } \right) = x_{{{\text{fin}}}} } \hfill & {\dot{x}\left( {t_{{{\text{fin}}}} } \right) = v_{{x,{\text{fin}}}} } \hfill & {\ddot{x}\left( {t_{{{\text{fin}}}} } \right) = a_{{x,{\text{fin}}}} } \hfill \\ {y\left( {t_{{{\text{fin}}}} } \right) = y_{{{\text{fin}}}} } \hfill & {\dot{y}\left( {t_{{{\text{fin}}}} } \right) = v_{{y,{\text{fin}}}} } \hfill & {\ddot{y}\left( {t_{{{\text{fin}}}} } \right) = a_{{y,{\text{fin}}}} } \hfill \\ \end{array} } \right.$$
(7)

There were twelve coefficients and two parameters (\(t_{\rm fin}\), \(x_{\rm fin}\)) that must be determined, but only twelve equations could be built, resulting in a statically indeterminate problem. Generally, this type of problem could be converted into an optimization problem.

  1. (2)

    Conversion of the problem

An optimization problem consisted of the cost function and constraints. The former showed the performance of the trajectory, while the latter showed the constraints of the dynamics and physics.

Cost function:

Comfort and efficiency were considered as the optimization objectives. To improve riding comfort, jerk should be minimized and was consequently included in the cost function

$$\hbox{min}\, J_{1} = w_{1} \int_{{t_{\text{in}} }}^{{t_{\text{fin}} }} {j_{x}^{2} \left( \tau \right){\text{d}}\tau } + w_{2} \int_{{t_{\text{in}} }}^{{t_{\text{fin}} }} {j_{y}^{2} \left( \tau \right){\text{d}}\tau }$$
(8)

where \(j_{x}\) and \(j_{y}\) were longitudinal and lateral jerks, respectively.

Moreover, a smaller longitudinal distance \(x_{\rm fin}\) led to a more efficient lane change. Therefore, \(x_{\rm fin}\) should be minimized.

$$\hbox{min} \,J_{2} = x_{\text{fin}}$$
(9)

Constraints:

The trajectory planning should consider all physical, dynamical, and possibly legal constraints on the vehicles involved, including keeping the speed less than the traffic speed limit, the acceleration within human tolerance and the maximum of the vehicle.

$$\left\{ {\begin{array}{*{20}l} {0 < y\left( t \right) < w_{\text{L}} } \hfill \\ {0 < \sqrt {\dot{x}^{2} \left( t \right) + \dot{y}^{2} \left( t \right)} < v_{\hbox{max} } } \hfill \\ {\left| {\ddot{x}\left( t \right)} \right| \le a_{{x , {\text{max}}}} \left| {\ddot{y}\left( t \right)} \right| \le a_{{y , {\text{max}}}} } \hfill \\ {\left| {\dddot x\left( t \right)} \right| \le j_{{x , {\text{max}}}} \left| {\dddot y\left( t \right)} \right| \le j_{{y , {\text{max}}}} } \hfill \\ \end{array} } \right.$$
(10)

where \(w_{\text{L}}\) was the length of the lane, \(a_{{x,{ {\text{max}} }}}\) and \(a_{{y , {\text{max}}}}\) were the maximum longitudinal and lateral accelerations, respectively, and \(j_{{x , {\text{max}}}}\) and \(j_{{y , {\text{max}}}}\) were the maximum longitudinal and lateral jerks, respectively.

  1. (3)

    Cooperative trajectory optimization

The trajectories of \(M_{1}\) and \(M_{ 2}\) should be optimized simultaneously. The optimization problem maximized the comfort and efficiency using variables \(t_{\rm fin}\) and \(x_{\rm fin}\) of both lane-change vehicles. Clearly, the trajectory-planning problem could be converted into a constraint optimization problem as follows:

$$\begin{aligned} & \hbox{min} J\left( {t_{\text{fin1}} ,t_{\text{fin2}} ,x_{\text{fin1}} ,x_{\text{fin2}} } \right) = w_{11} \frac{{\int_{{t_{\text{in1}} }}^{{t_{\text{fin1}} }} {j_{\text{x1}}^{2} \left( t \right){\text{d}}t} }}{{j_{\text{x1,max}} a_{\text{x1,max}} }} + w_{12} \frac{{\int_{{t_{\text{in1}} }}^{{t_{\text{fin1}} }} {j_{\text{y1}}^{2} \left( t \right){\text{d}}t} }}{{j_{\text{y1,max}} a_{\text{y1,max}} }} \\ & + w_{13} \frac{{x_{\text{fin1}} }}{{w_{\text{L}} }}{ + }w_{21} \frac{{\int_{{t_{\text{in2}} }}^{{t_{\text{fin2}} }} {j_{\text{x2}}^{2} \left( t \right){\text{d}}t} }}{{j_{\text{x1,max}} a_{\text{x2,max}} }} + w_{22} \frac{{\int_{{t_{\text{in2}} }}^{{t_{\text{fin2}} }} {j_{\text{y2}}^{2} \left( t \right){\text{d}}t} }}{{j_{\text{y2,max}} a_{\text{y2,max}} }} + w_{23} \frac{{x_{\text{fin2}} }}{{w_{\text{L}} }} \\ & {\text{s}} . {\text{t}} .\;\;\;\;\;\;\;\;\,0 < y_{i} \left( t \right) < w_{\text{L}} \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;0 < \sqrt {\dot{x}_{i}^{2} \left( t \right) + \dot{y}_{i}^{2} \left( t \right)} < v_{\hbox{max} } \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\ddot{x}_{i} \left( t \right)} \right| \le a_{\text{x,max}} \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\ddot{y}_{i} \left( t \right)} \right| \le a_{\text{y,max}} \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\dddot x_{i} \left( t \right)} \right| \le j_{\text{x,max}} \\ & \;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\dddot y_{i} \left( t \right)} \right| \le j_{\text{y,max}} \\ & \;\;\;\;\;\;\;\;\;\;\;\;{\text{MSS}}\left( {M_{i} ,j} \right) < d_{j,\hbox{min} } \\ & \;\;\;\;\;\;\;\;\;\;\;\;{\text{or}}\,{\text{MSS}}\left( {M_{1} ,M_{2} } \right) < d_{\hbox{min} } \, \\ & \;\;\;\;\;\;\;\;\;\;\;\;{\text{for}}\,i = 1,2;\,j = L_{\text{d}} ,L_{\text{o}} ,F_{\text{d}} \,{\text{or}}\,F_{\text{o}} . \\ \end{aligned}$$
(11)

where \(w_{ij} (i = 1,2;\,j = 1,2,3)\) was the weight factor, and the subscript 1 or 2 represented lane-change vehicle \(M_{1}\) or \(M_{ 2}\), respectively.

To solve this optimization problem, the interior-point algorithm was used to obtain the minimum. More details regarding the mathematical optimization process were available in [12]. It was difficult to reach the optimum in finite time if the programming problem was nonlinear. Therefore, the trajectories of related scenarios could be computed off-line.

3.2 Trajectory Tracking Based on MPC

MPC [1] was adopted in this paper to implement a trajectory-tracking function.

A predictive vehicle model with three degrees of freedom is chosen: longitudinal and lateral speeds of the CG, and yaw of the vehicle. The kinematics model had only three degrees of freedom and enabled the MPC problem to be solved quickly. The vehicle model equations were described as follows:

$$\left[ {\begin{array}{*{20}c} {\dot{x}} & {\dot{y}} & {\dot{\varphi }} \\ \end{array} } \right]^{\text{T}} = \left[ {\begin{array}{*{20}c} {\cos \varphi } & {\sin \varphi } & {{{\tan \delta_{\text{f}} } \mathord{\left/ {\vphantom {{\tan \delta_{\text{f}} } l}} \right. \kern-0pt} l}} \\ \end{array} } \right]^{\text{T}} \cdot v$$
(12)

where \(\varphi\) was the yaw of the vehicle, \(\delta_{\text{f}}\) was the angle of the front wheel, \(l\) was the length of the vehicle, and \(v\) was the speed of the CG.

Using Taylor expansion and ignoring the higher order terms, the model was linearized and discretized. Then, the tracking errors and control increments were considered in the objective function, while the constraints of the control variables were defined by automobile dynamics and comfort. Next, the trajectory tracking was converted into a linear-quadratic problem, as shown in the following equation, where the first value of the control horizon was used for the actuator.

$$\begin{aligned} & J\left( k \right) = \left[ {\begin{array}{*{20}c} {\Delta U\left( k \right)^{T} } & \varepsilon \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\varTheta_{k}^{T} Q\varTheta_{k} + R} & 0 \\ 0 & \rho \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\Delta U\left( k \right)} \\ \varepsilon \\ \end{array} } \right] \\ & \;\;\;\;\;\;\;\; + \left[ {\begin{array}{*{20}c} {2\left( {\varPsi_{k} \tilde{x}\left( k \right) - \varPi_{k} D_{k} } \right)^{T} Q\varTheta_{k} } & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\Delta U\left( k \right)} \\ \varepsilon \\ \end{array} } \right] \\ & {\text{s}} . {\text{t}} .\;\;\;\Delta U_{\hbox{min} } \le \Delta U_{k} \le \Delta U_{\hbox{max} } \\ & \;\;\;\;\;\;\;\;U_{\hbox{min} } \le A\Delta U_{k} + U_{k - 1} \le U_{\hbox{max} } \\ \end{aligned}$$
(13)

Although computed by the MPC, the control inputs (angle of the front wheel and speed of the vehicle) could not be given directly to the actuators, which need to be converted into the torque and angle of the steering wheel, as shown in the following two equations:

$$T = r\left( {fmg + \frac{1}{2}C_{\text{D}} A\rho v^{2} + m\frac{{{\text{d}}v}}{{{\text{d}}t}}} \right)$$
(14)
$$\delta_{\text{sw}} = i_{\rm w} \delta$$
(15)

where \(T\) was the control torque, \(r\) was the effective rolling radius of the tires, \(f\) was the friction coefficient, \(m\) was the mass of vehicle, \(g\) was the acceleration of gravity, \(C_{\text{D}}\) was the aerodynamic drag coefficient, \(A\) was the frontal area, \(\rho\) was the air density, \(\delta_{\text{sw}}\) was the steering wheel angle, \(i_{\rm w}\) was the angle ratio of the steering system, and \(\delta\) was the steering angle of the front wheels.

4 Results of Simulations and Experiments

4.1 Simulation Combining Simulink with CarSim

In this section, a model that combines Simulink and CarSim to verify the validity of the cooperative automated lane-change maneuver was developed.

The co-simulation models consisted of three parts: cooperative trajectory-planning, trajectory-tracking, and vehicle dynamics model in CarSim. The first two parts were built using the s-function, whose related parameters are shown in Table 1. The last part directly employed a suitable vehicle model, whose related parameters are shown in Table 2.

Table 1 Main parameters of the cooperative lane-change vehicle maneuver
Table 2 Main related parameters of vehicle model

In the eight-vehicle three-lane scenario, the following assumptions were made:

  1. (1)

    Only two lane-change vehicles were simulated, whereas the surrounding vehicles did not change their speeds;

  2. (2)

    The average speeds in the three lanes were 80 km/h, 100 km/h, and 120 km/h;

  3. (3)

    The cooperation start time was defined as the time that the later lane-change vehicle begins to change.

For same-direction cooperative lane changes and the intersectant-direction cooperative lane changes, there were many types of scenarios. However, if the difference in speeds was ignored and a similar translation and symmetry are considered, some typical experimental condition was chosen for the simulation, as shown in Table 3.

Table 3 Typical cooperative lane-change scenarios

The seven scenarios shown in Table 3 were representative, and the related parameters of their planned trajectories are shown in Table 4. These parameters, such as acceleration, jerks, and yaw rates, satisfied the design constraints, and the cooperative MSS gave the minimum longitudinal safety spacing.

Table 4 Trajectory-planning parameters for typical scenarios

In this section, some typical cooperative automated lane-change scenarios from Table 4 were considered.

  1. (1)

    The two lane-change vehicles located in the lowest-speed lane changed to the middle-speed lane, which represented those scenarios in which lane-change vehicles located in the same lane changed to other lanes if the difference of speed was ignored, such as experimental condition 1.

In this scenario, the original and target speed of the two lane-change vehicles were both 80 km/h and 100 km/h before lane-change action. The front lane-change vehicle then obtained the information of the related surrounding vehicles. After classifying the lane-change scenario, the front vehicle instructed the vehicle to maintain a straight trajectory and its current motion. Then, cooperative trajectories were planned according to (11). The planned trajectories were distributed to trajectory-tracking module of the two lane-change vehicles. Finally, the vehicles of the scenario followed the trajectories planned by the front lane-change vehicle.

Figure 7 shows the process of cooperative lane change when the two vehicles simultaneously started to change lanes. The longitudinal initial spacing between the two vehicles was 42 m. As shown in the figure, the cooperation succeeded in avoiding potential collisions.

Fig. 7
figure 7

Simultaneously lane-change process under experimental condition 1

Additionally, when one vehicle changed lanes in advance, another lane-change vehicle could follow the cooperative trajectory after cooperative planning. To validate the safety of cooperative lane changes when one vehicle changed lanes in advance, the working condition that the front vehicle changes lane more than 1 s before the second vehicle was chosen, which meant there was sufficient potential for collision, but it differed from the simultaneous lane change. The process is shown in Fig. 8, where the longitudinal initial spacing between the two vehicles was 36 m. As the figure showed, the cooperative lane change succeeded in avoiding potential collisions.

Fig. 8
figure 8

Cooperation process when \(M_{1}\) changes lanes 1 s before \(M_{2}\) of experimental condition 1

The longitudinal and lateral jerks could affect the comfort of riding. Moreover, shorter lane-change time was safer [12] and more efficient, which was measured by the duration of the lane change. The following discussion addressed relevant safety and comfort parameters.

The performance parameters of the cooperative lane change are shown in Table 5. Obviously, the values of acceleration and yaw rate satisfied the requirements for comfortable driving. Moreover, the cooperative lane change took 6.09 s, which saved approximately half the time in comparison with lane change without cooperation, thereby improving lane-change efficiency. A separate maneuver was also compared, in which the lane-change trajectories were designed separately, ignoring the other lane-change vehicles and the MSS model and using a proportion integration differentiation (PID) controller instead (referred to as “separation”). The results are listed in the second row in Table 5. The longitudinal and lateral accelerations of the cooperative maneuver were both lower than the separate PID method, indicating the improvement of the proposed maneuver. The yaw rate of the proposed method was a little larger than that of the comparison method because of the absence of yaw rate in the cost function of the MPC controller.

Table 5 Performance of experimental condition 1
  1. (2)

    Lane-change vehicles located in non-adjacent lanes changed to the same lane in different directions, as in experimental condition 6.

In experimental condition 6, the original and target speeds of the slower lane-change vehicle were 80 km/h and 100 km/h, respectively, and the original and target speeds of the faster lane-change vehicle were 120 km/h and 100 km/h, respectively. Additionally, the slower vehicle was in front of the faster vehicle. As described in experimental condition 1, after cooperative trajectory planning, all vehicles tracked the planned trajectories.

Figure 9 shows the process of cooperative lane change when the vehicles started to change lanes simultaneously. The initial longitudinal spacing between the two vehicles was 74 m. As the figure shows, the cooperation succeeded in avoiding potential collisions.

Fig. 9
figure 9

Simultaneously lane-change process of experimental condition 6

Moreover, the front vehicle changed lanes in advance, as shown in Fig. 10, which meant that when \(M_{2}\) started to change lanes, \(M_{1}\) had already been changing lanes for 1 s. In this time, the longitudinal speed of \(M_{1}\) reached more than 80 km/h, which could then decrease the relative velocity of these two vehicles so that the cooperative MSS reduced to 70.34 m.

Fig. 10
figure 10

Cooperation process when \(M_{1}\) changes lanes 1 s before \(M_{2}\) under experimental condition 6

The performance parameters of the cooperative lane change are shown in Table 6. Obviously, the values of acceleration and yaw rate satisfied the requirements of driving comfort. Moreover, the cooperative lane change required 6.11 s, which was approximately half the time required to improve lane-change efficiency compared with the respective lane change without cooperation. Furthermore, most of the performance parameters of the proposed maneuver were better than those of the compared method, leading to an overall improvement.

Table 6 Performance of experimental condition 6

From these four simulation results of typical scenarios, we concluded that the cooperative automated lane-change maneuver could implement cooperation with safety, comfort, and lane-change efficiency.

4.2 Hardware-in-the-Loop Experiment with the DS

To further validate the real-time performance of the maneuver, a hardware-in-the-loop (HIL) experiment on the DS was conducted. The DS embedded a real vehicle in the experimental loop to simulate the actual driving environment. The DS could be controlled by the algorithm, established through Simulink, which could simulate real vehicle motion with six degrees of freedom. Limited by the hardware, the vehicle motion was simulated one after another to test the real-time performance, while states of other vehicles were regarded as input variables (Fig. 11).

Fig. 11
figure 11

HIL experimental platform

The DS mainly simulated the dynamics of real vehicles rather than the process of trajectory planning. Therefore, the related parameters regarding the trajectory and MSS were the same as in the above simulation and were not shown in this section. To simplify the experiment of lane-change scenarios, two representative scenarios from the same-direction and intersectant-direction cooperative lane changes were selected for the HIL experiment.

  1. (1)

    Experimental condition 1 represented the features of the same-direction lane change.

Figure 12 shows the process of cooperative automated lane change when the two vehicles simultaneously changed lanes and the vehicle spacing is approximately 42 m. The experimental results were the same as those of the simulation, i.e., that the vehicles could avoid potential collisions.

Fig. 12
figure 12

Simultaneously lane-change process in the HIL experiment 1

When the lane-change vehicles started to change lanes at different time, the process of cooperation is as shown in Fig. 13, where the vehicle spacing was approximately 36 m. And the experimental results were the same as those of the simulation, i.e., that the vehicles could also avoid potential collisions.

Fig. 13
figure 13

Cooperation process when \(M_{1}\) changes lanes 1 s before \(M_{2}\) in the HIL experiment 1

The performance parameters of the cooperative lane change are shown in Table 7. Obviously, the values of acceleration and yaw rate satisfied the requirements of driving comfort.

Table 7 Performance in the HIL experiment 1
  1. (2)

    Experimental condition 6 represented the features of the intersectant-direction lane change.

Figure 14 shows the process of cooperative automated lane change when two vehicles simultaneously changed lanes, where the vehicle spacing was approximately 74 m. The experimental results were the similar with those of the simulation, executing a successful lane-change action safely.

Fig. 14
figure 14

Simultaneously lane-change process in the HIL experiment 6

When the lane-change vehicles started to change lanes at different time, the process of cooperation is as shown in Fig. 15, where the vehicle spacing was approximately 70 m. The experimental results were the same as those of the simulation, and the vehicles could avoid potential collisions.

Fig. 15
figure 15

Cooperation process when \(M_{1}\) changes lanes 1 s before \(M_{2}\) in the HIL experiment 6

The performance parameters of the cooperative lane change are shown in Table 8 and the values of satisfied the requirements of driving comfort.

Table 8 Performance in the HIL experiment 6

The results of the experiments above offered further validation of the cooperative automated lane-change maneuver. Moreover, the experiments showed that the algorithm could control the vehicles in real time. That is, the results verified the feasibility of the maneuver.

5 Conclusions

The proposed V2V-based cooperation maneuver could make these vehicles cooperate in the scenario safely while increasing lane-change efficiency and guaranteeing comfort. It could plan safe and efficient cooperative trajectories among eight vehicles while considering the intention of all vehicles in all types of three-lane scenarios. Then, the information of these trajectories was effectively distributed to the vehicles in the scenario. All vehicles followed the planned trajectories with small errors, thereby keeping the lane changes safe.

Two types of cooperative lane change were classified according to the directions of lane-change vectors in order to analyze the three-lane scenarios with eight vehicles: same-direction and intersectant-direction cooperative lane changes. The classification effectively partitioned the cooperation type in the scenarios described above and laid a foundation for establishing cooperative automated lane-change maneuvers.

The proposed cooperative MSS model could ensure safe lane changes between two lane-change vehicles. It could form an effective constraint to guarantee safe trajectories, whereas the safety problem was converted into an optimization problem that considered potential collisions. Whichever type of cooperation was adopted, the corresponding model could keep the planned cooperative trajectory safe.

In the future, we would like to test the robustness of the algorithm and improve its real-time performance. Moreover, the practicability of the V2V communication in combination with the cooperative algorithm should be verified under the phenomena of packet loss, delay, or information error. Finally, the maneuver will be employed using real vehicles.