Next Article in Journal
Monitoring Local Earthquakes in Central Italy Using 4C Single Station Data
Next Article in Special Issue
Integration of Context Awareness in Smart Service Provision System Based on Wireless Sensor Networks for Sustainable Cargo Transportation
Previous Article in Journal
Integration of Fine Model-Based Decomposition and Guard Filter for Ship Detection in PolSAR Images
Previous Article in Special Issue
Multi-Sensor Fault Detection, Identification, Isolation and Health Forecasting for Autonomous Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Autonomous Collision Avoidance Using MPC with LQR-Based Weight Transformation

Department of Mechanical Engineering Sciences, Connected Autonomous Vehicle Lab (CAV-Lab), University of Surrey, Guildford GU2 7XH, UK
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(13), 4296; https://doi.org/10.3390/s21134296
Submission received: 29 March 2021 / Revised: 1 June 2021 / Accepted: 7 June 2021 / Published: 23 June 2021
(This article belongs to the Special Issue Artificial Intelligence and Internet of Things in Autonomous Vehicles)

Abstract

:
Model predictive control (MPC) is a multi-objective control technique that can handle system constraints. However, the performance of an MPC controller highly relies on a proper prioritization weight for each objective, which highlights the need for a precise weight tuning technique. In this paper, we propose an analytical tuning technique by matching the MPC controller performance with the performance of a linear quadratic regulator (LQR) controller. The proposed methodology derives the transformation of a LQR weighting matrix with a fixed weighting factor using a discrete algebraic Riccati equation (DARE) and designs an MPC controller using the idea of a discrete time linear quadratic tracking problem (LQT) in the presence of constraints. The proposed methodology ensures optimal performance between unconstrained MPC and LQR controllers and provides a sub-optimal solution while the constraints are active during transient operations. The resulting MPC behaves as the discrete time LQR by selecting an appropriate weighting matrix in the MPC control problem and ensures the asymptotic stability of the system. In this paper, the effectiveness of the proposed technique is investigated in the application of a novel vehicle collision avoidance system that is designed in the form of linear inequality constraints within MPC. The simulation results confirm the potency of the proposed MPC control technique in performing a safe, feasible and collision-free path while respecting the inputs, states and collision avoidance constraints.

1. Introduction

MPC has been recognised as one of the most powerful multi-objective optimal control techniques for a wide range of applications with its ability to formulate the system constraints as a finite-horizon constrained optimisation problem. MPC performance is highly reliant on the weights on each objective but the challenge is that there is no systematic procedure to select the weights to assure the best performance of MPC. Currently, suitable weight selection is a time consuming procedure that requires a large number of trial and error selections and many computer simulations [1,2,3]. The complexity increases with an increase in the number of control objectives [4]. Hence, the necessity of developing a precise tuning procedure for MPC weights has arisen. This has been investigated by previous research works using different techniques [5,6]. For example, [6] presented a solution for selecting weights in order to match the MPC as an LQR-based linear controller. In this work, an LMI-based LQR approach was chosen by recasting the DARE in the LMI form to calculate the weighting matrices of an unconstrained MPC. Although this approach was found as a solution for MPC control parameters, the cost function was limited to have zero cross state-space terms, such that only a few controllers could be matched. In [7], the matching controller, i.e., the task of matching the MPC performance with the performance of a favorite controller, has been addressed by presenting a systematic method to tune the parameters of generalized unconstrained MPC for SISO systems [8]. In this approach the tuning parameters were calculated based on the desired closed-loop transfer function in order to relate the tuning parameters to the desired specification of the system. However, in this algorithm, a higher control horizon leads to a set of inequality bilinear constraints in the unknown elements, which cannot be solved using convex optimisation for linear MPC. In [9], the authors proposed an analytical tuning method for the Dynamic Matrix Control (DMC) algorithm. DMC is one of the primary versions of MPC that utilizes the step response of the plant, which can be approximated by the first-order plus delay time (FOPDT) model. The proposed analytical method offers several advantages, such as low computational cost and the conservative behaviour of the control system in chemical plants. However, this approach fails to demonstrate the effectiveness of applying quadratic programming solvers or additional adaptive mechanisms within the controller architecture. Other tuning strategies have been investigated by researchers using intelligent learning algorithms [10,11]. In [12,13], the authors implemented neural networks and fuzzy-based decision making to tune the MPC parameters, without using the reference system model. The authors of [1] proposed an automated strategy for an MPC-based motion cueing algorithm optimized using a multi-objective genetic algorithm. This strategy found suitable MPC weights, aiming to demonstrate the superiority of the proposed tuning strategy over empirical tuning methods without the prior knowledge of the plant model. The general idea behind auto-tuning using learning and neural network algorithms is that the tuning parameters are updated along with the optimisation algorithm, and thus the solution is always set to the optimal value. Moreover, it is not required to have a great amount of knowledge about the system model to initialize the tuning procedure. However, it is needed to operate two optimisation procedures per time step (optimisation required by intelligent algorithms and additional optimisation required by the MPC controller) that may require overhead computational time. In [14], the authors proposed a full review of tuning strategies for different MPC formulations, such as dynamic matrix control, generalized predictive control and state-space representation of an MPC controller. Moreover, a review on a few autotuning strategies is available in this work. The authors mentioned that these strategies benefit from not having full knowledge of the model of the system to initialize the tuning procedure. However, the major disadvantage of the autotuning strategy is the computational overhead, which has to perform two optimizations compared to offline tuning strategies. In [15], the authors proposed an evolutionary algorithm using a non-dominated sorting genetic algorithm for a multi-objective optimisation problem within an MPC framework. This method offers simple procedure to handle MPC constraints. Moreover, this algorithm suggests a flexible representation of the decision variables that expedite the controller performance. However, this algorithm suffers from computation overhead, as it requires two optimisations per time step.
In this paper, the inverse optimal control problem [16,17,18] of a discrete time linear quadratic regulator (DLQR) is used for designing an MPC controller to perform collision avoidance manoeuvres by selecting appropriate weighting matrices. In general, the DLQR weights ( Q , R ) are used to solve the discrete algebraic Riccati equation (DARE) for discrete time systems in order to find a solution (P) that is a real symmetric positive definite matrix. Then, using P, an optimal state feedback control gain can be obtained from the DLQR control law. However, these weighting matrices obtained from DLQR can also be used to compute the controller of unconstrained MPC [6]. Therefore, using the aforementioned concept, the objective of this paper is to design the weighting matrix Q of the DLQR in such a way that Q can be used within the MPC framework, while assuring asymptotical stability of the system [19]. DLQR and unconstrained MPC can be related through DARE, but using the weighting matrix obtained from the inverse optimal control problem of DLQR in MPC design cannot ensure solving the reference tracking problem. To overcome this problem, we recast DLQR into a discrete time linear quadratic tracking (DLQT) problem [20] to design the weighting matrix Q, which can be used for MPC design to ensure solving the reference tracking problem. In order to do this, the dynamics of the vehicle and Ackerman pole-placement criteria are considered in the formulation of Q selection through DLQT, which will be used in MPC design for a trajectory planning task. In order to highlight the practical use of this analytical tuning technique, the proposed technique is implemented to generate safe, admissible and collision-free trajectories for autonomous vehicle collision avoidance systems. In this work, a collision avoidance system is formulated as a finite horizon optimisation problem with vehicle dynamics, while the collision avoidance constraints are formulated within the MPC algorithm. However, collision avoidance constraints are generally non-convex in the context of trajectory planning, which limits the feasibility and uniqueness of the solution of the optimisation problem. To tackle this problem, researchers provide solutions such as convexification [21], changing the reference frame [22,23] and affine linear collision avoidance constraints [24]. In this paper the collision avoidance constraints are formulated in the form of linear affine constraints to perform trajectory planning manoeuvres on a curve path. Moreover, in the formulation of the collision avoidance constraints, the longitudinal position of the vehicle is excluded, allowing the designers to reduce the state dimensions of the system. This is advantageous, as removing a state from the system model helps in lowering the computational overhead for solving the optimisation problem in MPC. The effectiveness of the entire framework for autonomous collision avoidance system on a curved road is validated in a co-simulation platform where a high-fidelity vehicle model is simulated in IPG-CarMaker while the proposed MPC design is implemented in MATLAB/Simulink.
The contributions of this paper are summarised as follows: (i) Design of an analytical tuning technique to perform a collision-free trajectory for autonomous vehicles, and (ii) development of a mathematical framework to design convex constraints in order to perform collision avoidance manoeuvres on a curved path.

