The European Parliament Research Service (EPRS) considers autonomous driving as one of the top ten technologies that will change citizen’s life the most EuroParl . This comes with no surprise given the clear benefits that one can foresee, in particular:
(1) achievement of almost zero traffic accidents by taking humans out of the driving task;
(2) inclusion of citizens with low physical mobility by the introduction of door-to-door transportation services;
(3) reduction of congestion by route sharing (passengers and goods) and a centralized mobility intelligence;
(4) decrease of energy consumption and pollution by relying on electric vehicles with a smarter vehicle control.
Recently, industrialized countries carry out a technological race towards autonomous driving. Research institutions and powerful companies of the automotive, mobility, and software sectors are accelerating their achievements by a great investment in human and technology resources. In spite of the gigantic difficulties of reaching full autonomy at all times and in all the places, the recent advances in hardware (sensors, embedded super-computers, etc.), software (artificial intelligence, planning and control, telecommunications, etc.), laws, and potential user acceptance seem to indicate that reaching autonomous driving is just a matter of time.
Nowadays, half the world’s population live in cities, and the World Health Organization predicts that by 2050 this proportion will increase to WorldUrmanizationProspects , straining city traffic more and more.
City scenarios, then, are of high relevance and present routes, speeds, traffic signs, infrastructure elements, and surroundings that are much more difficult to understand than on highways or segregated lanes, not to mention the need to take care of pedestrians and cyclists.
Overall, the process will be an incremental approach, with a long period of coexistence between human and artificial drivers. For that purpose, the Society of Automotive Engineers (SAE) defines 5 progressive levels of automation SAE , from driver assistance (Level 1) to full automation (Level 5), which is not expected before 2025.
From Level 2 to Level 5 the vehicle takes full control of the accelerating, braking, and steering tasks. This means that an automatic control software will tackle the velocity and position control while handling a suitable dynamic behaviour.
The automatic control is one of the most important tasks inside the autonomous driving system. It is in charge of moving the vehicle between two points as well as generating smooth control actions for achieving a comfortable journey.
This is a complex task since, in addition to implement control software, dealing with real data management through sensors and actuators is needed.
First, it is required to measure vehicle variables and understanding the environment with sensors (GPS, IMU, encoders, cameras, LIDAR, etc) located around the vehicle. Then, commanding proper signals to actuators (steering motor, electric engine and brake system) to perform the motion of the vehicle.
This problem is normally defined by three general aspects: the type of control (lateral, longitudinal or both), the complexity of the model to be controlled (kinematic, linear dynamic, non-linear simplified dynamic or non-linear dynamic) and the control strategy to be used.
Until now, different control problems have been treated such as the longitudinal control, the lateral control and the mixed one, that includes both cases.
The goal in the longitudinal control task is to maintain the linear velocity of the vehicle around a given velocity set point that is also known as cruise control. At this point, the driver is released of the accelerating and braking tasks, being the autonomous system the responsible.
This case is included in the level 1 of automation defined by the Society of Automotive Engineers (SAE) SAE .
On the other hand, the lateral control is in charge of controlling the yaw movement of the vehicle. To do so, the controller acts over the angle of the front wheels.
This case is the opposite one of the longitudinal control task. In this case, the driver only controls the acceleration and brakes, being the automatic controller in charge of turning.
The last control problem is the mixed one. In this case, the vehicle governs the complete 2D motion, i.e., full control of the accelerating, braking, and steering tasks and rises to the levels 2-5 of automation.
In turn, every one of these control problem designs rely on a vehicle model.
On one hand, kinematic models are a function of vehicle geometry. On the other hand, dynamic ones rely on physical models to describe the interaction between the vehicle and the road.
Section 2 goes in deep in this topic.
The third aspect that defines the autonomous guidance problem is the choice of the control strategy. This selection is often being nested with the selection of the vehicle model, i.e., a linear model will require a linear technique while a non-linear one will need a non-linear strategy.
Nowadays, there exist several control strategies and families each one with different advantages to the application to the autonomous guidance problem.
Some of the most relevant strategies in the autonomous driving field are: Proportional-Integral-Derivative (PID), , Fuzzy logic control, Sliding Mode Control (SMC), Lyapunov-based control, Linear Parameter Varying (LPV), Takagi-Sugeno (T-S), Linear Quadratic Regulator (LQR) and Model Predictive Control (MPC), see Table 1.
In order to address the real autonomous guidance situation, the longitudinal and lateral vehicle behaviours are the interesting ones to be solved, that is, the mixed control problem.
At this point, and taken into account only the mixed control problem, a classification of the different control strategies according to the type of model has been made. This labelling will serve in order to illustrate what kind of solutions are being more used for solving the more complex autonomous guidance problem. Table 1 shows such a classification with corresponding references.
|Mixed Control Problem|
|Control Strategy||Kinematic Model||Dynamic Model|
|Lyapunov||indiveri1999kinematic , alcala2016comparison , blavzivc2010takagi , LyapunovBasedControl|
|Non-linear MPC||farrokhsiar2013integrated||NLMPC , JournalMPC|
Some of the previously enumerated control strategies (such as Proportional-Integral-Derivative (PID), Fuzzy logic control or Linear Quadratic Regulator (LQR)) do not appear in the table due to they mostly have been applied to solve the lateral control problem.
The paper is structured as follows: Section 2 presents and describes the different types of vehicle models used for control purposes. In Section 3, the LPV modelling is developed. Section 4 presents the feedback control design using the gain scheduling LPV approach. Finally, Section 5 shows the results and Section 6 presents the conclusions of the work.
2 Kinematic and Dynamic Vehicle Models
This section describes the models which will be used later for developing the automatic control strategies. The behaviour of a mobile object can be described by using equations that represent the dynamic and kinematic performances. Unlike common mobile robots, urban autonomous vehicles are systems with larger mass and operating at a higher velocity. Hence, the use of dynamic models becomes indispensable. On one hand, in dynamic models the sum of forces existing over the vehicle are taken into account for computing the vehicle acceleration. The motion is generated by applying forces over the driven wheels and mass, inertial and tire parameters are considered. On the other hand, kinematic model is based on the velocity vector movement in order to compute longitudinal and lateral velocities referenced to a global inertial frame. External forces are not considered in this case. Note that, for both models, the two-wheels bicycle model has been considered as the one depicted in Fig.1.
It is interesting to specify that the two-wheels model employed does not consider consider , and motion, only , and movements.
In this work, both models are presented and used in a decoupled way. It means that, both model behaviours will be controlled in a decoupled way by using two control loops. Table 2 presents the characteristic vehicle parameters used in the models.
|Distance from CoG to front axle||0.758|
|Distance from CoG to rear axle||1.036|
|Vehicle mass||683 kg|
|Vehicle yaw inertia||560.94|
|Vehicle frontal area||1.91|
|Air density at 25C||1.184|
|Tire stiffness coefficient||25000|
2.1 Kinematic model
Kinematic based model is widely used due to its low parameter dependency. It assumes null skidding and considers lateral force to be so small that can be neglected. Basically, it is a geometric manner to compute vehicle position and orientation as of linear and angular velocities. The kinematic equations are introduced below:
, and represent the current position and orientation of the vehicle in meters () and radians (), respectively, with respect to the inertial frame w.
is the linear velocity in .
represents the vehicle angular velocity in .
2.2 Dynamic model
The dynamical behaviour of a vehicle is generally complicated to represent it in a detailed manner. In practical applications, normally simplified models are used. In this case, the obtained model is based on the second Newton’s law. The streamlined dynamical model of the road vehicle can be written as:
represents the vehicle slip angle ().
is the steering angle and one of the inputs of the system ().
is the longitudinal rear force and the other input of the system ().
represents the lateral rear force that appears when steering ().
is the lateral front force which appears also with the angular motion ().
represents drag force that opposes to the forward movement ().
is the friction force that also opposes to the longitudinal vehicle movement ().
Note that instead of employing the states and , a new representation has been adopted by using the polar representation and considers the variables and . These variables can be seen in Figure 1. Observe that the dynamic model variables are referred to the vehicle body frame while the kinematic set of variables refers to the global fixed coordinate system in order to represent the trajectory from a relative point of view.
3 LPV Control Oriented Model
The LPV control technique needs of a linear-like representation of the non-linear model to be controlled. Hence, the LPV modelling task is presented in this section. This method consists on embedding the model non-linearities inside model parameters that depend on some variables, called scheduling variables, that vary in a known bounded interval. In the last section kinematic and dynamic non-linear models were presented. Here, a LPV representation for each one is adopted. For the kinematic LPV modelling task, a reference model has been built previously. Note that two decoupled LPV models have been obtained in order to control the kinematic and dynamic parts of the vehicle separately.
3.1 Kinematic LPV modelling
To obtain the kinematic LPV model, a reference model has been developed. This model is defined as the difference between real measurements ( and ) and desired values ( and ). However, this set of errors are expressed with respect to the inertial global frame (see Figure 1). For control purposes is suitable to express the errors with respect to the vehicle, such that the lateral error is always measured in the lateral axis of the vehicle. Thus, a rotation over the road orthogonal axis is considered to represent the errors in the body vehicle frame :
where subindexes and represent the desired and error values, respectively. To develop the error model is needed to take into account the rear wheels non-holonomic constraint of the form:
we can obtain the LPV representation for the kinematic dynamics (8). Then, considering , , as the kinematic scheduling variables, the LPV form becomes:
For the control design purpose, the reference vector will not be taken into account, only and . This vector will be added directly to the control law.
3.2 Dynamic LPV modelling
The dynamic model is quite more complex than the presented kinematic one. Thus, the development of a LPV model is more involved and therefore, it is presented in progressive steps.
Denoting the state, control and output vectors, respectively, as
and considering the slip angle () to remain very small in comparison with variable, the state space model for the dynamic representation (2) can be obtained as:
The last consideration is made due to variable will be much greater than in normal driving conditions, i.e. turning and accelerating the vehicle smoothly.
At this point, and are time varying matrices. However, with the aim of avoiding the dependency on varying parameters in matrix , the system has been augmented by adding a fast dynamic filter as suggested by apkarian1995self in the form:
where represents the filter gain, is the new longitudinal behaviour input and is the new lateral behaviour input.
Note that this new added states have fast dynamics and will not disturb the dynamic model (12).
Then, the system (12) is transformed into a fifth order system with state and input vectors as
and matrices and as
However, the model still presents some features that will difficult the control design task. One of them is that the input has been identified as a singular point. Hence, to avoid it, a change of variable has been done by shifting the interval:
converting into the new scheduling variable and being a constant value greater than .
In addition to all these arrangements, it was found that the angular velocity channel lacks integral action, thus leading to a steady state error. Thus, the addition of such action through the controller is considered. Then, a new state () has been added as the integral of the state :
Therefore, taken into account these considerations and denoting the scheduling variables as , the vehicle dynamic LPV model is presented as:
with state and input vectors
and matrices and as:
The model (17) will be used for designing the dynamic state feedback control.
4 Control Design using LPV Approach
The automatic control strategy addresses the problem of generating an appropriate vehicle behaviour from a desired reference. In this work two cascade feedback LPV controllers are proposed for controlling appropriately the behaviour of the vehicle (see Figure 2).
Furthermore, a trajectory planner GuarinoPiazziRomano is used which is in charge of providing the correspondent position and velocities references to the kinematic controller.
In this approach, a cascade methodology is employed where the internal and fast loop corresponds to the dynamic control and the external one to the kinematic control. On one hand, the kinematic control ( in Figure 2) is in charge of computing smooth control actions (linear and angular velocities) such that the vehicle is capable of achieving the required speed, position and orientation at the next local way-point. On the other hand, the dynamic control strategy ( in Figure 2) allows the vehicle to follow the angular and linear velocity references provided by the kinematic control loop. To this aim, the dynamic control generates forces to the rear wheels and a steering angle signal for the front wheels.
4.1 Description of the design method
The LPV technique allows to use a family of systems for designing the controller. In particular, at each operating point, the system model parameters are parameterised by a vector of scheduling variables . Thus, the LPV model is denoted by:
with and constant.
The vector of scheduling variables is defined as being the number of variables. Each parameter is known and varies in a defined interval .
The value and number of scheduling variables determine the size and form of a polytope with vertices.
Thus, the LPV system is defined by a set of matrices that correlate with each one of the polytope vertexes.
For simplicity, the time variable notation will be omitted in next equations. Thereupon, in order to stabilize the system at each operating point for a set of arbitrary parameters it is sufficient to stabilize at the extremes of the parameter variation intervals, i.e. with = 1,…,, using the bounding box approach apkarian1995self .
Note also that matrix is independent of the set of scheduling variables. Therefore, the design control problem is formulated as
Let , = 1,…,, find a set of controllers that makes the closed-loop system asymptotically stable and provide an optimal performance for the family of systems using the state feedback control law , where is an interpolated matrix dependent on
is an interpolated matrix dependent on.
For solving the stated problem, the linear-quadratic regulation (LQR) technique via LMI is used, as suggested in duan2013lmis using the LMI solution for the problem
where , , and are the LQR tuning variables. Once matrices and have been obtained, each one of the vertex controllers can be computed as follows
Note that the problem has solution if and only if there exist , and , being the number of control actions and the number of states.
Observe also that decreasing the parameter increases the performance of the control loop.
In turn, establishes a constraint for the decay rate.
Up to here the design procedure. From now on, at every control iteration, the controller will use the polytopic interpolation method suggested by apkarian1995self based on the current operating point and computing the relative distance to vertexes in order to obtain the set of weights . Then, the control matrix is obtained by
Next subsections provide details of the particular control design for the dynamic and kinematic vehicle behaviours.
4.2 Dynamic LPV control design
The dynamic control addresses the tracking of the linear and angular velocity references of the vehicle by applying force to the wheels and an angle to the front wheels.
At this point, the LPV model developed in Section 3.2 is used for solving the Problem 1. The chosen scheduling variables are and bounded in the following intervals:
The proposed design matrices and are presented in Table 5 and parameter is set as . Such a Problem 1 returns matrices , and that using (20) are used for obtaining (see Table 3). Due to dynamic LPV model has two scheduling variables the polytopic space will be a square figure as the one presented in Figure 3.
The controller obtained at each control iteration follows the rule presented in (21) where weighting variables are computed as follows
The chosen control scheme for this dynamic loop has the following expression
where is the controller computed at every iteration by (21) (see Figure 2), is a feedforward matrix, is the dynamic state vector (17b), represents the reference vector which corresponds with the kinematic control signal , and is control input to the filter added (13). At this point, the dynamic control action that is applied over the vehicle will be the output of applying to the filter.
The feedforward matrix has been computed following the next expression
where matrices and are the ones presented in (14) (i.e., without considering the added integrator which cause the matrix cannot be inverted), is a sub-block of in which the last column has been omitted as it is proposed in franklin1998digital . Matrix is of the form
It is interesting to note that, for controlling the vehicle in the interval a translation has been applied.
Thus, this means that when computing the controller at , we are actually computing the controller at and using it as we are in . In this way, we avoid to develop a hybrid control for this reduced velocity interval.
4.3 Kinematic LPV control design
Kinematic control is in charge of controlling the position, orientation and linear velocity by means of actuating over the linear and angular velocities of the vehicle.
At this moment, the kinematic LPV model (10) is employed for solving the Problem 1. Three scheduling variables ( and ) are bounded in the following intervals
The control design matrices and are presented in Table 5 and parameter is set as .
The problem 1 returns for this kinematic case the matrices , and .
Then, by inserting and in (20) the vertex controllers are obtained (see Table 4).
Being , the LMI establishes a threshold for ensuring only stability. Thus, in order to increase the kinematic loop performance can be raised being always positive. Observe that, due to the number of scheduling variables, the polytopic region is defined as a three-dimensional cube (see Figure 4).
In this kinematic case, the weighting variables are computed as
The following state feedback control law has been used for controlling the kinematic behaviour loop
where represents the interpolated kinematic controller obtained with (21), represents the kinematic state vector (9) and is the reference. Such a reference is provided by a trajectory planner (see Figure 2).
5 Simulation Results
The simulation scenario chosen for testing the automatic control strategy tries to cover different driving situations as acceleration stage, velocity reduction on curves and slow down at the end of the circuit. Such scenario is characterized by having curves of different geometry and curvature with the idea of testing the autonomous guidance system at several behaviours (see Figure 5).
Considering this information (circuit shape and varying velocity), a trajectory planner is in charge on generating a feasible trajectory by means of using a polynomial curve generation method GuarinoPiazziRomano .
This consists on computing continuous and differentiable curves (velocities and accelerations) under an overall constrained vehicle acceleration.
Thus, in an offline mode, this planner algorithm generates the linear and angular velocity references as well as desired positions and orientations for the outer control loop (i.e., kinematic control).
The adjustment of the LPV-LQR parameters (, and ) is made by means of using the root mean square error (RMSE) approach. This measure allows to find suitable control parameters by minimizing it. Linear velocity, angular velocity and lateral errors are chosen by an exhaustive search. Moreover, and have been chosen with the aim of increasing the performance of the closed loop system. Table 5 shows some RMSE results for different control adjustments and the one chosen in the simulations.
|RMSE||Kinematic control design||Dynamic control design|
|0.121||0.035||0.0177||[1, 1, 1]||[0.004, 0.0001]||[0.01, 0.01, 0.01, 0.01, 10, 3000]||[0.005, 0.6]|
|0.124||0.031||0.0196||[3, 5, 15]||[0.04, 0.01]||[0.01, 0.01, 0.01, 0.01, 100, 30000]||[0.005, 0.6]|
|0.076||0.0127||0.0213||[10, 3, 15]||[0.4, 0.001]||[0.01, 0.01, 0.01, 0.01, 1000, 90000]||[0.005, 0.6]|
In the tuning process, we have observed that the vehicle lateral behaviour is more difficult to control due to the changing reference. Hence, the weight in corresponding to the dynamic integral state has been set much bigger than the rest. The same occurs in matrix .
The sample times used in both control loops are 0.1 s and 0.01 s for kinematic and dynamic loops, respectively. The control strategy jointly with the trajectory planner are tested in Matlab environment.
Figures 6-8 show the results of the vehicle in the simulated circuit. Finally, Figure 9 represents the location of the closed loop poles of kinematic and dynamic controllers, and the thresholds for the decay rate ( and ) used in their design.
Figure 6.a) shows that in the linear velocity response, the controller cannot eliminate the error completely due to curves in the path make difficult to maintain null error in both, angular and linear velocities. However, the maximum error achieved is .
In Figure 6.b), it can be seen how, for the angular velocity, the integral action makes the controller to perform better than the linear velocity with respect to the reference.
Even so, the angular response presents some overshoot behaviour at some time instants.
The controller adjustment may be one of the reasons, but the main reason is the high abruptness of the angular velocity reference at the end of the curves producing a rough behaviour on the vehicle.
Figure 7 depicts the position errors. The mitigation of these errors is crucial for achieving a good autonomous guidance.
However, an almost null lateral error is most important due to this ensures that the vehicle is driving over the road center. In our results, longitudinal error is no longer than in normal driving (i.e. neither accelerating nor braking).
Lateral error remains in the scale of few decimeters being increased when both velocities (angular and linear) increase.
Figure 8 shows the resulting control actions. They are appropriate signals, specially the steering one which shows an smooth behaviour. The force applied to the wheels seems to be a bit sharp when the vehicle arrives at curves. It should be emphasized that when force control action goes to zero means the controller wants to brake the vehicle. However, in this work the brake system has not been addressed and therefore the only way to slow down the vehicle is applying null force. Note also that the steering angle signal in the first little part of the simulation is so abrupt. This behaviour is due to longitudinal and angular behaviours are highly coupled and the starting stage deals with high linear accelerations.
Figure 9 illustrates the closed poles for the kinematic and dynamic loops at a given operating point. It can be observed that the poles of both loops satisfy the constraints imposed by the corresponding decay rates and (see (27) and (19)). The satisfaction of this condition allows to design both loops separately, since the dynamic control presents a faster dynamic behaviour than the kinematic one.
In this work, a gain scheduling LPV control scheme has been introduced for solving the mixed lateral and logitudinal control problem of autonomous vehicle guidance. For such a purpose, a cascade methodology has been employed for controlling an outer loop (kinematic vehicle behaviour) and an inner loop (dynamic vehicle behaviour). For the design of both controllers, the use of two separated models describing different vehicle behaviours (kinematic and dynamic models) allows to solve two smaller LMI-LQR problems instead of a larger and more complex one presenting very different dynamic behaviours. Moreover, an approach based on cascade design of the kinematic and dynamic controllers has been adopted with the aim of increasing the performance of the system. It consists on forcing that the inner closed loop dynamics behaves faster than the outer closed loop one. The obtained gain scheduling LPV control approach, jointly with a trajectory generation module, has presented suitable results in a simulated city scenario. As a future work, this mixed control approach will be tested in a real city situation and the trajectory planner will be improved for providing smoother references.
This work has been funded by the Spanish Ministry of Economy and Competitiveness (MINECO) and FEDER through the projects ECOCIS (ref. DPI201348243. C2-1-R) and HARCRICS (ref. DPI2014-58104-R). The author is supported by a FI AGAUR grant (ref 2017 FI B00433).
-  L. Van Woensel, G. Archer, L. Panades-Estruch, D. Vrscaj, Ten technologies which could change our lives, European Union: Brussels, Belgium.
Urbanization Prospects. The 2014 Revision, United Nations, Department of
Economic and Social Affairs, Population Division (2014) (2014).
automation for on-road vehicles, Society of Automotive Engineers (SAE)
-  N. Nawash, H-infinity control of an autonomous mobile robot, Master of Science Thesis, Cleveland State University.
-  E. Alcalá, L. Sellart, V. Puig, et al, Comparison of two non-linear model-based control strategies for autonomous vehicles, in: Control and Automation (MED), 2016 24th Mediterranean Conference on, IEEE, 2016, pp. 846–851.
-  G. Indiveri, Kinematic time-invariant control of a 2d nonholonomic vehicle, in: Decision and Control, 1999. Proceedings of the 38th IEEE Conference on, Vol. 3, IEEE, 1999, pp. 2112–2117.
-  S. Blažič, Takagi-sugeno vs. lyapunov-based tracking control for a wheeled mobile robot, WSEAS Transactions on Systems and Control 5 (8) (2010) 667–676.
-  W. E.Dixon, D. M.Dawson, E. Zergeroglu, A. Behal, Nonlinear Control of Wheeled Mobile Robots, Springer, 2000.
-  B. Németh, P. Gáspár, J. Bokor, Lpv-based integrated vehicle control design considering the nonlinear characteristics of the tire, in: American Control Conference (ACC), 2016, IEEE, 2016, pp. 6893–6898.
-  C. Olsson, Model complexity and coupling of longitudinal and lateral control in autonomous vehicles using model predictive control (2015).
-  R. González, M. Fiacchini, J. L. Guzmán, T. Álamo, F. Rodríguez, Robust tube-based predictive control for mobile robots in off-road conditions, Robotics and Autonomous Systems 59 (10) (2011) 711–726.
-  M. Farrokhsiar, G. Pavlik, H. Najjaran, An integrated robust probing motion planning and control scheme: A tube-based mpc approach, Robotics and Autonomous Systems 61 (12) (2013) 1379–1391.
-  Y. Gao, A. Gray, H. E. Tseng, F. Borrelli, A tube-based robust nonlinear predictive control approach to semi-autonomous ground vehicles, Vehicle System Dynamics: International Journal of Vehicle Mechanics and Mobility.
-  A. Carvalho, S. Lefévre, G. Schildbach, J. Kong, F. Borrelli, Automated driving: The role of forecasts and uncertainty — a control perspective, European Journal of Control.
-  P. Apkarian, P. Gahinet, G. Becker, Self-scheduled h infinite control of linear parameter-varying systems: a design example, Automatica 31 (9) (1995) 1251–1261.
-  C. G. L. Bianco, A. Piazzi, M. Romano, Velocity planning for autonomous vehicles, IEEE Intelligent Vehicles Symposium.
-  G.-R. Duan, H.-H. Yu, LMIs in control systems: analysis, design and applications, CRC press, 2013.
-  M. S. Floater, K. Hormann, G. Kós, A general construction of barycentric coordinates over convex polygons, advances in computational mathematics 24 (1) (2006) 311–331.
-  G. F. Franklin, J. D. Powell, M. L. Workman, Digital control of dynamic systems, Vol. 3, Addison-wesley Menlo Park, CA, 1998.