Target Vehicle Selection Algorithm for Adaptive Cruise Control Based on Lane-changing Intention of Preceding Vehicle

To improve the ride comfort and safety of a traditional adaptive cruise control (ACC) system when the preceding vehicle changes lanes, it proposes a target vehicle selection algorithm based on the prediction of the lane-changing intention for the preceding vehicle. First, the Next Generation Simulation dataset is used to train a lane-changing intention prediction algorithm based on a sliding window support vector machine, and the lane-changing intention of the preceding vehicle in the current lane is identified by lateral position offset. Second, according to the lane-changing intention and collision threat of the preceding vehicle, the target vehicle selection algorithm is studied under three different conditions: safe lane-changing, dangerous lane-changing, and lane-changing cancellation. Finally, the effectiveness of the proposed algorithm is verified in a co–simulation platform. The simulation results show that the target vehicle selection algorithm can ensure the smooth transfer of the target vehicle and effectively reduce the longitudinal acceleration fluctuation of the subject vehicle when the preceding vehicle changes lanes safely or cancels their lane change maneuver. In the case of a dangerous lane change, the target vehicle selection algorithm proposed in this paper can respond more rapidly to a dangerous lane change than the target vehicle selection method of the traditional ACC system; thus, it can effectively avoid collisions and improve the safety of the subject vehicle.


Introduction
The problems of traffic congestion have become more and more serious. As a result, adaptive cruise control (ACC), as a key technology of advanced driver assistance systems (ADASs), has been widely studied and gradually introduced into the lives of ordinary people. According to statistical reports, lane changes are the main cause of car crashes [1][2][3][4]. When the preceding vehicle changes lanes, traditional ACC systems simply declare the target vehicle (i.e., the vehicle that the subject vehicle follows) as the closest one currently in the subject vehicle's lane; thus, these systems cannot comprehensively consider lanechanging vehicles. Under these condition, large fluctuations in longitudinal acceleration can occur; these greatly reduce ride comfort and may even present collision risks [5,6]. To prevent this, one key technology is that of reliable lane-changing intention prediction, which can recognize that the preceding vehicle intends to change lanes before it crosses the lane line. This allows the subject vehicle to respond in advance of the preceding vehicle's lane-changing action, thereby reducing acceleration fluctuations and minimizing collision risks. The most relevant methods thus far reported for predicting the preceding vehicle's lane-changing intention can be roughly classified into four categories: fuzzy logic-based, support vector machine (SVM)-based, hidden Markov model (HMM)-based, and deep learning-based. The fuzzy logic-based method uses relative motion information between the subject and preceding vehicles as the input variable; with this, the lane-changing intention of the preceding vehicle can be obtained, to effectively realize human control strategies and experience. Moon et al. [7,8] introduced a lane-changing intention predictor based on fuzzy logic; this used the relative lateral distance and relative lateral speed between the preceding and subject vehicles as the input, and it used fuzzy rules to determine the lane-changing probability of the preceding vehicle. This method assumed that the vehicles with smaller lateral relative distances and larger lateral relative speeds were more likely to change lane. The fuzzy rules presented in the literature are primarily based on the fitting curve of relative speed and relative distance under the preceding vehicle's cut-in condition. However, the fuzzy logic controller largely depends on human experience, and it cannot objectively identify lane-changing intentions.
The SVM-based method selects the appropriate feature vector using relative motion information, and it obtains the optimal SVM parameters through training, to predict the lane-changing intention of the preceding vehicle. Ma et al. [9,10] used data collected from actual traffic environments as training samples, to identify cut-in maneuvers for adjacent-lane vehicles based on fuzzy support vector machines (FSVMs). To improve the training accuracy of the cut-in identifier, a fuzzy membership coefficient was introduced for each sample to solve the FSVM, and a grid optimization was conducted on the FSVM parameters. Woo et al. [11] defined the feature vector as comprising the distance from the centerline, the lateral velocity, and the potential feature. The potential feature characterizes the likelihood of lane-changing by analyzing the location relationship between the preceding vehicle and its surrounding vehicles. By adding the potential feature, the proposed SVM algorithm can eliminate the false predictions produced by zigzag driving.
The HMM-based method mostly uses the observed state information of the preceding vehicle to identify independent and invisible lane-changing intentions. Ma established a mixed Gaussian-HMM to describe the lane changing behavior of adjacent vehicles. The driver's decision states were segmented and described by the model parameters [12]. Furthermore, the lateral distance between the preceding vehicle and the center of the host vehicle was used to characterize the changes in decision states. Using results from Ref. [12], Zhang [13] classified lane-changing maneuvers into the safe and dangerous lane-changing processes, according to collision risk.
Based upon the characteristics of lane keeping and lane changing, as well as the characteristics of safe and dangerous lane changes, the HMM-based lane-changing identification method was designed to use a sliding time window, and the driving state of each time window was judged in turn. Mitrovic proposed a simple and reliable method for identifying driving events using a HMM [14]. By collecting real-vehicle experimental data and manually selecting observation sequences for training and verification, each observation sequence was classified into specific types of events, and the HMM model parameters of each driving event were trained separately. The observation sequence from the training set was evaluated using multiple models. By comparing the probability of the observation sequence calculated by each HMM model, the event corresponding to the highest HMM model was selected as the estimated result.
The deep learning-based method predicts the preceding vehicle's lane-changing intention or driving trajectory using a neural network. This method requires a huge dataset for parameter training to improve prediction results. Zhang et al. [15] used the speech-recognition framework as an example, and they mapped the behavior of the preceding vehicle (i.e., lane-changing or lanekeeping) to different speech words. Because the motion information of the preceding and surrounding vehicles was both continuous and time-varying, words of different sizes corresponded to different driving styles during lane changes. The speech recognition model could be effectively applied to recognize the preceding vehicle's lane-changing behavior. Yoon et al. [16] calculated the lane-change likelihood of multiple target lanes and trajectories of surrounding vehicles using a radial basis function network (RBFN). The RBFN prediction algorithm used the classification distribution and future trajectory in parallel to estimate the probability of each lane becoming the driver's target lane, and it converted the RBFN into a probability model which incorporated uncertainty. Lee et al. [17] proposed a lane-changing intention recognizer based on a convolutional neural network (CNN). This method transformed real-world driving data into a simplified bird's-eye view, which facilitated a CNNbased inference approach with low computation cost and robustness against noisy inputs.
Most of the current literature has sought to predict the lane-changing intention of the preceding vehicle in the adjacent lane (as shown in Figure 1); however, the prediction results for the lane-changing intention of the preceding vehicle in the current lane (as shown in Figure 2) also determine the longitudinal acceleration of the subject vehicle. For example, when the preceding vehicle in the current lane changes lanes and a low-speed commercial vehicle or stationary object appears ahead in the current The remainder of this paper is structured as follows: Section 2 illustrates the system architecture, Section 3 introduces the lane-changing intention prediction algorithm, Section 4 introduces the target vehicle selection algorithm, Section 5 studies the longitudinal motion control algorithm, Section 6 evaluates the proposed algorithm in a simulation, and Section 7 concludes the paper.