2. Discrete Time Optimal Controller Design

In this section, the tuning strategy for designing the MPC controller with the appropriate selection of the weighting matrix Q is described. To design the tuning strategy, a discrete time inverse optimal control problem is formulated using a linear time invariant (LTI) system:
x ¯ ( k + 1 ) = A d ¯ x ¯ ( k ) + B d ¯ u ( k )
The objective of this strategy is to design the Q matrix from a discrete time algebraic Ricatti equation, which will ensure almost equal optimality between the DLQR and the unconstrained MPC control problem. It is noted that in this design the weighting factor R is chosen as a fixed value as in [19]. Moreover, the weighting matrix Q obtained from the inverse DLQR problem should be designed in such a way that the closed-loop poles are placed in the desired location within the unit circle by satisfying user-defined specifications using Ackerman’s pole placement formula. It is noted that this design is a procedure for finding the MPC weighting matrix Q by obtaining the sub-optimal solution from the DLQR controller in the presence of the constraints.
In the following subsections a general discrete infinite linear quadratic regulator problem is briefly overviewed and then a recast in DLQR as a discrete linear quadratic tracking (DLQT) problem. Next, with the concept of the inverse DLQT control problem, a strategy for designing an analytical approach to select the Q matrix for the MPC control design will be discussed.

2.1. Discrete Time Linear Quadratic Regulator (DLQR)

To design the discrete time optimal controller, the standard infinite horizon quadratic cost needs to be minimized, corresponding to the discrete time system model (1):
J = k = 0 x ¯ ( k ) Q T x ¯ ( k ) + u ( k ) R T u ( k )
where Q = Q T 0 and R = R T = [ 10 0 0 9 × 10 2 ] > 0 . The solution of the DARE can be obtained to minimize the performance index (2) and is given by:
P = Q + A ¯ d T P A ¯ d A ¯ d T P B ¯ d ( R + B ¯ d T P B ¯ d ) 1 B ¯ d T P A ¯ d
The discrete time optimal controller gain K ¯ can be achieved using the matrix P = P T = P 11 P 12 P 13 P 21 P 22 P 23 P 31 P 32 P 33 > 0 calculated from (3) to minimizes the cost function (2). The controller gain K ¯ can be written as:
K ¯ = ( R + B ¯ d T P B ¯ d ) 1 B ¯ d T P A ¯ d
which gives the control law:
u ( k ) = K ¯ x ¯ ( k )

2.2. Discrete Time Linear Quadratic Tracking (DLQT)

In this paper, an augmented system is presented based on the system dynamic (1) and the reference trajectory. The objective for the DLQT problem is to find the optimal control law in such a way that the designed controller can be ensured to track the reference trajectory for the linear system (1) within the predefined finite horizon performance index. The augmented system becomes:
X k + 1 = x ¯ k + 1 r k + 1 = A d ¯ 0 0 F A ^ x ¯ k r k X k + B ¯ d 0 B ^ u ( k )
where F is assumed to be Hurwitz. This strategy is adopted from [20], and for the brevity of the paper, an interested reader can refer to this technical paper for calculation of the DLQT algebraic Riccati equation:
Q 1 P 1 + A ^ T P 1 A ^ A ^ T P 1 B ^ ( R + B ^ T P 1 B ^ ) 1 B ^ T P 1 A ^ = 0
where Q 1 is the weighting matrix for the augmented system (1):
Q 1 = Q 0 0 Q
and P 1 is the solution of the algebraic Riccati equation:
P 1 = P 1 T > 0
Then the control law can be written as:
u ( k ) = ( R + B ^ T P 1 B ^ ) 1 B ^ T P 1 A ^ X ( k )
where the value of the controller gain is:
K ^ = ( R + B ^ T P 1 B ^ ) 1 B ^ T P 1 A ^
For the reference tracking problem using MPC for the system (6), the Ricatti Equation (7) holds. The Q matrix obtained from the DLQR problem can be used for the DLQT control problem as shown in (8). Therefore, Q can be obtained by solving the inverse DLQR optimal control problem to use it in the reference tracking problem from the DLQT approach. Hence, we can use the Q matrix obtained from the inverse DLQR approach in the MPC control problem, since the MPC reference tracking problem is equivalent to the DLQT control problem. The following section describes the system model that has been used for the MPC tuning strategy.

3. System Model

In this paper, a kinematic vehicle model is used to capture the vehicle model in MPC [25]. This model assumes no slip between the tyre and the road, and is found to be a suitable model for trajectory planning for the application of collision avoidance manoeuvres [26,27]. Under the assumption of small angles approximation [28] the vehicle bicycle model is:
ξ ˙ = v x
y ˙ = v x ψ + l r l f + l r v x δ f
v ˙ x = a x
ψ ˙ = v x δ f l f + l r
where ξ and y are the longitudinal and lateral displacement of the vehicle in inertial coordinates, respectively, ψ is the inertial heading angle of the vehicle, v x is the longitudinal velocity of the vehicle, l f is the distance of the front axle from the centre of gravity (C.G), and l r is the distance of the rear axle from C.G. The control inputs are the steering angle δ f and longitudinal acceleration a x . For a given nominal velocity v x , n o m , the system in (12), (13), (14), (15) can be expressed using an LTI system using the compact notation given below:
x ˙ = A x + B u
where x [ ξ , y , v x , ψ ] T X R 4 is the state vector and u [ δ f , a x ] T U R 2 is the input vector with X and U are polyhedron regions used as state and input constraints, respectively. The structure of the system matrix A and input matrix B are as follows:
ξ ˙ y ˙ v ˙ x ψ ˙ = 0 0 1 0 0 0 0 v x , nom 0 0 0 0 0 0 0 0 A ξ y v x ψ + 0 0 v x , nom l r ( l r + l f ) 0 0 1 v x , nom ( l r + l f ) 0 B δ a x
where v x , n o m is the nominal longitudinal velocity of the vehicle, which is chosen in the same way as the initial speed of the vehicle [3]. Then system (16) is descretised with a sampling time t s to obtain the linear time invariant discrete system shown below:
x ( k + 1 ) = A d x ( k ) + B d u ( k )
where A d = e A t s = 1 0 t s 0 0 1 0 v x , nom t s 0 0 1 0 0 0 0 1 and B d = B t s = 0 0 v x , nom l r t s L 0 0 t s v x , nom t s L 0
As the dynamics of the state ξ in system (17) depends only on v, it is possible to further simplify the system for trajectory generation:
x ¯ ( k + 1 ) = A d ¯ x ¯ ( k ) + B d ¯ u ( k )
where x ¯ = [ y , v , ψ ] T is the system states, u = [ δ f , a x ] is the system inputs, and matrices A ¯ d and B ¯ d are obtained by extracting the appropriate rows and columns of A d and B d , respectively, in (17).

