1. Introduction
With the development of automotive science and technology, the importance of autonomous vehicles is becoming increasingly prominent. Their practicality in both military and commercial applications continues to grow [
1]. Obstacle avoidance is a critical capability of autonomous vehicles. It refers to the ability to perceive the vehicle’s surroundings through sensors and control the vehicle to safely navigate around obstacles without collisions. In vehicular safety incidents, rear-end collisions account for a significant proportion [
2]. Rear-end collisions often result from inadequate following distance, driver distraction, and unexpected sudden traffic congestion [
3]. Currently, collision avoidance systems are becoming standard auxiliary systems for autonomous vehicles. Depending on specific traffic situations, they are categorized into two collision avoidance methods: steering and braking [
4].
The rapid development of vehicle sensing technology has enabled ACC to effectively reduce the occurrence of rear-end collisions. However, in dynamic urban road environments, active steering collision avoidance is often required to ensure the safety of vehicle operation [
5,
6,
7,
8]. Since then, many different obstacle avoidance methods for autonomous vehicles and various successful implementations have been reported in the literature. These methods aim to enable vehicles to navigate swiftly and steadily through obstacles. Among numerous obstacle avoidance algorithms, MPC is the most widely used technique [
9]. Using the MPC framework can improve the tracking accuracy of ACC [
10]. Combining hybrid system theory with multi-objective ACC, in multi-target traffic scenarios, the objective function is modeled as a quadratic cost function of discrete-time piecewise affine systems. The optimal state feedback control law was found by solving the finite-time optimal control problem with dynamic programming [
11]. An ACC system model is established using self-aware vehicles and inter-vehicle dynamics. Based on an MPC method utilizing Laguerre orthogonal basis functions, the complexity of the optimization problem in ACC applications is reduced [
12]. Combine MPC with ACC to design a variable-weight model predictive controller. It employs the gaussian naive bayes algorithm to predict the future behavior of vehicles ahead and dynamically adjust the weighting coefficients in real-time [
13]. All the above-mentioned references focus solely on longitudinal dynamics and do not consider steering maneuvers for obstacle avoidance.
If braking control alone cannot achieve collision avoidance, active steering must be employed to avoid collisions with obstacles. Typically, a hierarchical two-level controller is employed, comprising an upper-level path planning controller and a lower-level trajectory tracking controller. To improve the vehicle’s obstacle avoidance capability, an obstacle avoidance control strategy based on the vehicle’s lateral dynamics model is proposed. This strategy includes a forbidden zone penalty function and prediction distance multiplication. Its effectiveness is validated through simulation experiments. However, it does not consider dynamic obstacles [
14]. The motion planner, based on NMPC, enhances computation speed by reducing optimization variables. It simplifies non-convex constraints, ensuring driving safety. Additionally, it achieves a good balance between computational load and accuracy. However, the motion planning performance is poor in dynamic environments [
15]. Using adaptive segmented Bezier curves, dynamic environment obstacle avoidance trajectory planning is conducted for autonomous vehicles. The stability of the vehicle during high-speed obstacle avoidance is verified through simulation. However, emergency braking of the vehicle was not considered during the avoidance process [
16]. Combining event triggering with MPC, motion planning and control for autonomous vehicles are conducted. This is based on trajectory tracking errors as triggering conditions at different frequencies. It reduces computational costs while ensuring driving safety. However, the article only considers static obstacles [
17]. In motion planning considering predictive risk, predictions of future trajectories of surrounding vehicles are integrated. This helps assess driving risks. When surrounding vehicles engage in emergency acceleration or deceleration, risks can be effectively avoided, thus enhancing driving safety. However, the considered vehicle model is relatively simple, and high-speed scenarios are not taken into account [
18]. Using MPC, a hierarchical structured path planning and tracking controller is developed. This enables the planning of safe avoidance paths, allowing vehicles to respond to emergency situations. However, the considered vehicle speed is relatively low [
19]. Based on the improved potential field model and hidden markov model, trajectory tracking is conducted using MPC. This enables dynamic obstacle avoidance in complex traffic environments. However, driver characteristics and emergency conditions are not considered in the paper [
20]. Combining convex approximation principles of obstacle avoidance with MPC, comprehensively considering factors such as obstacle vehicle shapes, road constraints, road centering, and priority for left lane changing to achieve path planning in complex dynamic traffic environments. However, the detailed decision-making process complicates the control mode, which may hinder system stability [
21]. Combining the adaptive speed zone controller and the path planning controller enhances speed adaptability. It also generates optimal paths through multiple obstacles. However, the impact of preceding vehicle acceleration changes on the system is not considered [
22]. A secure and anti-collision multi-platoon control design approach is proposed to ensure the desired inter-platoon and intra-platoon tracking performance with a collision-free guarantee. It is formally proved that the inter- and intra-platoon tracking errors converge to small neighborhood around zero [
23].A bandwidth parameter-dependent co-design approach is proposed for each train to determine the desired cruise controller gains and event scheduler parameters. Furthermore, under the designed cruise controllers, the follower trains can maintain the desired gap reference from their predecessors and keep the same speed profile with the leader train, while simultaneously realizing promising communication resource efficiency [
24].
This paper addresses the situation where autonomous vehicles cannot meet obstacle avoidance requirements using emergency braking alone. Building upon ACC, the paper introduces active steering control for autonomous vehicles. A hierarchical controller is adopted, where the upper-level planner employs NMPC for path planning based on the vehicle’s kinematic model. It designs obstacle avoidance functions based on the relative distance between the ego vehicle and obstacle vehicles, which is obtained through onboard LiDAR detection in real-time. This distance, combined with a safety distance model, informs the decision-making model for unmanned driving vehicle braking/steering while maintaining vehicle following. The lower controller, based on the vehicle’s three degrees of freedom model, utilizes MPC for trajectory tracking. Finally, a CarSim/Simulink integrated simulation platform is constructed to verify the proposed algorithm under three scenarios: high-speed avoidance of dynamic obstacles in dual-line conditions, avoidance of static obstacles in straight-line conditions, and following scenarios in straight-line conditions.
The organization of this article is as follows. The overall control framework for vehicle braking and steering is introduced in
Section 2. The combination of the upper controller MPC with ACC and the design of the lower controller are presented in
Section 3. The design of the switching strategy and improvements to the obstacle avoidance function are shown in
Section 4.
Section 5 validates the proposed controller through three scenarios, and comparing the real-time performance of the controller improved with ADMM to that of the traditional controller during obstacle avoidance. Finally, a brief conclusion is given in
Section 6.
3. Model Establishment
In this section, we describe the hierarchical control framework utilized in our autonomous driving system, which consists of two main controllers, the upper controller and the lower controller. Each controller has distinct roles and functions, which are crucial for the overall system’s performance.
The upper controller utilizes NMPC for path planning, dynamically avoiding obstacles using real-time data from onboard LiDAR sensors, optimizing the path based on current road conditions and the surrounding environment, and making high-level strategic decisions to ensure safety and efficiency. The lower controller employs MPC for trajectory tracking, executing the path provided by the upper controller with real-time adjustments to the vehicle’s trajectory. It calculates the necessary control inputs, such as steering angles, acceleration, braking, and handles ACC to maintain a safe distance from the preceding vehicle by solving a quadratic programming problem using the ADMM for precise speed adjustments.
3.1. Upper Controller Design
3.1.1. Car-Following Mode
The car-following mode is the main function of ACC, and it directly influences the performance of the entire ACC controller. Therefore, this section develops an ACC controller based on MPC [
25].
By analyzing the kinematic relationship between the two vehicles, as shown in
Figure 2, and considering the acceleration and acceleration rate of the two vehicles, the kinematic equations of the two vehicles are obtained as follows:
where
is the relative displacement,
is the relative velocity,
is the velocity of the host vehicle,
is the acceleration of the lead vehicle,
is the acceleration of the host vehicle,
T is the time constant of the lower controller,
represents the desired acceleration, and
denotes the rate of change of acceleration.
Taking
as the state variable and
as the control variable, the above equations are transformed into state-space representation as follows:
where
,
,
,
,
.
Selecting
as the output variable of the system, where
represents the distance error, the state equation of the system can be expressed as follows:
where
C is the output matrix, and
represents the minimum safety distance.
,
, and in this paper,
is set to 5 m.
3.1.2. Predictive Model and Objective Function Design
The future behavior of the ACC system is forecasted using MPC, which generates prediction equations within the specified range of the above equation.
where
represents the set of predicted state variables,
represents the set of predicted outputs,
represents the output variable sequence.
and
represent system matrices,
and
represent input matrices,
and
represent disturbance matrices,
and
represent error matrices, and
.
Using the MPC framework, design the following objective function. The control objective is to ensure that the vehicle can accurately track the desired speed and acceleration, while also making the control process smoother.
where
Q and
R are the weight matrix of outputs and control inputs. The elements of
Q is chosen based on the desired performance criteria, such as maintaining a safe distance from the lead vehicle and achieving smooth acceleration and deceleration.
R is chosen to balance the need for precise control with the desire to minimize control effort, and
u is the control vector matrix.
Predict the state of steps in the future based on the system model. Convert the objective function and constraints into an optimization problem, and generate a control input sequence by solving the optimization problem . The first control input in the sequence of inputs is applied to real systems.
Taking into account factors such as vehicle performance, velocity, acceleration, and desired acceleration, the constraint conditions are set as follows:
3.1.3. Transformation and Solution of the Quadratic Programming Problem
Equation (
5) establishes the general form of the objective function. To facilitate machine solving and obtain the optimal control sequence, it must be transformed into a quadratic programming problem. The constraints in Equation (
6) can be organized as follows:
where
,
,
,
,
,
,
.
At this point, Equation (
5) can be transformed into the standard form of a quadratic programming problem, abbreviated as:
The standard quadratic programming problem can be solved using MATLAB’s quadprog function. Based on our previous research on improving the MPC solver with ADMM [
26]. The ADMM is a powerful optimization technique used to solve complex problems efficiently by breaking them down into simpler sub-problems. This section provides a detailed explanation of how ADMM enhances the performance of the solution process, especially in the context of the proposed MPC-ACC integration, and compares it with other optimization methods. ADMM combines the benefits of dual decomposition and augmented Lagrangian methods. It is particularly effective for optimization problems that can be decomposed into smaller sub-problems. ADMM can handle various constraints and objective functions, making it versatile for different types of optimization problems. The longitudinal speed control problem is formulated as a quadratic programming problem. ADMM efficiently decomposes and solves this problem, reducing computational load and improving real-time applicability. Interior point methods are powerful for solving convex optimization problems but can be computationally expensive for large-scale problems due to the need to solve large linear systems at each iteration. We apply ADMM in the rolling optimization of MPC to enhance the controller’s solving speed. Furthermore, the controller used for vehicle trajectory tracking in this paper is the MPC based on our proposed ADMM.
At each sampling instant, the vehicle detects the current environmental information through sensors and transfers its state variables to the MPC. Then, the above objective function is transformed into a quadratic programming problem for solution, obtaining the corresponding control sequence. The first value is applied to the control system, and the process is repeated at the next sampling instant.
3.2. Lower Controller Design
Equation (
3) provides the state equation for the upper-level controller, forming the basis for controlling the vehicle’s longitudinal motion. However, since the output variables contain only velocity, acceleration, and relative distance, they cannot directly influence an autonomous vehicle. Therefore, a lower-level controller is needed to precisely control the vehicle’s braking and driving modes based on the desired acceleration. Converting the upper controller’s acceleration commands into brake pressure and throttle opening allows direct control over the vehicle’s motion [
27].
This paper only considers air resistance and rolling resistance, assuming the vehicle travels on a flat road surface and neglecting road gradient resistance. Hence, the acceleration equation for the vehicle’s longitudinal motion [
28] can be given by the following equation:
where
m represents the vehicle mass,
represents the resistance acceleration,
represents the total resistance force,
represents the air resistance, and
represents the rolling resistance.
Rolling resistance
can be obtained from the following equation:
where
represents the rolling resistance coefficient, and
g represents the gravitational acceleration, here it is assumed that
g is approximately 9.8 m/
.
The calculation method for air resistance can be obtained from the following equation:
where
represents the drag coefficient,
represents the frontal area, and
represents the air density, typically around 1.29 kg/
for dry air.
During braking and driving mode transitions, it’s crucial to prevent simultaneous operation and avoid overly frequent switches, as this could affect vehicle comfort. The switching logic based on desired acceleration is as follows:
where
represents the desired throttle opening.
where
represents the desired brake master cylinder pressure.
When the desired acceleration is greater than or equal to the required acceleration for overcoming resistance, the vehicle operates in driving mode. At this point, the driving force
of the vehicle is:
where the conversion factor for rotational mass
can be obtained from an empirical formula.
At this point, the required output torque of the engine can be calculated from the following equation:
where
represents the radius of the wheels,
represents the transmission gear ratio,
represents the differential gear ratio, and
represents the mechanical efficiency of the transmission system.
The throttle opening in driving mode can be obtained through the relationship between engine speed, throttle opening, and engine output torque.
where
N represents engine speed, and
represents the relationship expression among them.
When the vehicle operates in braking mode, the vehicle’s braking demand torque can be obtained from the following equation:
The brake master cylinder pressure can be obtained from the following equation:
where
represents the ratio of braking force to brake master cylinder pressure.
Equations (16) and (18) provide the desired throttle opening and brake master cylinder pressure for the vehicle in acceleration and braking modes, respectively. These values directly control the vehicle to maintain the desired speed.
6. Conclusions
This paper addresses the situation where emergency braking alone cannot meet the obstacle avoidance requirements for autonomous vehicles. It proposes a control strategy combining adaptive cruise control with obstacle avoidance functions, introducing an emergency obstacle avoidance feature. The overall control mode is divided into following mode, emergency braking mode, and steering avoidance mode. In the emergency avoidance mode, nonlinear model prediction is used for local path planning based on the vehicle’s kinematic model. A quintic polynomial is employed for fitting. In terms of control strategy, the vehicle’s emergency steering distance is computed and combined with the obstacle avoidance function. This allows the vehicle to perform emergency avoidance while ensuring driving safety. Simulations are conducted under three different scenarios: dynamic obstacle avoidance with double lane changes, emergency braking and steering, and following scenarios. Results from various simulation scenarios indicate that the designed controller can quickly and stably track the preceding vehicle’s speed while maintaining a safe distance. After avoiding obstacles, the vehicle can return to the reference trajectory. During obstacle avoidance, the lateral angle changes smoothly with small fluctuations, ensuring vehicle stability. In emergency braking and steering avoidance scenarios, the lateral acceleration remains within 0.4 g, and the mode switches smoothly and rapidly. The proposed control strategy meets the requirements of responsiveness, stability, and comfort, allowing for obstacle avoidance through emergency braking or steering in critical situations.