System Architecture
The overall framework proposed in this paper is shown in Figure 3. It is primarily divided into three components: lane-changing intention prediction, target vehicle selection, and longitudinal motion control. First, the lane-changing intention of the preceding vehicle was primarily predicted by the sliding window SVM algorithm. We used the Next Generation Simulation (NGSIM) dataset to train the parameters of the SVM and determine the size of the sliding window. The lane-changing intention of the preceding vehicle in the current lane was predicted via the lateral relative distance offset. The next step was to select the target vehicle. The target vehicle selection determines the target vehicle under three different conditions: safe lane-changing, dangerous lane-changing, and lane-changing cancellation. The longitudinal motion control generated the actuator control value using the state information of the target vehicle. The actuator control quantity was composed of two components: the feedforward and feedback control quantities.

NGSIM Dataset Preprocessing
This study used the public dataset recorded by the NGSIM program (initiated by the Federal Highway Administration in 2002) to train the sliding window SVM [18]. This program used high-definition cameras installed above the road to record vehicle driving data, and it used video processing software to obtain the vehicle trajectory data at intervals of 0.1 s. The lane-changing vehicle data on the US101 highway in the NGSIM dataset were used to train the lane-changing intention prediction SVM in this work. The study area schematic and camera coverage of the NGSIM US101 highway data are shown in Figure 4. After simple filtering, 6100 individual vehicle driving data points were obtained. We studied the free lane-changing behavior of passenger cars; thus, reasonable lane-changing vehicle data must meet the following constraints: Through artificial selection, 184 reasonable lanechanging vehicle trajectories were obtained. Because the subject vehicle can only obtain the relative position and speed information of the preceding vehicle through its sensors, it was necessary to calculate the relative lateral distance and lateral speed of the preceding vehicle relative to the road centerline of the target lane. By subtracting the local coordinates of the target lane centerline from those of the lane-changing vehicle, the relative lateral distance of the lane-changing vehicle relative to the centerline of the target lane was obtained. To reduce the influence of NGSIM dataset measurement errors, Kalman filter was used to calculate the relative lateral velocity v y and relative lateral acceleration a y of the preceding vehicle relative to the road centerline of the target lane. The estimated relative lateral velocity v y and acceleration a y are shown in Figures 5 and 6, respectively.
The relative lateral velocity calculated by Kalman filter was essentially identical to that obtained by the local coordinate Y's difference in the original NGSIM dataset; however, the spike was effectively suppressed. By comparing the relative lateral accelerations computed via Kalman filter of the acceleration data obtained by velocity difference, we found that such filtering could well restrain the fluctuation generated by the difference.