4. Selection of Weighting Matrix Q for MPC Design

In order to obtain the appropriate Q matrix, for designing an MPC-based reference tracking controller, we have chosen Q = d i a g ( Q 11 , Q 22 , Q 33 ) for system (19) and the optimal control gain K ¯ with a fixed weighting factor R. For the reference tracking problem, MPC can be recast as a DLQT problem as described in Section 2.2. Therefore, it can be inferred that the weighting matrix Q obtained from the inverse DLQT problem will provide almost the same controller gain for MPC, which is described in the following Theorem.
Theorem 1.
MPC will ensure the reference tracking for system (19), guaranteeing the sub-optimality of the DLQT control problem by satisfying (2)–(5) with Q 1 T = Q 1 0 , R T = R > 0 and P 1 T = P 1 > 0 , where Q 1 = d i a g ( Q , Q ) , R 1 = d i a g ( R , R ) and the controller gains K ^ = d i a g ( K ¯ , K ¯ ) with Q = d i a g ( Q 11 , Q 22 , Q 33 ) , and P 1 = d i a g ( P , P ) where P will be as (3) and K ¯ = k 1 k 2 k 3 k 4 k 5 k 6 , respectively.
Proof. 
Equation (3) can be recast as a DLQR problem:
Q = P A ¯ d T P A ¯ d + A ¯ d T P B ¯ d ( R + B ¯ d T P B ¯ d ) 1 B ¯ d T P A ¯ d
where P = P T = P 11 P 12 P 13 P 21 P 22 P 23 P 31 P 32 P 33 > 0 , R = R 1 0 0 R 2 > 0 and
Q = Q T = Q 11 Q 12 Q 13 Q 21 Q 22 Q 23 Q 31 Q 32 Q 33 0 . The corresponding control law (4) can be written as:
K ¯ = k 1 k 2 k 3 k 4 k 5 k 6 = ( R + B ¯ d T P B ¯ d ) 1 B ¯ d T P A ¯ d
Since the input B d ¯ matrix in (19) includes only three non-zero elements, the three components of controller gains ( k 2 , k 4 , k 6 ) will be zero, and the rest of the gains will be non-zero elements. The following section describes the system model required for designing the weighting matrix within the MPC controller.    □
Now, using (19), (21) and the matrices (P,Q,R) in (20) yields the diagonal and off-diagonal elements of the Q matrix as shown in (25)–(27) and
Q 12 = k 2 P 11 v l r t s L + P 13 v t s L P 12 t s k 5
Q 13 = v t s P 11 k 3 P 11 v l r t s L + P 13 v t s L + P 12 t s k 6
Q 32 = v t s P 12 [ [ v l r L t s ( v t s P 11 + P 13 ) + v L t s ( v t s P 13 + P 33 ) ] k 2 + ( v t s P 12 + P 23 ) k 5 ]
respectively. Since matrix Q is diagonal, all of the off-diagonal elements are equal to zero, i.e., Q 12 = Q 13 = Q 32 = 0 . Therefore, using these conditions and gains k 2 = k 4 = k 6 = 0 , the elements of the P matrix can be obtained, i.e., (22) yields (32). Using (32) in (23) yields (29), and using (32) in (24) results in (33). Now, using the elements (32), (33), (29) and the R, B d matrices in (21), Equations (34)–(36) will hold. Finally, by solving (34)–(36), Equations (28), (30) and (31) can be obtained. It is noted that the gain matrix K ¯ needs to be specified such that the closed-loop poles of the system (18) would be inside the unit circle. In this paper, Ackerman’s pole placement formula is used to obtain the gains ( K ¯ ) by specifying the closed-loop pole location inside the unit circle. This method solves the solution of the Riccati equation to generate optimal weights using an LQR controller. The generated gains are then used in the MPC controller, which inherits all of the properties and optimal solutions from the LQR controller when MPC constraints are not active. However, when the constraints are active, the solution of the Riccati equation in LQR provides a sub-optimal solution for MPC, as it satisfies the constraints of the Quadratic Programming (QP) problem indirectly. In other words, the set of states x ¯ ( k ) where the matching occurs is the polyhedron, where the unconstrained optimizer (i.e., unconstrained MPC, therefore the DLQR controller) satisfies the constraints of the QP problem [6].
Q 11 = ( P 11 v l r l r + l f t s + P 13 v l r + l f t s ) k 1
Q 22 = P 22 t s k 5
Q 33 = v t s P 13 + [ v l r l r + l f t s ( v t s P 11 + P 13 ) + v l r + l f t s ( v t s P 13 + P 33 ) ]
P 13 = R 1 k 1 v t s L [ k 3 v t s L + ( 1 v t s L ) ] v 4 t s 4 k 1 L 3 [ v l r t s k 3 L l r v t s ] ( 1 l r k 3 L ) v 3 t s 3 L 2 [ ( 1 v l r t s k 1 L ) ( 1 v t s L ) ( 1 l r k 3 L ) ] + v 2 l r t s 2 L ( l r k 3 L 1 ) v 3 t s 3 k 1 k 3 L 3
P 11 = P 13 v L t s k 3 v l r L t s k 3 v t s
P 33 = P 11 [ v t s l r L k 1 v 2 l r 2 t s 2 L 2 ] k 1 R 1 + P 13 [ v t s L v 2 l r t s 2 k 1 L 2 ] k 1 v 2 t s 2 L 2
P 22 = R 2 k 5 t s t s 2 k 5
P 12 = 0
P 23 = 0
k 1 = P 11 v l r t s L + P 13 v t s L R 1 + v 2 l r 2 t s 2 P 11 L 2 + [ P 13 v l r t s L + P 33 v t s L ] v t s L
k 3 = P 11 v 2 l r t s L + P 13 [ v t s P 13 + P 33 ] v t s L R 1 + P 11 v 2 t s 2 L 2 + [ P 13 v t s L + P 3 3 v t s L ] v t s L
k 5 = P 22 t s R 2 + P 22 t s 2
k 2 = k 4 = k 6 = 0

5. Constraint Design

In this section, the mathematical framework for computing the collision avoidance constraints that are used to plan trajectories on curved roads is presented. In the absence of traffic vehicles, a convex region is designed to ensure that the planned vehicle trajectories remain within the boundaries of the road. On the other hand, in the presence of obstacles, a convex region is designed to ensure that the planned trajectories remain within the road boundaries and maintain a safe distance from the obstacle. A detailed explanation of the aforementioned constraints designs is presented in the following subsections.

5.1. Road Boundary Constraints

Using the edges of a curved road as constraints within the MPC framework results in non-convex constraints, which is not suitable for a Quadratic Programming (QP) framework [29]. Consequently, boundary constraints are designed by assuming that the road segment in the immediate vicinity of the subject vehicle is part of a straight road (Figure 1). The edges of the virtual straight road are obtained by calculating the points P 1 and P 2 in Figure 1. These virtual straight lines can be constructed using the generated points P 1 and P 2 , followed by the slope equal to the heading angle of the upper and lower road boundaries. Moreover, the equation of these lines can be formulated in the form of linear inequality constraints, which can ensure that the planned trajectories lie within the edges of this virtual road. The point P 1 is located at the intersection of the left (outer) road edge with an imaginary line passing through the subject vehicle’s centre of gravity (C.G) and perpendicular to the subject vehicle’s longitudinal axis. The equations of the outer lane boundary and the intersected line are:
y o u t e r = f ( x o u t e r )
a o u t e r ξ + b o u t e r y + c o u t e r = 0
where (38) is the equation of the outer lane boundary, (39) is the equation of the intersected line perpendicular to the outer lane boundary, and the parameters a o u t e r , b o u t e r and c o u t e r in Equation (39) are the coefficients of the intersected line. The line passing through P 1 with a slope equal to the reference path heading angle ψ r e f forms the outer edge (left line) of the virtual straight road (blue line in Figure 1) with the following equation:
m o u t e r ξ y + P 1 y m o u t e r P 1 x < 0
where m o u t e r is the slope of the equation of the outer edge road and ( P 1 x , P 1 y ) are coordinate positions of point P 1 . From Equation (12) it is evident that the evolution of ξ depends on the longitudinal velocity of the vehicle. Therefore, the predicted longitudinal position ξ can be estimated using the initial position ξ 0 and the predicted velocity for the entire prediction horizon N p using the equation bellow:
ξ ¯ ( j ) = ξ 0 + i = 1 j ( v ¯ ( i ) · t s ) ; j = 1 , 2 , . . . , N p
ξ 0 is the current longitudinal position of the subject vehicle and v ¯ is the predicted nominal velocity. The equation above is substituted into Equation (40) to formulate the generalized constraint equation for N p ; different constraint equations given below:
m o u t e r ξ 0 + i = 1 j ( v ¯ ( i ) · t s ) y ( j ) m o u t e r P 1 x + P 1 y < 0
where the predicted nominal velocity and predicted lateral position can be obtained from the prediction model in MPC. For different values of j in (41), Equation (42) represents the outer edge of the virtual straight road constraint, which solely depends on two states of the vehicle (longitudinal velocity and lateral position of the vehicle). Similarly, the line passing through P 2 with a slope ψ r e f forms the right (inner) edge of the virtual straight road. The inner edge of the virtual straight road can be expressed as:
y i n n e r = f ( x i n n e r )
a i n n e r ξ + b i n n e r y + c i n n e r = 0
where (43) is the equation of the inner lane boundary and (39) is the intersected line perpendicular to the inner lane boundary. Consequently, in the same way as the upper bound, the lower hyperplane can be defined as:
m i n n e r ξ 0 + i = 1 j ( v ¯ ( i ) · t s ) y ( j ) m i n n e r P 4 x + P 4 y > 0
To decouple the orientation of the virtual straight road with the subject vehicle’s orientation, the edges are parameterised using ψ r e f . It is noted that, this technique is suitable to be implemented for different range of curvature of the road. Moreover, it can be ensured that the optimization problem in MPC will always be feasible, and guarantee the convexity on the curve road.

5.2. Collision Avoidance Constraints

As mentioned above the collision avoidance constraints are designed to ensure the subject vehicle evades the obstacle vehicle without any collisions. In literature it is common to design ellipsoids/rectangles around the obstacle to obtain the collision avoidance constraints [30,31]. However, these techniques result in non-convex optimisation problem which limits the uniqueness and feasibility of the solution of the optimisation. In this paper, the collision avoidance constraints are generated using two lines entitled as forward collision avoidance constraints (FCC) and rear collision avoidance constraints (RCC) as shown in Figure 2. This technique is inspired from [24], where the collision avoidance constraints are used for only straight driving conditions. The purpose of generating the FCC is to prevent front end collision while performing a collision-free lane change and the purpose of the RCC is to prevent rear end collision while returning to the original lane. The activation of FCC is when the subject vehicle is behind the lead vehicle while RCC is activated when the subject vehicle crosses the lead vehicle. In this framework, three points ( P 3 , P 4 , P 5 ) are required to generate collision avoidance constraints. These points can be calculated by intersecting virtual longitudinal and lateral axis of the lead vehicle (grey and yellow lines respectively) with a circle centred at the lead vehicle’s geometrical center, which provides the location of the points P 3 , P 4 , and P 5 . The following subsections explain the procedure for generating collision avoidance constraints.

5.2.1. Forward Collision Avoidance Constraints

The virtual line on the road segment representing FCC is the line that passes through the points ( P 3 x , P 3 y ) and ( P 4 x , P 4 y ) in Figure 3. Points ( P 3 x , P 3 y ) are obtained as a result of the intersection of the longitudinal axis of the lead vehicle (grey line in Figure 2):
a L o n x L + b L o n y L + c L o n = 0
with a circle centred at the the lead vehicle geometrical centre and radius of L x + l r L :
( x x L ) 2 + ( y y L ) 2 = ( L x + l r L ) 2
where L x is the safety distance, which can be defined as L x = v x t + L c . The longitudinal velocity of the subject vehicle expressed as v x , t is the desired time gap of the subject vehicle when approaching the lead vehicle, and finally L c is the lead vehicle length. Moreover, the parameters l r L , a L o n , b L o n , c L o n represent the distance of the centre of gravity of the vehicle to the rear wheels and coefficients of the intersected line, respectively. It is noted that at every time instant of MPC optimization, L x is updated according to the current value of the subject vehicle velocity ( v x ). For generating FCC, another set of points is required ( P 4 x , P 4 y ) . These points are generated by means of the intersection of the lateral axis of the lead vehicle (yellow line in Figure 2) with a circle of radius W:
( x x L ) 2 + ( y y L ) 2 = W 2
the parameter W = 1 2 W c + W L , where W c is the width of the subject vehicle and W L is the lane width plus the distance from the subject vehicle to the centre line of the road [24]. After defining two sets of points, it would be trivial to find the equation of the line for forward collision avoidance constraints, where the final equation will be:
m F C C · t s a F C C i = 1 j ( v ¯ ( i ) ) + ( 1 b F C C ) y + P 1 y m F C C P 1 x + m F C C · ξ 0 c F C C > 0
where m F C C is the slope of the forward collision avoidance constraint. The generated FCC divides the ( x , y ) plane into two regions. Region 1: a F C C x + b F C C y + c F C C > 0 , which is the safe region, and Region 2: a F C C x + b F C C y + c F C C < 0 , which represents the unsafe region. FCC forces the vehicle to be in a safe region while performing a lane change on a curved/straight road. Moreover, (49) represents a linear affine constraint approximation, which can be formulated in QP format.

5.2.2. Rear Collision Avoidance Constraints

Similar to FCC, RCC can be generated by following similar steps. The procedure for calculating the intersection point P 3 is identical to FCC, thus resulting in generating the equation of the RCC line (Figure 4):
m R C C · t s a R C C i = 1 j ( v ¯ ( i ) ) + ( 1 b R C C ) y + P 3 y m R C C P 3 x + m R C C · ξ 0 c R C C < 0
It is noteworthy that the aforementioned collision avoidance constraints can be adopted for the scenarios where (i) the subject vehicle needs to change a lane while performing the collision avoidance manoeuvre, and (ii) where more traffic members are present on the road that require multiple hyperplanes.
Remarks
  • One of the benefits of the proposed approach lies in the fact that there is only one parameter to be tuned (desired time gap) and the rest of the parameters are based on the geometry of the lead vehicle.
  • The design of the collision avoidance constrains is based on basic mathematical operation; therefore the aforementioned constraints for each traffic vehicle can be generated without any major computation overhead. Thus, it is suitable for real time implementation.
  • Reducing a state dimension in the system model helps in bringing down the computation requirement for solving the optimisation problem.
It is noted that by using boundary constraints and the appropriate FCC/RCC based constraints, a convex region representing safe zones on a curved road is generated that forces MPC to plan a safe and collision-free trajectory on the road.

6. Trajectory Planning Controller

In general, autonomous highway driving involves motion planning and control of a subject vehicle in order to maintain the velocity and keep the vehicle away from lane boundaries while avoiding possible collisions. The choice of manoeuvre to perform is the result of the decision-making process with the objective of following the desired trajectory x r e f , y r e f (Section 6.1) while respecting physical and design limitations of the subject vehicle. In this section, using the definition of the linear model in (16) and linear system constraints in Figure 5, a constrained linear quadratic optimal control problem is formulated over a prediction horizon N p .