SVM Algorithm
SVM is a very popular algorithm in machine learning. It is mainly used to identify a suitable hyperplane in a multi-dimensional space as a classification plane, to maximize the minimum spacing of positive and negative samples in the sample space. The samples that satisfy the minimum spacing are called support vectors. For linearly inseparable cases, the SVM can use the kernel function to transform the nonlinear classification scenario into a linearly separable situation in the high-dimensional sample space [19][20][21]. Commonly used kernel functions include the polynomial and Gaussian kernel functions. We assume that the classification function is , w and b are the training parameters, and x is the feature vector.
In the model that predicts the lane-changing intention of the preceding vehicle, h w,b (x) = 1 indicates that the preceding vehicle intends to change lanes, and h w,b (x) = 0 indicates that the preceding vehicle does not intend to change lanes and will continue to drive in the original one. The optimization objective of the SVM is to maximize the geometric margins between the positive and negative samples. The definition of geometric margin where m represents the number of samples in the training set, and γ denotes the smallest margin. The original optimization problem of the SVM is as follows: The non-convex constraint �w� = 1 in the original optimization problem means that the original problem is very difficult to solve. Thus, it must be transformed into a convex optimization problem: Through Lagrange duality, the above convex optimization problem can be transformed into a quadratic programming problem, expressed as where x (i) , x (j) represents the kernel function value of x (i) and x (j) , and represents the Lagrange multiplier.