6.1. Reference Trajectory Generator

The reference trajectory generator provides the longitudinal position x r e f ( s ) and lateral positions y r e f ( s ) as well as the orientation ( ψ r e f ( s ) ) of the road for the vehicle to follow. The generated paths are parametrized by curvature as a function of the distance s along the path. The equation of curvature can be formulated as follows:
κ = x ˙ r e f y ¨ r e f y ˙ r e f x ¨ r e f ( x ˙ r e f 2 + y ˙ r e f 2 ) 3 2
The reference trajectories are formulated using the clothoids method, which is expressed by Fresnel integrals [32,33]. The trajectories are parametrized by curvature κ as a function of distance s along the path as follows:
x r e f ( s ) = 0 s cos ψ r e f ( x ) d x
y r e f ( s ) = 0 s sin ψ r e f ( x ) d x
where (52) and (53) are constructed using the polynomial integration method of the Fresnel function applied to clothoid [34], and ψ r e f is calculated as follows:
ψ r e f ( s ) = 2 tan 1 ( y r e f , n y r e f , n 1 x r e f , n x r e f , n 1 )
where ( x r e f , n ) , y r e f , n , n = 1 . . . N are the sequence of N, the sampled points on the trajectory [35].

6.2. Trajectory Planning: MPC

For the trajectory planning using linear MPC, the system states and inputs are subjected to the following state and input constraints:
x ¯ X ¯ , u U
where X ¯ = { x ¯ R 3 : x ¯ m i n x x ¯ m a x } R 3 and U = { u R 2 : u m i n u u m a x } R 2 are states and inputs of the polytope admissible regions (subscripts m i n and m a x are the minimum and maximum of the corresponding values). The following cost function is formulated:
J = k = 0 N p 1 [ x ¯ r e f x ¯ t + k t Q 2 + u t + k t R 2 ] + x ¯ r e f x ¯ t + N t P 2
where x ¯ t + k | t is the predicted state trajectory at time t + k obtained by applying the control sequence U t * = [ u t T , , u t + N 1 T ] T to the system (18), starting from an initial state of ξ t | t . The parameter N p N + is the prediction horizon, whereas Q R 3 × 3 , P R 3 × 3 and R R 2 × 2 are weighting matrices. The performance index in (56) consists of the stage cost, input cost and the terminal cost, respectively. The desired state x ¯ r e f represents the reference state for the subject vehicle and is defined as x ¯ r e f = [ y r e f , v x r e f , ψ r e f ] T . It is noted that in this paper, v x r e f is taken as the initial value of the subject vehicle’s velocity. The following constrained optimization problem, for each sampling time, is formulated as:
min U t J ( u t ; x ¯ ( t ) , x ¯ r e f )
subject to (18), (42), (45), (49), (50), (55)
In this framework, at every time step, the problem (57), under the constraints (18), (42), (45), (49), (50), (55) are calculated based on the current state x ( t ) , over a shifted time horizon. The optimal control input is calculated as u * ( x ¯ ( t ) ) = U t * ( 0 ) , which is a solution to the problem (57). As the sets X ¯ and U are convex, then the MPC problem (57) is solved as a standard QP optimisation problem. All of the steps required to design the proposed MPC controller can be seen in Algorithm 1, and the closed-loop form is illustrated in Figure 5. The following demonstrates the numerical results to show the efficacy of the proposed control strategy.
Algorithm 1: Trajectory planning
1:
initialize:
2:
v d e s desired longitudinal velocity from user
3:
procedure GENERATE TRAJECTORY
4:
top:
5:
      Use Equation (3) to create matrix Q
6:
       K ¯ Ackerman pole placement formula as (4) and calculate K ¯
7:
       P Obtained K ¯ in (28)–(37) and generate P
8:
       Q Obtained P and substitute (19) in (25)-(27) to calculate Q
9:
loop:
10:
     x ¯ r e f generate target states as
11:
     x ¯ current state vector
12:
    getRoadBoundaryConstraints as (38) (39)–(45)
13:
    getCollisionAvoidanceConstraints as (46)–(50)
14:
     u * solve MPC with generated Q from top with fixed R
15:
     x * Apply optimal input u ( k ) as (12)–(15)
16:
    if user request to change v d e s  then
17:
           goto initialize.
18:
           else
19:
     goto loop.

7. Numerical Results

In this section, a simulation environment is used to investigate the ability of the proposed trajectory planning architecture to perform a collision avoidance manoeuvre. The scenarios used to perform this are: (1) an obstacle avoidance when the subject vehicle (SV) is 300   m behind the stationary lead vehicle (LV), and travelling at 80   km   h 1 on a two-lane one-way curved road with a radius of 750   m , (2) a collision avoidance manoeuvre with a moving obstacle under different road surface friction conditions. It is noted that the chosen curved road is approximately equal to the tightest corner allowed in highways [36]. The simulation results for the proposed closed-loop architecture were obtained using the MATLAB IPG CarMaker co-simulation environment.
Moreover, it was assumed that the dimension of the road, lane limits and LVs states are available to the SV, and the initialisation parameters are tabulated in Table 1. Additionally, to evaluate the efficacy of the proposed algorithm, MPC was initialized with a prediction horizon equal to 14 and low time gap ( t = 0.8 ) when designing the constraints for imitating more extreme manoeuvres to perform a collision avoidance scenario.
The discrete linear quadratic tracker (6) is used to obtain the proper weighting matrix Q in MPC to perform the collision avoidance manoeuvre. The value of the generated matrix Q corresponding to the proposed MPC design is Q = d i a g ( 1.53 , 0.023 , 34.06 ) . It is noted that the simulation results relating to the proposed MPC design was compared with a generic MPC controller where the values of the Q matrix have been generated through a trial and error procedure (which will be referred to as manual tuning for the rest of the paper) to demonstrate the superiority of the proposed control algorithm.
It is noted that the choice of manual tuning of Q m a n u a l was based on trial and error and the result of many simulations in order to select a set of suitable values to perform trajectory planning with Q m a n u a l = d i a g ( 5 , 1 e 1 , 230 ) . Moreover, in both cases the value of the weighting matrix R was equally chosen be to R = diag( 10 , 9 × 10 2 ).

7.1. Collision Avoidance with Static Obstacle