SVM Feature Vector Selection
The feature vectors selected in Ref. [10] include the longitudinal relative distance between the subject and preceding vehicles, lateral relative distance, longitudinal relative speed, lateral relative speed, longitudinal relative acceleration, lateral relative acceleration, and subject vehicle speed; these are shown in Figure 7. However, the training samples are limited and cannot cover all feature vectors that may arise in the SVM; for example, the present speed of the subject vehicle never appears in the training sample; furthermore, the current longitudinal relative distance, longitudinal relative  In the above cases, the accuracy of the lane-changing intention prediction obtained via the SVM is very low.
Ref. [11] selected the lateral relative distance, lateral relative speed, and potential feature of the preceding vehicle (relative to the centerline of the subject vehicle's driving lane) as the feature vector. The potential feature, which analyzes the position relationship between the preceding vehicle and its surrounding traffic vehicles, represents the lane-changing risk degree of the preceding vehicle. This feature is added to reduce false predictions when the preceding vehicle is performing zigzag driving in its original lane. However, millimeterwave radar and cameras, as the main sensor systems of ADAS, do not obtain comprehensive and accurate motion state information for traffic vehicles surrounding the preceding vehicle. In addition, this paper assumes that the preceding vehicle's zigzag driving in the original lane does not necessarily indicate it as failing to change lanes. It may indicate the inexperienced driving of novice drivers, or that the target vehicle is in the target lane adjustment stage after a lane change.
The potential feature cannot be used to solve all zigzag driving misjudgments. The feature vectors selected in this work include the lateral relative distance d y and lateral relative speed v y of the preceding vehicle relative to the centerline of the subject vehicle's driving lane as shown in Figure 8. When using only the relative motion information at the present moment as the feature vector, a short-term misjudgment often occurs owing to the jump of the motion state. However, the lane-changing intention prediction of the preceding vehicle at the current moment is often related to the relative motion information over several previous cycles. Therefore, this paper takes the relative motion information of the preceding vehicle relative to the centerline of the subject vehicle's driving lane in the previous k cycles as the feature vector. The feature vector x t at time t can be expressed as where D y is the feature of the lateral relative distance, and V y is the feature of the lateral relative speed with respect to the centerline of the subject vehicle's driving lane.
Selecting the relative motion information of the preceding vehicle relative to the centerline of the subject vehicle's driving lane as the feature vector (instead of the relative motion information of the preceding vehicle relative to the subject vehicle) can, on the one hand, mitigate the influence of the subject vehicle's lateral movement on the lane-changing intention prediction. On the other hand, it is very convenient to convert the relative lateral distance into d coordinates under Frenet coordinates when driving in curves [22,23].

SVM Parameter Training
To resolve the influences of different feature units, the z-score normalization was used to standardize the features. The mean value of each feature after processing was zero, and the standard deviation was 1. Prior to SVM parameter training, the NGSIM dataset was divided into training and test set samples in the ratio 7:3. The numbers of training and test set samples were 10080 and 4273, respectively. SVMs with different parameters were trained using training set samples, and the SVM prediction accuracy was tested by test set samples. Meanwhile, we used the cross-validation method to divide the training set data into N copies (N = 5 in this paper). In each training process, N − 1 of these were selected for training, and the remaining copy was used as the validation set. Through n-training, the group of parameters with the highest accuracy from the validation set was selected as the final training result. The flow chart of the SVM parameter training is shown in Figure 9.
Linear, quadratic, cubic, and radial basis functions were selected as the kernel function to train the SVM. Meanwhile, to determine the size of the sliding window, we trained the SVM with four different kernel functions in a window size range of 0-5 s with an interval of 0.2 s. The training results are shown in Figure 10.
In Figure 10(d), we can see that when the sliding window size was 0.4 s, the test set accuracy of the linear kernel function SVM reached the maximum value of (6) x t = D y , V y ,  Comparing the accuracies of the test and verification sets, we found that the test set accuracies of the above three kernel function SVMs were lower than the validation set accuracy to some extent. When the size of the sliding window was increased, the number of features increased, and overfitting occurred during SVM training. When the size of the sliding window increased, the validation set accuracy could be continuously improved. However, when the sliding window size exceeded a certain range, the test-set prediction accuracy decreased when the size of the time window increased (this was particularly clear for the RBF kernel function SVM); that is, in terms of the size of the sliding window, longer does not necessarily entail better.
As shown in Figure 10(a), when the sliding window size was 2.2 s, the test set accuracy of the RBF kernel function SVM was maximal. Therefore, we selected the RBF kernel function SVM with a sliding window size of 2.2 s to predict the lane-changing intention of the preceding vehicle. After determining the SVM kernel function and sliding window size, we combined the test and training set samples to form a new training set, and trained using this set to obtain the final lane-changing intention prediction SVM. The parameters of the final SVM for the preceding vehicle lane-changing intention prediction are shown in Table 1. Here, KernelScale is the parameter γ of the RBF, where the RBF has the BoxConstraint is a positive value that controls the penalty imposed on observations with large residuals [24].

Prediction Results of Lane-changing Intention for Preceding Vehicle in the Adjacent Lane
The prediction results of the lane-changing intention for the preceding vehicle in the adjacent lane are shown in Figure 11:  Figure 11(c) shows the prediction results of the SVM that used only the motion state information of the current moment as the feature vector (denoted SVM_0 s). Short-term misjudgments were observed at 4.9 s and 6 s. SVM_0 s only used the motion state information at the current moment as the feature vector; hence, it easily made misjudgments when the motion state jumped during zigzag driving. The lanechanging intention prediction SVM designed in this paper employed the motion state information of the entire sliding window (the window size was 2.2 s); thus, it could deal with the disturbance of motion state changes produced by zigzag driving. Compared with the traditional ACC target vehicle selection algorithm, the time advantage of the SVM-based lanechanging intention prediction output was related to many factors, including the initial relative lateral distance when the preceding vehicle began to change lanes, the overall lane-changing time, and more. Figure 12 shows the prediction results of the preceding vehicle's lane-changing intention under three different overall lane-changing times, with the overall lane-changing times of 3.1 s, 5.0 s, and 6.9 s corresponding to Figure 12 Table 2. When the overall lane-changing time increased, the advance time increased accordingly. Therefore, the advance time cannot be used as the only criterion to judge the quality of the lane-changing intention prediction SVM.

Prediction Results of Lane-changing Intention for Preceding Vehicle in the Current Lane
When the preceding vehicle in the current lane changes lanes, if a low-speed vehicle or stationary object appears ahead in the current lane, the subject vehicle will   To select the target vehicle, it is necessary to calculate the collision risk of each target. The collision risk is represented by TTC −1 in this study [25,26]. TTC −1 can be calculated as where d x is the longitudinal relative distance, v x is the longitudinal relative speed between the preceding and subject vehicles, which equals the difference between the longitudinal speed of subject vehicle v subject and that of the preceding vehicle v preceding , as shown in Figure 15.
When TTC −1 exceeds zero, it means that the preceding vehicle is approaching and there is a risk of collision. The collision threat increases with the increase of TTC −1 . When TTC −1 is less than zero, it indicates that the preceding vehicle is far from the subject vehicle and there is no collision risk.
According to the lane-changing intention (denoted as Intention) and the collision threat of each target, the targets in the adjacent lane can be classified into three types; these are represented by DriveStatue [7], as shown in Figure 16.
Area 1 indicates that the preceding vehicle has no lane-changing intention (Intention = 0). In this case, the DriveStaue is equal to zero. Area 2 indicates that the preceding vehicle has a lane-changing intention but there is no collision risk (Intention = 1, TTC −1 < Th TTC ); in this case, the DriveStaue is equal to 1. Area 3 means that the preceding vehicle has lane-changing intention and there is a risk of collision (Intention = 1, TTC −1 ≥ Th TTC ). In this case, the DriveStaue is equal to 2.
Because there may be multiple vehicles with lane-changing intention in the adjacent lane ahead, it is necessary to select the "most threatening" of them as the target vehicle      During the lane-changing cancellation process of the target vehicle in the adjacent lane, d y,adjacentlane varies from d y,cancel to 2.875 m (when the lateral relative distance of the target in the current lane exceeds 2.875 m, this target can be considered as the target in the adjacent lane), and β smoothly transfers from α cancel to zero.

Longitudinal Motion Control Algorithm
Depending on whether a target vehicle is ahead, the longitudinal motion control can be divided into speed control and following control. When no target vehicle is in front of the subject vehicle, only speed control is applied. For speed control, only the subject vehicle's speed v subject must be kept at the set speed v set . Therefore, the control target in this mode is v → 0 and the position error can be directly set to zero: When a target vehicle is in front of the subject vehicle, the control is that of following control, which controls the speed of the subject vehicle to match that of the target vehicle, to thereby maintain a safe distance between the two. The constant time-gap safe distance is selected as the safe distance in this work [27]; it is calculated as where τ h is the time gap constant, generally set to 1.2-2 s. d 0 is the distance constant, generally set to 2-3 m. In this study, τ h was set to 2 s, and d 0 was set to 3 m.
In the following control, the subject vehicle speed must be kept the same as that of the target vehicle, and the distance d x between the subject and target vehicles must be controlled as the safe distance d des ; thus, the control target in this mode is v → 0 , d → 0 , where A linear-quadratic regulator (LQR) controller was chosen to calculate the desired acceleration of the subject vehicle in this study. The balance state in the longitudinal motion control is v → 0 , d → 0 ; thus, it is very suitable to use the LQR controller to calculate the desired acceleration of the subject vehicle. Meanwhile, the LQR controller can consider the weight of the input and state variables to ensure ride comfort during longitudinal motion control.
Time delays can arise between the actual acceleration a actual and inputted desired acceleration a des ; these can be approximately represented by a one-order inertia element, as where τ d is the time delay between the actual acceleration a actual and the inputted desired acceleration a des , which was here set to 0.5 s.
Selecting the state variable as x = [ d, v, a actual ] T and the input variable as a des , we can obtain the continuous state space equation for longitudinal acceleration control as where a tar is the acceleration of the target vehicle, which represents an interference term.
Discretizing the above continuous state space equation, we obtain where T is the control cycle.
Because the ride comfort is sizably affected by the jerk (the derivative of the acceleration), the above-mentioned state space equation cannot take into account the weight of the jerk. Therefore, we expanded the discrete state space equation to an incremental form, and took the desired acceleration increment a des as an input to incorporate the weight of the jerk. The expanded state space equation is as follows: The objective function of the LQR controller is: where u is the desired acceleration increment a des ; q l1 , q l2 , q l3 , q l4 , and r l represent the weight of v , d , a actual , a des , and a des , respectively. Here, q l1 = 2 , q l2 = 1 , q l3 = 0 , q l4 = 3 , and r l = 3.
After the desired acceleration of the subject vehicle was calculated by the LQR controller, it was necessary to control the actuator of the subject vehicle (i.e., the throttle opening and brake master cylinder pressure) to ensure that the actual acceleration of the subject vehicle approached the calculated desired acceleration. This paper first established the inverse dynamics model for the subject vehicle. Through this model, the feedforward control quantity of the actuator could be obtained. Owing to the deviation of the subject vehicle's inverse dynamics model parameters and the presence of interference, it was difficult to make the actual acceleration approach the desired one stably via openloop control alone. A large static error was produced. Therefore, to improve the accuracy and robustness of the longitudinal acceleration control, we took the deviation value between the actual vehicle acceleration and desired acceleration as the input, and we used the proportional-integral-derivative (PID) controller to calculate the feedback control quantity of the actuator.

Simulation and Discussion
Next, a co-simulation platform was built using Matlab/ Simulink, CarSim, and Prescan software, to verify the proposed algorithm. The scenario and sensor models were established in Prescan. The measurement data of the millimeter wave radar model in Prescan contain noise, which can simulate radar measurement data in the real world to a certain extent. The high-precision (30) J = 1 2 ∞ 0 q l1 · d 2 + q l2 · v 2 + q l3 · a 2 actual + q l4 · a 2 des + r l · u 2 dt, vehicle dynamics model was established in CarSim, and the simulation environment integration and control algorithm was established in Matlab/Simulink, as shown in Figure 18. Simulations were conducted under three different conditions: safe lane-changing, dangerous lane-changing, and lane-changing cancellation.

Simulation Results under Safe Lane-Changing Condition
To verify the effectiveness of the target vehicle selection algorithm proposed in this paper under safe lanechanging conditions, the following simulation conditions were designed in the co-simulation platform: Initially, the subject vehicle followed the preceding vehicle in the current lane at the set speed (25 m/s), and the longitudinal relative distance between the subject and preceding  The target vehicle selection algorithm here proposed jumped directly from the target vehicle in the current lane to that in the adjacent one when the lane-changing intention was detected. According to Figure 22  When using the target vehicle selection method of the traditional ACC system, the target vehicle jumped  It can be seen from the simulation results that the maximum longitudinal deceleration of the subject vehicle was 1.94 m/s 2 during the entire control process, when using the target vehicle selection algorithm proposed in this paper. When using the target vehicle selection method of the traditional ACC system, the maximum longitudinal deceleration of the subject vehicle was 3.70 m/s 2 . The maximum longitudinal deceleration was reduced by 1.28 m/s 2 . However, the maximum acceleration was almost identical. This is because at the current speed, the acceleration of the subject vehicle was limited, which means that, within 8.5-10 s of the start of the simulation, the throttle opening of the subject vehicle had reached 100%. However, from the desired acceleration curve, it can also be seen that through the smooth transition of the target vehicle, the maximum desired acceleration was reduced by 1.14 m/s 2 when using the proposed target vehicle selection algorithm (the maximum desired acceleration was 2.24 m/s 2 ) compared with the target vehicle selection method of the traditional ACC system (the maximum desired acceleration was 3.38 m/s 2 ).

Conclusions
In this paper, a target vehicle selection algorithm based on the prediction of the preceding vehicle's lane-changing intention was proposed. This lane-changing intention was identified by the lane-changing intention prediction algorithm based on the sliding window SVM, as trained on the NGSIM dataset. The lane-changing intention prediction algorithm proposed in this paper was applicable to the preceding vehicle both in the current lane and in the adjacent one. Through comparisons with the target vehicle selection method of the traditional ACC system, the simulation results indicate that the target vehicle selection algorithm proposed in this paper can respond to the lane change of the preceding vehicle in advance, thereby effectively reducing the longitudinal acceleration fluctuation and avoiding collisions under dangerous lanechanging conditions. As future work, the trajectory of the preceding vehicle will be predicted, to further improve the driving safety of the subject vehicle. Meanwhile, the proposed algorithm will be verified on a real vehicle platform, to verify the real-time ability of the algorithm and its robustness to interference in real road environments.