The result of the obstacle avoidance scenario with the assumption of a high friction surface, using the proposed MPC design, is demonstrated in Figure 6. This figure shows the actual trajectory of the vehicle where the SV starts to change the lane 30   m from the lead vehicle and converges to the original lane shortly after a collision-free path is detected, while staying within the road boundaries. Moreover, it can be seen that the vehicle respects the collision avoidance constraints by maintaining the safety margins from the lead vehicle during the collision avoidance manoeuvre for all sub-manoeuvres. The result in Figure 6 indicates that the proposed structure generated a consistent trajectory with no overshoot while maintaining the safety margins to the lead vehicle during both lane changes.
For further analysis of the performance of the proposed collision avoidance system, the evolution of the states and control inputs of the SV over time is shown in Figure 7. A particular feature of the collision avoidance manoeuvre is that the vehicle starts the manoeuvre close to 11   s where the steering wheel angle for the lateral motion shows a smooth response without having high-frequency oscillation. However, steering action after returning to the original lane is more aggressive and the activation of the input constraints can be observed in this figure. This action suggests that for a successful collision avoidance and accurate reference tracking, large steering action is required on the reverse behaviour, where the SV attempts returning to the original lane. Another key point is the two states of the SV, heading-angle and longitudinal velocity, which demonstrate smooth evolution without having any oscillation during either of the lane changes while maintaining the SV’s pose directionality. It can be seen that the velocity of the vehicle decreases rapidly while the first lane change manoeuvre is being performed. The reverse behaviour (i.e., increasing the velocity while performing the lane change) is visible right after evading the lead vehicle. This is reminiscent of a real-world collision avoidance manoeuvre, where the vehicle decelerate when an obstacle is detected to prevent a possible collision, and accelerates after evading the obstacle, which shows the efficacy of the proposed control structure.
Moreover, the longitudinal acceleration also shows a smooth profile without any oscillation during deceleration and acceleration for both of the lane changes while respecting the system constraints. Similarly, the bottom subplot in Figure 7 demonstrates the lateral acceleration and yaw-rate of the SV, which shows a smooth profile without having high oscillation for both of the lane changes. It is noted that the absolute maximum value of lateral acceleration is 2.3   m   s 2 , which demonstrates that the vehicle does not reach its limits of handling. This can be observed by investigating the yaw-rate profile, which the maximum absolute value reaches at about 0.18   rad   s 1 , indicating that the vehicle operates in the linear region of the tire.
To show the need for the proposed MPC design to perform the collision avoidance manoeuvre, we compared the performance of the proposed framework with the MPC design using manual tuning. Figure 8 demonstrates the lateral and heading angle errors for both the analytical tuning and manual tuning of the MPC. In this analysis, the lateral error e y is defined as the lateral distance of the centre of gravity of the vehicle (subject vehicle) from the desired path and e ψ is defined as the difference between the actual orientation of the vehicle and the desired heading angle, which are defined as [37]:
e y = ( y C G y r e f ) cos ψ r e f ( x C G x r e f ) sin ψ r e f
e ψ = ψ ψ r e f
The top figure shows the heading angle error, which shows similar behaviour for both the proposed MPC design and manual tuning. It can be seen that the directionality of that vehicle is maintained during the collision avoidance manoeuvre for both cases with minimum discrepancy with the maximum error of 0.15   rad . The bottom figure represents the lateral displacement error for the collision avoidance manoeuvre. The main difference can be observed after performing the collision avoidance manoeuvre, where the error in the analytical tuning strategy almost converges to zero, whereas the conventional tuning reaches about 30   c m . This figure confirms that the proposed strategy is able to successfully maintain the directionality of the vehicle during the collision avoidance manoeuvre while performing better reference tracking with minimum tracking error compared to conventional trial and error tuning.
For further illustration of the effectiveness of the proposed MPC design, we compared the performance index value of the proposed technique with the MPC design using manual tuning to investigate the level of optimality between the two procedures. This can be seen in Figure 9, where the performance index ( J ) indicates the minimized value of the cost function in (56). It can be inferred that the proposed MPC design gives an improvement in J of more than 70% over the manual tuning between 11   s and 15   s , where the performance index is at its maximum, and for the rest of the manoeuvre the performance index for the analytical tuning is still significantly improved compared to the trial and error tuning. For the simulation purposes, the performance index for both methods was analysed for the straight driving scenario. This analysis can be seen in Figure 10, where the performance index is significantly enhanced by the proposed MPC design, which resulted in an improvement close to 80 % compared to manual tuning.

7.2. Collision Avoidance with Moving Obstacle and Different Surface Friction Conditions

In this section, the efficacy of the proposed algorithm is examined under different values of surface friction. Moreover, the collision avoidance manoeuvre is performed with the presence of a moving vehicle, which resembles a real world driving scenario in the simulation environment. The SV is traveling at 80   km   h 1 located 300   m behind the LV, and the LV is traveling at 40   km   h 1 under different values of surface friction conditions ranging from 0.3 to 0.5. Then the system plans the trajectory at each sampling time while applying FCC and RCC constraints based on the position of the subject vehicle and the moving vehicle. Figure 11 illustrates the collision avoidance simulation with an assumption of the lowest friction surface condition ( μ = 0.3 ).
It is shown that while the SV vehicle was able to smoothly overtake the moving LV vehicle, it experienced some overshooting when merging back to the original lane. This is due to the sudden and harsh steering actuation of the SV vehicle after performing the first lane change from the LV vehicle. Nevertheless, this amount of actuation is essential in order to maintain the directionality of the vehicle under low surface friction conditions. The results shown in Figure 11 also illustrate that the maximum lateral acceleration reached about 3.5   m   s 2 , where the value indicates that the vehicle operates in the linear region of the tire and does not reach its limit of handling. However, this simulation demonstrated some oscillations as the SV vehicle steered back to the original lane, which can be seen in the yaw-rate profile, where its value reached about 0.26   rad   s 1 . Overall, the simulation results indicate that the vehicle respected the collision avoidance constraints and was able to safely converge back to the original lane and follow the desired trajectory on a curved path.
Finally, a parametric analysis was carried out to verify the effectiveness of the proposed framework after performing the collision avoidance manoeuvre. In this analysis, the maximum error between lateral displacement (Figure 12) from the trajectory planner and actual vehicle response was tested in order to investigate the tracking capability of the algorithm under different road surface conditions. It is noted that in this analysis the comparison is made between the proposed analytical MPC and generic MPC controller. The lateral displacement error ( e y ) for analytical tuning increases gradually when lowering the surface friction. This figure indicates a peak deviation of 0.05   m at a 0.3 surface friction, which shows major superiority over manual tuning, which reaches about 0.44   m with the same friction value. This trend is similar for the rest of the friction values, which demonstrates the effectiveness of the proposed control algorithm to improve vehicle handling while performing the collision avoidance manoeuvre.

8. Conclusions

In this paper, we have presented an MPC-based collision avoidance framework by means of an analytical tuning methodology. The main contribution of this paper lies in the derivation of the transformation of a discrete time LQR weighting matrix Q to generate the MPC weighting matrix. The importance of analytical tuning was investigated next, with results showing that it not only improves the tracking error, but can also minimize the performance index compared to manual tuning of MPC. Moreover, the analytical tuning design was then tested under various friction conditions to investigate the efficacy of the proposed algorithm. The results show that while the manual tuning of MPC is effective, the analytical tuning can achieve better performance that is close to the optimal solution while performing a collision avoidance manoeuvre. The numerical results obtained in the Simulink/IPG Carmaker co-simulation environment indicated that the proposed technique fulfills the safety considerations and generates a feasible and collision-free trajectory on a curved road. This work offers a number of suggestions for future research directions. ( 1 ) The weighting matrix calculation was based on the gain matrix K ¯ in (4), which needed to be specified such that the closed-loop poles remain inside of the unit circle. However, the selection of the poles was chosen using Ackerman’s pole placement method. This approach can be extended by means of reinforcement learning in future research. In this way, the position of the poles inside of the unit circle can be adjusted depending on different operating conditions, such as variations in surface friction. ( 2 ) A path tracking controller can be integrated as a lower-level controller to capture the vehicle dynamics to improve the stability and handling of the vehicle in extreme driving conditions.

Author Contributions

Conceptualization, S.T., K.H., S.D. and S.F.; methodology, K.H., S.T.; software, S.T.; validation, S.T., K.H., S.D.; formal analysis, S.T., S.F., K.H.; investigation, S.T.; resources, S.F.; original draft preparation, S.T.; review and editing, S.F., K.H., S.D.; project supervision and management, S.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest in this study and no conflict of interest in the writing of the manuscript, or in the decision to publish the results.

References

  1. Mohammadi, A.; Asadi, H.; Mohamed, S.; Nelson, K.; Nahavandi, S. Multiobjective and Interactive Genetic Algorithms for Weight Tuning of a Model Predictive Control-Based Motion Cueing Algorithm. IEEE Trans. Cybern. 2019, 49, 3471–3481. [Google Scholar] [CrossRef]
  2. Gray, A.; Gao, Y.; Lin, T.; Hedrick, J.K.; Tseng, H.E.; Borrelli, F. Predictive control for agile semi-autonomous ground vehicles using motion primitives. In Proceedings of the 2012 American Control Conference, Montreal, QC, Canada, 27–29 June 2012. [Google Scholar]
  3. Dixit, S.; Montanaro, U.; Fallah, S.; Dianati, M.; Oxtoby, D.; Mizutani, T.; Mouzakitis, A. Trajectory Planning for Autonomous High-Speed Overtaking using MPC with Terminal Set Constraints. In Proceedings of the 2018 21st International Conference on Intelligent Transportation Systems, Maui, HI, USA, 4–7 November 2018. [Google Scholar]
  4. Fontes, M.; Martins, A.F.; Odloak, D. An automatic tuning method for model predictive control strategies. Proc. Am. Control Conf. 2019, 49, 21602–21613. [Google Scholar] [CrossRef]
  5. Julian, B.-G. Tuning for MPC Controllers. In The Role of Population Games in the Design of Optimization-Based Controllers; Springer: New York, NY, USA, 2017; pp. 11–16. [Google Scholar]
  6. Cairano, S.; Bemporad, A. Model Predictive Control Tuning by Controller Matching. IEEE Trans. Autom. Control 2010, 55, 185–190. [Google Scholar] [CrossRef]
  7. Shah, G.; Engell, S. Tuning MPC for desired closed-loop performance for SISO systems. In Proceedings of the 18th Mediterranean Conference on Control and Automation, MED’10-Conference Proceedings, Marrakech, Morocco, 23–25 June 2010; pp. 628–633. [Google Scholar]
  8. Clarke, D.W.; Mohtadi, C.; Tuffs, P.S. Generalized predictive control-Part I. The basic algorithm. Automatica 1987, 23, 137–148. [Google Scholar] [CrossRef]
  9. Klopot, T.; Skupin, P.; Metzger, M.; Grelewicz, P. Tuning strategy for dynamic matrix control with reduced horizons. ISA Trans. 2018, 76, 145e154. [Google Scholar] [CrossRef]
  10. Shen, C.; Gonzalez, Y.; Chen, L.; Jiang, S.; Jia, X. Intelligent Parameter Tuning in Optimization-Based Iterative CT Reconstruction via Deep Reinforcement Learning. IEEE Trans. Med. Imaging 2018, 37, 1430–1439. [Google Scholar] [CrossRef] [PubMed]
  11. Qi, Z.; Shi, Q.; Zhang, H. Tuning of digital PID controllers using particle swarm optimization algorithm for a CAN-based DC motor subject to stochastic delays. IEEE Trans. Ind. Electron. 2019, 67, 5637–5646. [Google Scholar] [CrossRef]
  12. Grosso, J.M.; Ocampo-Martínez, C.; Puig, V. Learning-based tuning of supervisory model predictive control for drinking water networks. Eng. Appl. Artif. Intell. 2013, 26, 1741–1750. [Google Scholar] [CrossRef] [Green Version]
  13. Lee, J.H.; van der Svrcek, W.Y.; Young, B.R. A tuning algorithm for model predictive controllers based on geneticalgorithms and fuzzy decision makingtle. ISA Trans. 2007, 47, 53–59. [Google Scholar]
  14. Jorge, L. Garriga and Masoud Soroush. Model Predictive Control Tuning Methods: A Review. Ind. Eng. Chem. 2010, 49, 3505–3515. [Google Scholar]
  15. Gutiérrez-Urquídez, R.C.; Valencia-Palomoa, G.; Rodríguez-Elias, O.M.; Trujillob, L. Systematic selection of tuning parameters for efficient predictive controllers using a multiobjective evolutionary algorithm. Appl. Soft Comput. 2015, 31, 326–338. [Google Scholar] [CrossRef]
  16. Qi, Z.; Shi, Q.; Zhang, H. Inverse optimal control for discrete-time finite-horizon Linear Quadratic Regulators. Automatica 2019, 110, 6663–6668. [Google Scholar]
  17. Willems, J.; Van De Voorde, H. Inverse optimal control problem for linear discrete-time systems. Electron. Lett. 1977, 13, 493. [Google Scholar] [CrossRef]
  18. Luo, W.; Chu, Y.C.; Ling, K.V. Inverse optimal adaptive control for attitude tracking of spacecraft. IEEE Trans. Autom. Control 2005, 50, 1639–1654. [Google Scholar]
  19. Halder, K.; Das, S.; Gupta, A. Transformation of LQR Weights for Discretization Invariant Performance of PI/PID Dominant Pole Placement Controllers. Robotica 2019, 38, 271–298. [Google Scholar] [CrossRef] [Green Version]
  20. Kiumarsi-Khomartash, B.; Frank, L.; Naghibi-Sistani, L.; Mohammad, B.; Karimpour, A. Optimal tracking control for linear discrete-time systems using reinforcement learning. In Proceedings of the 52nd IEEE Conference on Decision and Control, Firenze, Italy, 10–13 December 2013. [Google Scholar]
  21. Franze, G.; Lucia, W. A Receding Horizon Control Strategy for Autonomous Vehicles in Dynamic Environments. IEEE Trans. Control Syst. Technol. 2016, 24, 695–702. [Google Scholar] [CrossRef]
  22. Gao, Y.; Gray, A.; Frasch, J.; Lin, T.; Tseng, E.; Hedrick, J.K.; Borrelli, F. Spatial Predictive Control for Agile Semi-Autonomous Ground Vehicles. In Proceedings of the 11th International Symposium on Advanced Vehicle Control, Seoul, Korea, 9–12 September 2012; pp. 1–6. [Google Scholar]
  23. Karlsson, J.; Murgovski, N.; Sjöberg, J. Temporal vs. Spatial formulation of autonomous overtaking algorithms. In Proceedings of the 2016 IEEE 19th International Conference on Intelligent Transportation Systems, Rio de Janeiro, Brazil, 1–4 November 2016. [Google Scholar]
  24. Nilsson, J.; Falcone, P.; Ali, M.; Sjöberg, J. Receding horizon maneuver generation for automated highway driving. Control Eng. Pract. 2015, 41, 124–133. [Google Scholar] [CrossRef]
  25. Kong, J.; Pfeiffer, M.; Schildbach, G.; Borrelli, F. Kinematic and Dynamic Vehicle Models for Autonomous Driving Control Design. In Proceedings of the 2015 IEEE Intelligent Vehicles Symposium, Seoul, Korea, 28 June–1 July 2015. [Google Scholar]
  26. Liu, C.; Lee, S.; Varnhagen, S.; Tseng, H.E. Path planning for autonomous vehicles using model predictive control. In Proceedings of the 2017 IEEE Intelligent Vehicles Symposium, Los Angeles, CA, USA, 11–14 June 2017. [Google Scholar]
  27. Gutjahr, B.; Gröll, L.; Werling, M. Lateral Vehicle Trajectory Optimization Using Constrained Linear Time-Varying MPC. IEEE Trans. Intell. Transp. Syst. 2017, 18, 1586–1595. [Google Scholar] [CrossRef]
  28. Mad, D.; Philippsen, R.; Eidehall, A.; Dahl, K. On Path Planning Methods for Automotive Collision Avoidance. In Proceedings of the 2013 IEEE Intelligent Vehicles Symposium, Gold Coast, QLD, Australia, 23–26 June 2013. [Google Scholar]
  29. Nilsson, J.; Gao, Y.; Carvalho, A.; Borrelli, F. Manoeuvre generation and control for automated highway driving. IIFAC Proc. Vol. 2014, 47, 6301–6306. [Google Scholar] [CrossRef] [Green Version]
  30. Gao, Y.; Gray, A.; Carvalho, A.; Tseng, H.E.; Borrelli, F. Robust nonlinear predictive control for semiautonomous ground vehicles. In Proceedings of the 2014 American Control Conference, Portland, OR, USA, 4–6 June 2014. [Google Scholar]
  31. Plessen, M.; Lima, P.; Martensson, J.; Bemporad, A.; Wahlberg, B. Trajectory planning under vehicle dimension constraints using sequential linear programming. In Proceedings of the 2017 IEEE 20th International Conference on Intelligent Transportation Systems, Yokohama, Japan, 16–19 October 2017. [Google Scholar]
  32. Scheuer, A.; Fraichard, T. Collision-free and continuous-curvature path planning for car-like robots. Proc. IEEE Int. Conf. Robot. Autom. 1997, 1, 867–873. [Google Scholar]
  33. Shin, D.H.; Singh, S. Path Generation for a Robot Vehicle Using Composite Clothoid Segments. IFAC Proc. Vol. 1992, 25, 443–448. [Google Scholar] [CrossRef]
  34. The Practice of Clothoid Connections on Road Interchanges. Available online: http://precismultipla.altervista.org/ESU2/chap08.htm (accessed on 20 June 2021).
  35. Funke, J. Collision Avoidance Up to the Handling Limits for Autonomous Vehicles. Ph.D. Thesis, Standford University, Stanford, CA, USA, 2015. [Google Scholar]
  36. Schmeitz, A.; Zegers, J.; Ploeg, J.; Alirezaei, M. Towards a generic lateral control concept for cooperative automated driving theoretical and experimental evaluation. In Proceedings of the 5th IEEE International Conference on Models and Technologies for Intelligent Transportation Systems, MT-ITS 2017-Proceedings, Naples, Italy, 26–28 June 2017; pp. 134–139. [Google Scholar]
  37. Chatzikomis, C.; Sorniotti, A.; Gruber, P.; Zanchetta, M.; Willans, D. Comparison of Path Tracking and Torque-Vectoring Controllers for Autonomous Electric Vehicles. IEEE 2018, 3, 559–570. [Google Scholar] [CrossRef] [Green Version]
Figure 1. The hyperplanes (blue lines) indicate the constraints for optimization. The points on the borders are the projection of the centre line of the subject vehicle on the borders.
Figure 1. The hyperplanes (blue lines) indicate the constraints for optimization. The points on the borders are the projection of the centre line of the subject vehicle on the borders.
Sensors 21 04296 g001
Figure 2. Schematic to construct forward and rear collision avoidance constraints line. Note: ψ L is lead vehicle orientation, L x and W indicate the safety distance from the lead vehicle.
Figure 2. Schematic to construct forward and rear collision avoidance constraints line. Note: ψ L is lead vehicle orientation, L x and W indicate the safety distance from the lead vehicle.
Sensors 21 04296 g002
Figure 3. Schematic used to calculate the FCC. Note: orange car—subject vehicle; green car—lead vehicle; red line—RCC; L x and W indicate the safety distance from the lead vehicle.
Figure 3. Schematic used to calculate the FCC. Note: orange car—subject vehicle; green car—lead vehicle; red line—RCC; L x and W indicate the safety distance from the lead vehicle.
Sensors 21 04296 g003
Figure 4. Schematic used to calculate RCC. Note: orange car—subject vehicle; green car—lead vehicle; L x and W indicate the safety distance from the lead vehicle.
Figure 4. Schematic used to calculate RCC. Note: orange car—subject vehicle; green car—lead vehicle; L x and W indicate the safety distance from the lead vehicle.
Sensors 21 04296 g004
Figure 5. Closed-loop framework for collision avoidance Note: LV indicates lead vehicle.
Figure 5. Closed-loop framework for collision avoidance Note: LV indicates lead vehicle.
Sensors 21 04296 g005
Figure 6. Simulation result: SV and LV (red vehicle) trajectories. Note: FCC and RCC collision avoidance constraints represented as blue dashed lines to provide a safe region between SV and LV.
Figure 6. Simulation result: SV and LV (red vehicle) trajectories. Note: FCC and RCC collision avoidance constraints represented as blue dashed lines to provide a safe region between SV and LV.
Sensors 21 04296 g006
Figure 7. Simulation results: Steering wheel, heading angle (red line indicates the reference heading angle), longitudinal velocity, longitudinal acceleration, lateral acceleration, and yaw-rate for a collision avoidance maneuver.
Figure 7. Simulation results: Steering wheel, heading angle (red line indicates the reference heading angle), longitudinal velocity, longitudinal acceleration, lateral acceleration, and yaw-rate for a collision avoidance maneuver.
Sensors 21 04296 g007
Figure 8. Lateral error e y and heading error e ψ for analytical and manual tuning approach.
Figure 8. Lateral error e y and heading error e ψ for analytical and manual tuning approach.
Sensors 21 04296 g008
Figure 9. Performance index for both automatic tuning and manual tuning on curved driving condition.
Figure 9. Performance index for both automatic tuning and manual tuning on curved driving condition.
Sensors 21 04296 g009
Figure 10. Performance index for both automatic tuning and manual tuning on straight driving condition.
Figure 10. Performance index for both automatic tuning and manual tuning on straight driving condition.
Sensors 21 04296 g010
Figure 11. Simulation results: Steering wheel, heading angle (red line indicates the reference heading angle), longitudinal velocity, longitudinal acceleration, lateral acceleration, and yaw-rate for a collision avoidance manoeuvre.
Figure 11. Simulation results: Steering wheel, heading angle (red line indicates the reference heading angle), longitudinal velocity, longitudinal acceleration, lateral acceleration, and yaw-rate for a collision avoidance manoeuvre.
Sensors 21 04296 g011
Figure 12. Lateral displacement error over different friction surfaces.
Figure 12. Lateral displacement error over different friction surfaces.
Sensors 21 04296 g012
Table 1. Design Parameters.
Table 1. Design Parameters.
SymbolsValueValue
Road Geometry
N l a n e s 2-
w l a n e 5 m
Subject Vehicle
l f 1.144 m
l r 1.2060 m
Lead Vehicle
l L v , l 4.1 m
l L v , w 1.7 m
Controller Parameters
t s 0.1 s
N p 14-
closed-loop poles( 5 e 1 , 0.6 , 0.95 )-
System
X −[500, −11.1,1.5] ≤ x ≤ [500,27.7778,1.5]-
U −[0.0698, 3] ≤ u ≤ [0.0698,3]-
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Taherian, S.; Halder, K.; Dixit, S.; Fallah, S. Autonomous Collision Avoidance Using MPC with LQR-Based Weight Transformation. Sensors 2021, 21, 4296. https://doi.org/10.3390/s21134296

AMA Style

Taherian S, Halder K, Dixit S, Fallah S. Autonomous Collision Avoidance Using MPC with LQR-Based Weight Transformation. Sensors. 2021; 21(13):4296. https://doi.org/10.3390/s21134296

Chicago/Turabian Style

Taherian, Shayan, Kaushik Halder, Shilp Dixit, and Saber Fallah. 2021. "Autonomous Collision Avoidance Using MPC with LQR-Based Weight Transformation" Sensors 21, no. 13: 4296. https://doi.org/10.3390/s21134296

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop