Next Article in Journal
Comparison of Tracking Techniques on 360-Degree Videos
Next Article in Special Issue
Fault Data Detection of Traffic Detector Based on Wavelet Packet in the Residual Subspace Associated with PCA
Previous Article in Journal
Cutting Blade Measurement of an Ultrasonic Cutting Machine Using Multi-Step Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Speed Tracking Method for Autonomous Driving via ADRC with Extended State Observer

State Key Laboratory of Engines, Tianjin University, Tianjin 300350, China
*
Authors to whom correspondence should be addressed.
Appl. Sci. 2019, 9(16), 3339; https://doi.org/10.3390/app9163339
Submission received: 22 July 2019 / Revised: 9 August 2019 / Accepted: 12 August 2019 / Published: 14 August 2019
(This article belongs to the Special Issue Intelligent Transportation Systems)

Abstract

:
This paper proposes the extended state observer (ESO)-based active disturbance rejection control (ADRC) for the speed tracking of an autonomous vehicle. Uncertainties, both in the vehicle plant and in the sensors, such as nonlinear uncertainties due to the powertrain dynamics, variations in rolling resistance and air resistance, are all estimated in real-time by an extended state observer (ESO). Furthermore, a simple vehicle longitudinal dynamics model, including a mean value engine model (MVEM), is implemented to obtain the parameters in ADRC and design a feedforward controller to enhance the controller’s performance. The proposed controller is validated through CarSim®/Simulink® simulations and road tests. The simulation validates the adaptiveness of the proposed controller against the well-tuned proportional integral derivative (PID) controller, and the speed tracking error of the proposed controller is within 1.26% in simulation. Simulation results also show that fuel consumption can be improved by 3.6% by changing the accelerator pedal depth and positive rate. Finally, the road tests are completed under four kinds of road conditions, and the maximum tracking error is smaller than 0.5 km/h.

1. Introduction

Autonomous vehicle technology has received extensive attention because it has the potential to reduce the number of road fatalities, reduce fuel consumption, and improve transportation efficiency. Significant progress has been made in the fields of sensing, computer hardware, and software technology over the past few decades. Worldwide competitions have been held, such as the Defense Advanced Research Projects Agency (DARPA) Grand Challenge [1] and Urban Challenge [2]. The Intelligent Vehicle Future Challenge (IVFC) [3] and the World Intelligent Driving Challenge (WIDC) [4] have driven academic research and the development of associated technologies in China. This paper describes the design of the longitudinal controller for Tianjin University’s autonomous vehicle which competed in the World Intelligent Driving Challenge competition.
The architecture of an autonomous driving system typically consists of three layers: The environmental perception layer, the decision-making and planning layer, and the driving control layer [5]. The driving control layer is responsible for tracking the desired trajectory, which is obtained from the decision-making and planning layer. Driving control is a complex task that must guarantee vehicle stability and ensure certain levels of performance. The lateral and longitudinal controllers are vital components of the driving control layer. The lateral controller adjusts the steering wheel of the vehicle to track the target trajectory. The longitudinal controller delivers the control commands to the accelerator pedal and brake pedal of the vehicle so that the trajectory matches the longitudinal speed profile that has been created. The performance of the longitudinal controller essentially determines the drivability, fuel economy, and safety of the vehicle. We focus on the longitudinal controller in this study.
One of the most critical challenges associated with the longitudinal control of the vehicle is dealing with disturbances. “Total disturbance” includes both internal unmodeled vehicle dynamics and external disturbances in the system. Since the engine and powertrain are time-delayed and strong non-linear systems of which the dynamics are difficult to model or measure, the challenges exist in controlling the acceleration pedal depth according to the desired drive torque. In addition, external disturbances come from Global Positioning System (GPS)/ Inertial measurement unit (IMU) sensor, variations in rolling resistance, air resistance, and resistance from the road incline also cause the control challenges to vehicle speed tracking control.
Various solutions to the aforementioned problems have been studied for speed tracking control. Proportional integral derivative (PID) controllers are popular because they are convenient to implement. Leonard et al. [6] designed a simple linear PID controller to track set speed. Khayyam et al. [7] used a nonlinear PID controller to improve the performance of the controller. Fuzzy PID [8] and adaptive fuzzy PID [9] controllers have both been used in existing research. However, these controllers require a large calibration effort, and one set of control parameters often fails to solve the vehicle speed tracking problem under operational conditions. A resource-intensive gain-scheduling algorithm for the PID controller is necessary to improve its performance.
Linear or nonlinear model predictive control (MPC) [10,11,12,13,14] provides another solution because it can handle multiple constraints on both inputs and states, as shown by Liu et al. [15]. Wang et al. [16] showed that the vehicle set speed or desired acceleration is commonly used as inputs to the controller for the simplicity of controller design. On the one hand, MPC is a time-consuming control method, and it needs much calculation resource to guarantee the real-time control in a real vehicle system. On the other hand, the controller actuators are, in real vehicle, the accelerator pedal and the brake pedal. Thus, a correspondence model becomes necessary to describe the desired speed with the commands that control the actuators. Some related modeling work can be found in [17], but such modeling demands a lot of bench experiment, primarily because the relationships between the vehicle set speed or desired acceleration, the corresponding pedal depth, and throttle angle are highly nonlinear. Thus, the problems of an MPC controller are calculation time-consuming and modeling difficulty. Other algorithms for autonomous vehicle control include: H∞ [18], sliding mode control (SMC) [19], Lyapunov-based control [20], and linear parameter-varying (LPV) control [21].
The preceding challenges show the need for a simple and effective controller that can compensate for all the disturbances without having to rely on an accurate vehicle model, expensive sensors, and time-consuming calibration. In this paper, we pay particular attention to the active disturbance rejection control (ADRC), which emphasizes on using the extended state observer (ESO) to timely estimate the “total disturbance” including both internal unmodeled dynamics and external disturbance in the system. ADRC has been widely used in many fields [22,23,24], and applying the parameterization method in [25] allows for an easy and intuitive tuning process. Besides, the model information can help obtain more precise ADRC controller parameters associated with system characteristics, and the burden of the ESO can be reduced. Thus, a vehicle longitudinal dynamics model is implemented to construct a feed-forward controller. Notably, this study uses the mean value engine model (MVEM) [26,27], instead of a map function [16,17], to model the relationship between engine throttle and engine torque. Finally, we validated the controller a drive cycle under CarSim®/ Simulink® [28] simulations and road tests.
The contributions made in the paper can be summarized as follows.
  • The controller design is based on the concept of active disturbance rejection control (ADRC).
  • A mean value engine model (MVEM) is implemented to replace the map function to obtain more precise ADRC parameter estimation and then reduce the calculation burden of the extended state observer.
  • The simulation validates the adaptiveness of the proposed controller against the well-tuned PID controller and proves the fuel consumption improving potential by limiting the accelerator pedal action.
  • It utilizes the high-definition map (HD-map) to obtain the road slope information in a real autonomous driving longitudinal control system.
This rest of this paper is organized as follows. Section 2 describes the longitudinal vehicle dynamics and the internal powertrain model of the vehicle. Section 3 describes the longitudinal controller architecture and the control relationships exploited in this study. Section 4 and Section 5 present the results of the CarSim-Simulink simulation followed by an analysis of the results and a discussion of their practical utility. The conclusions of this study are presented in Section 6.

2. Control-Oriented Vehicle Longitudinal Model

This section introduces the dynamics of an autonomous driving vehicle with a spark ignition (SI) engine. The working principle of SI engines is that the combustion of air–fuel mixtures in the chambers produces the engine torque. The SI engine throttle controls the air mass flow into the intake manifold. Thus, the fuel mass flow is controlled by the ideal air–fuel ratio. The driving torque produced by SI engine is delivered to vehicle wheels through the transmission system, and the vehicle wheel torque drives the vehicle forward. Hence, the major blocks of a vehicle are shown in Figure 1. In the following, the vehicle model is briefly introduced, and thus is used in the design in ADRC. The main variables used in the model are given in Table 1.

2.1. Mean Value Engine Model

The control input of the longitudinal motion of an autonomous driving vehicle is the accelerator pedal depth, which is converted to the engine throttle angle. Thus, we need to find the model between engine torque and throttle. In general, the modeling of the engine system is intricate because of its nonlinear and time-varying characteristics. A physical-based model called the mean value engine model (MVEM), which predicts the mean values of major external engine variables like crankshaft speed and manifold pressure dynamically in time, has been widely used [26,27]. This model is relatively simple but can describe major time-varying characteristics. Figure 2. shows the MVEM modules.
For the modeling purpose, the intake manifold is regarded as an adiabatic system. Thus, the ideal gas law can be used to describe the pressure variation [26]:
p ˙ m = κ R V m ( m ˙ a i K a m ˙ a o K m )
where V m is the manifold volume, κ is the ratio of specific heats ( κ = 1.4 for air), and R is the gas constant.
The air mass flow is a function of the throttle angle [26]:
m ˙ a i = M A X T C ( θ t h r ) P R I
where M A X is a constant dependent on the size of the throttle body and T C ( θ t h r ) is the throttle characteristic which is the projected area the flow sees as a function of the throttle angle:
T C ( θ t h r ) = 1 cos ( θ t h r θ 0 )
where θ 0 is the minimum throttle angle of the engine and P R I is the pressure ratio influence function which describes the choked/sonic flow that occurs through the throttle valve. The air mass flow out of the manifold can be governed by:
m ˙ a o = K m K a V d η v o l 120 R K m N p m
where V d is the engine displacement and η v o l is the charging efficiency. Hence, the fuel mass flow that desired injected into the cylinder can be calculated through the air–fuel equivalence ratio:
m ˙ f u e l = m ˙ a o λ L t h
where L t h = 14.7 is the stoichiometric air–fuel mass ratio for SI engine. Then, the combustion of air–fuel mixtures produced engine indicated torque:
T i = H l η i m ˙ f u e l 2 π N / 60
where H l is the fuel energy constant and η i is the thermal efficiency multiplier. To obtain the effective engine torque, we need to calculate engine friction torque. A simple model for the total friction torque is given by [29]:
T f r i c , e = 9.55 ( c 1 + c 2 r 2 + c 3 r 2 ) V d r n R N
T e = T i T f r i c , e
where n R denotes the ratio between the number of strokes of the pistons to the number of rotations of the crankshaft ( n R = 2 for a four-stroke engine). The coefficients [ c 1 c 2 c 3 ] can be identified as [ 9.7 × 10 4 900 18 ] , with the displacement volumes ranging from 845–2000 cm3. We neglect the engine pump loss and vehicle accessories consumption, which can be regarded as internal disturbances to be estimated using the ESO. Especially, the control input is accelerator pedal, the model above establishes the relationship between engine effective torque T e and throttle angle θ t h r , we need a function to describe the accelerator pedal to engine throttle:
θ t h r = { 0 α p d l < α 0 k ( α p d l α 0 ) α 0 α p d l α max 100 α p d l > α max
where α 0 and α max denote the lower limit and upper limit of accelerator pedal depth, respectively. Combining Equations (1)–(9), the model between accelerator pedal depth and engine effective torque is established.

2.2. Internal vehicle powertrain model

As shown in Figure 1, the engine effective torque is delivered to vehicle wheels through the torque converter, transmission, and final drive. We neglect the dynamic process and non-linear characteristics of powertrain system components, and the model only concentrates on the torque delivering process:
F t = T e i g i 0 η T R w
The definition of parameters [ i g ,   i 0 ,   R w ] can be found in Table 1.

2.3. Vehicle Longitudinal Dynamics Model

The vehicle longitudinal model is deduced from Newton’s second law of motion and the major forces acting on the vehicle. The major forces acting upon the car are the tractive force F d , air resistance F w , rolling resistance F r , and slope resistance F i . We have illustrated these forces in Figure 1. The change in vehicle speed of a vehicle with the mass as a function of the sum of these forces:
m v ˙ ( t ) = F t F i F w F r
Each force can be calculated by:
{ F d = T d R w F w = 1 2 C d A ρ ( v v w i n d ) F i = m g sin β F r = m g C r cos β
where C d and C r denote the air resistance coefficient and roll resistance coefficient, respectively, and β is the slope of road.

3. Longitudinal Speed Tracking Controller Design

The simplification of vehicle longitudinal dynamics and powertrain system in terms of their strong non-linear characteristics produces the model uncertainty, and the changes of vehicle characteristics, for example the vehicle transmission efficiency, produce the vehicle state uncertainty; we call them internal disturbances. In addition, the various driving conditions and the noise of sensors produce the external disturbances. This study regards these uncertainties as the “total disturbances” during the autonomous driving process. Thus, we created an ADRC controller with the ESO, which can timely estimate the “total disturbance.” The total disturbance is then treated as an additional vehicle state to be corrected for in the feedback process. The performance of the ESO is limited by the sampling rate, so a model-based feed-forward control is used to improve its performance. The feed-forward control is actually a gain-scheduled proportion control, as the proportion varies with the desired acceleration, preview time, etc. Therefore, feed-forward control is an effective improvement of ADRC in the transient process in the case of operating condition variations under limited sampling rate. Figure 3 shows the structure of the longitudinal controller.
The entire controller consists of an ADRC controller and a model-based feed forward controller (MFC). ADRC observes the total disturbances using the ESO, and it also estimates the vehicle speed and acceleration. The MFC calculates the desired vehicle acceleration based on a time-preview of target speed profile. In addition, a throttle–brake switching module is included in the controller to avoid frequent switching between the throttle and brake actuators and to ensure driving comfort.

3.1. ADRC Controller Design

Active disturbance rejection is a design concept intended to accommodate external disturbances and unknown internal dynamics in such a way that control can be exerted in the absence of a detailed mathematical model [30]. In ADRC, the vehicle dynamics are simplified as a second-order system, and all other dynamic processes that differ from those that affect the vehicle in practice (e.g., variations in rolling resistance, air resistance, and the gravitational force) are treated as a single total disturbance. The total disturbance is then treated as an additional vehicle state that is computed in real-time (by the ESO) and corrected for in the feedback process.
The vehicle longitudinal dynamic system is simplified to a second-order system:
v ¨ = f ( v , v ˙ , w , t ) = k 1 v ˙ k 2 v + w + b θ t h r
where v denotes the vehicle speed, k 1 and k 2 are coefficients, k 2 is the unknown system disturbances, and θ t h r is the control system input throttle angle. For a certain physical system, the parameter b can be estimated according to the known system information, and the estimated value of b is b 0 . Thus, we can get:
v ¨ = k 1 v ˙ k 2 v + w + ( b b 0 ) θ t h r + b 0 θ t h r = f + b 0 θ t h r
where the term f = k 1 v ˙ k 2 v + w + ( b b 0 ) θ t h r represents the system total disturbances. Then, combining Equations (10) and (11), we can get:
v ¨ ( t ) = T ˙ e i g i 0 η T m R w F ˙ z m
where F z = F i + F w + F r , and we the function g ( ) represents the MVEM, which describes the relationship between engine throttle angle and engine indicated torque. Equation (15) can be rewritten as:
v ¨ ( t ) = ( g ˙ ( θ t h r ) T ˙ f r i c , e J e ω ¨ e ) i g i 0 η T m R w F ˙ z m
where J e denotes the rotational inertia of engine and ω e is the angular velocity of engine crankshaft. In the framework of ADRC [31], Equation (16) can be rewritten in the form of Equation (14):
v ¨ ( t ) = ( g ˙ ( θ t h r ) T ˙ f r i c , e J e ω ¨ e ) i g i 0 η T m R w F ˙ z m = b 0 θ t h r + f
It can be seen that the value of b 0 is associated with the physical system information, and it is the reason we need to establish a simplified vehicle model. With a relatively precise estimated value of b 0 , the calculation burden of the ESO can be reduced [32]. The system disturbance term f is extended as a new system state variable to construct the extended state observer (ESO). The new system state vector is defined as:
X = [ x 1 x 2 x 3 ] T = [ v v ˙ f ] T
and Equation (17) is rewritten in the form of state equation:
{ x ˙ 1 = x 2 x ˙ 2 = x 3 + b 0 θ t h r x ˙ 3 = h = f ˙ y = x 1
The state space Equation (19) is:
{ X ˙ = A X + B θ t h r + E h y = C X
where y denotes the system output, and the coefficient matrix are A = [ 0 1 0 0 0 1 0 0 0 ] , B = [ 0 b 0 0 ] , C = [ 1 0 0 ] T . According to the state observer theory, the ESO can be designed as:
{ z ˙ 1 = z 2 + β 1 ( y y ^ ) z ˙ 2 = z 3 + b 0 θ t h r + β 2 ( y y ^ ) z ˙ 3 = β 3 ( y y ^ ) y ^ = z 1
where [ z 1 z 2 z 3 ] denotes the estimated value of system state variable [ x 1 x 2 x 3 ] . The state space equation of the ESO is:
{ z ˙ = A z + B θ t h r + L ( y y ^ ) y ^ = C z
where L = [ β 1 β 2 β 3 ] T is the observer gain vector. To simplify parameter tuning process, Gao et al. [30] used the method of pole configuration that set L = [ 3 ω 0   3 ω 0 2   ω 0 3 ] T . ω 0 is called the observer bandwidth.
The idea of ADRC is to have f estimated and canceled, thus leaving an integral plant that can be easily controlled. The vehicle longitudinal system is simplified to a simplest second order system, and an ESO will estimate the real value of total disturbance f . Thus, the system is rewritten as:
v ¨ = u 0 b 0 θ t h r + f
We can obtain the estimated value of f by the ESO, and we can neglect the error between them:
v ¨ = f + b 0 θ t h r = ( f f ^ ) + u 0 = ( f z 3 ) + u 0 u 0
where f ^ is the estimated value of f . The vehicle longitudinal system is simplified to a series integral system, and it can be controlled by a proportional-differential (PD) controller.
u 0 = k p ( v a i m v ^ ) k d v ˙ ^
where v ^ and v ˙ ^ are the estimated value of vehicle speed and vehicle acceleration, respectively, and v a i m is the target vehicle speed. The control law of ADRC is:
θ f b = k p ( v a i m z 1 ) k d z 2 ω o 3 ( v a c t z 1 ) d t b 0
where θ f b is the throttle angle calculated by ADRC and k 1 and k 2 are parameters of ADRC. We set k p = 2 ω c ,   k d = ω c 2 , and ω c is called the controller bandwidth.

3.2. Model-Based Feedforward Controller Design

This study developed a model-based feedforward controller (MFC) with acceleration preview to reduce the system response time. The MFC has three components: A velocity compensator, an acceleration preview module, and an inverse dynamic model-based controller.
When an autonomous vehicle is traveling along a hilly road, the inclines cause additional gravity acceleration or resistance a β . We created a slope velocity compensation module to improve the response of the controller when the vehicle was traveling uphill and to avoid frequent braking when traveling downhill:
a β = ± g sin β Δ v β = T a β
where T is the control cycle and Δ v β is the compensatory velocity based on the angle of inclination of the road. The compensatory velocity is positive when the vehicle is traveling downhill and negative when it is traveling uphill. The new vehicle set speed is:
v a i m n e w = v a i m Δ v β
The acceleration preview module transforms the set speed to the desired acceleration, which is then used to calculate the desired drive torque in the inverse dynamic model-based controller. A preview time t p to obtain the desired acceleration is determined, and the preview speed v p is the speed at time t p after the current moment. Thus, the desired vehicle acceleration is:
a d e s = ( v p v a c t ) / t p
When desired vehicle acceleration a d e s is positive, the inverse dynamic model-based controller will calculate the desired drive torque, and the desired wheel drive torque T w is obtained:
a d e s = T w J w ω ˙ h m R w F z m
where J w is the rotational inertia of vehicle wheel and ω h is the wheel angular velocity.
The feedforward engine torque T i , f f is:
T i , f f = R w ( m a d e s + F z ) + J w ω ˙ h i g i 0 η T + T f r i c , e + J e ω ˙ e
Thus, the throttle angle from the MFC is:
θ f b = g 1 ( T i , f f )
When the desired vehicle acceleration a d e s is negative, the braking system produces brake torque to decelerate the vehicle:
F b r k = m a d e s F w F r F i
The parameters we need to calculate are obtained from the vehicle configuration, and the wheel speed is obtained from a sensor in the vehicle. The transmission gear is obtained from the control area network (CAN) bus in the vehicle in real-time, and vehicle mass and tire radius are obtained from the vehicle configuration parameters. The inaccuracies in the wheel and engine inertia are computed in the ESO as internal disturbances, and the inaccuracies in the MVEM (e.g., coefficient empirical value and model simplification) are also included as internal disturbances.

4. Simulation and Results

4.1. Simulation Case Design

The CarSim/Simulink co-simulation platform was used to verify the controller. A passenger vehicle model was randomly selected from the CarSim vehicle database for each simulation. The basic vehicle configuration parameters are shown in Table 2:
The incline of the road, which was obtained from a high-definition map, was known in the simulation. Wind speed was set to a randomly varying value between −1 and 1 m/s. The following simulations were designed to verify the ability of the controller to compensate for disturbances and to observe the performance of the controller:
(1). Step speed profile
A step speed reference profile was used to compare the control performance between the controllers with and without the MFC.
(2). The worldwide harmonized light vehicles test procedure (WLTP) driving cycle and changed vehicle mass on level road (Case 1)
A vehicle having the configuration in Table 2 traveled on a level road according to a WLTP [33]. The results were compared by using a well-tuned PID controller, a single ADRC controller, and the MFC-ADRC controller.
(3). Increased vehicle mass on an uphill road (Case 2)
The control parameters were unchanged for this simulation, but the vehicle mass was increased to 2100 kg, and the road had a 6° increasing incline. We compared the results of the three controllers used in Case 2.
(4). Changed vehicle driving characteristics
This case assessed the controller’s performance under the changed driving style by limiting the accelerator pedal depth and accelerator pedal positive changing rate. The influence of changed driving style on speed profile and fuel consumption was analyzed.

4.2. Simulation Results

The control performance comparison between the controllers with and without the MFC is demonstrated in Figure 4. It could be noticed that overshoot was reduced with the MFC, resulting in shortened response time.
Then, the simulation was conducted using a class D sedan with a six-speed automatic transmission randomly selected in CarSim. The reference speed range was from 0 to 57 km/h with frequent acceleration and deceleration. We used this profile to assess the performance of the controller in tracking vehicle speed.
The results of Cases 2 and 3 are shown in Figure 5 and Figure 6. Results from the PID controller, the ADRC controller, and the MFC-ADRC controller were compared. When traveling on the level road (Case 2), all three controllers were well-tuned and performed well. A relatively large error was found at the point where the speed abruptly changed when using the PID controller. The average tracking error of the PID controller was 3.31%, and the average tracking error of the ADRC controller was 1.58%. The MFC-ADRC controller showed the best performance with an average tracking error of 0.86%. The statistical indicators of controller performance are shown in Table 3.
Case 3, in which the control parameters were unchanged, had a vehicle mass of 2100 kg, and the road was inclined upward at 6°. The purpose of this case was to test the adaptability of the three controllers when the vehicle properties and the road conditions have changed. The PID controller performed badly (Figure 6). The ability of the MFC-ADRC controller to detect and correct disturbances makes the vehicle responsive to changes in driving conditions. The statistical indicators for Case 3 are shown in Table 4.
Figure 7 clearly shows the differences in the performance of the three controllers between Cases 2 and 3. The MFC-ADRC was highly adaptable when the vehicle mass and the road conditions were changed. We analyzed the control output in Case 3 to find the reasons for the good performance of the MFC-ADRC. The control output of the MFC was a major part of the total control output, and the MFC performed better on transient signals by reducing response time (Figure 8). ADRC observed the disturbances (shown in Table 5) and quickly responded to them by correcting for them through the feedback algorithm. The combination MFC-ADRC controller was more adaptable than the others and therefore could better respond to both internal and external disturbances.
Case 4, in which the accelerator pedal depth and the accelerator pedal positive rate were limited, had a vehicle mass of 1800 kg and a level road. This case aimed to find the change in fuel consumption with the driving style changed. As shown in Figure 9, the accelerator pedal depth changed clearly; however, the speed profile remained nearly unchanged. The fuel consumption was reduced from 0.942 to 0.908 kg in a complete WLTP, and the reason is that changes in accelerator pedal directly lead to the engine working point to significantly change, although the final speed profile was essentially the same. The high engine speed working points was reduced, and a reduction in engine operating point fluctuations could reduce the additional fuel consumption caused by engine transient behavior when the working points became more gathered (Figure 10).

5. Autonomous Driving Vehicle Configuration and Road Experiments Results

Road tests were conducted on the Tianjin University campus to observe the performance of the MFC-ADRC controller. Figure 11 shows the software architecture of the experimental autonomous vehicle. Sensors used for perception included GPS/IMU, lidar, radar, cameras, and other vehicle sensors. The perception module created a description of the traffic environment for subsequent use by other modules. Other information concerning the traffic environment was provided by a high-definition map (HD-Map) which contained highly detailed topological information of the roadway, such as the locations of lane markers, road edges, traffic lights, and traffic signs to centimeter-level accuracy. Other information, including lane direction, speed limitations, traffic rules governing lane occupancy, and topological information about all the roads and lanes, was stored as formatted data in the HD-Map database. Road incline information needed in by the MFC-ADRC could be easily obtained from the HD-Map.
Table 6 gives an example of data from the HD-Map; Figure 12 is a representation of the centerline data layer of the HD-Map of Tianjin University. A reference trajectory was generated from the HD-Map data, which were transferred to the decision and planning module. The target trajectory was then calculated by the planning module, and the vehicle control module operated the actuators (brake, throttle, and steering wheel) to follow the trajectory.
The experimental vehicle was a hybrid SUV which could operate in engine-drive-only mode and which was equipped with the sensors identified at the start of this section. The vehicle could be controlled through wired actuators. The control commands from the vehicle controller were delivered to the wired actuators using the CAN bus. The control software for this autonomous vehicle was implemented on an embedded NVIDIA®/XAVIER GPU platform. A human driver could quickly take over control of all the actuators through a driving mode switch button should safety concerns have demanded it. Figure 13 shows the vehicle hardware setup and the communication paths between modules.
In the interests of safety, the road tests for the longitudinal controller we developed were carried out on the autonomous driving test field at Tianjin University. Figure 14 gives an overhead view of the test route. There were three speed bumps, a straight-line road, a long curving road, and a roundabout on the test route. Various road conditions were used during the assessment of the longitudinal control algorithm.
The autonomous driving vehicle had three driving modes: Electric-only, engine-only, and hybrid. We used the engine-only mode to evaluate the performance of the proposed controller because of the nonlinear dynamics of the engine. The results of the experiments are as follows.

5.1. Straight Line Road with a Low Vehicle Speed

The target vehicle speed was set to 15 km/h. A PID controller and the MFC-ADRC controller were both used on a straight road. Figure 15 shows the results of the experiment. It took 10.5 s for the MFC-ADRC controller to reach the set speed and remain steady. However, the PID controller took about 16 s to reach the set speed and oscillated widely about the set speed while driving. The MFC-ADRC controller overshot the set speed by 1.78 km/h and then took 4 s to reach a steady speed. The vehicle speed fluctuated between 14 and 16 km/h under the PID controller because the PID controller failed to overcome the system delay and the effects of nonlinear disturbances on the vehicle, especially those generated in the powertrain system. Table 7 shows the statistical indicators for the stable data segment of the vehicle speed.

5.2. Roundabout with a Low Vehicle Speed

We maintained the control parameters of the straight road experiment to test whether the controller could adapt to the changed road conditions. The duration of the experiment was 120 s, and the vehicle entered the roundabout after 30 s. The maximum error was 0.6 km/h, and the mean absolute error was 0.17 km/h on the roundabout (Figure 16).

5.3. Entire Test Road with a Higher Vehicle Speed

Vehicle speed was limited on the campus for safety considerations. This experiment used the entire road with a vehicle set speed of 30 km/h. There were three speed bumps (external disturbances) on the road that were used to assess the ability of the controller to correct for the effects of a disturbance.
The first 120 s of driving data are shown in Figure 17. There was a distinct speed oscillation when the vehicle arrived at the speed bumps; the maximum tracking errors were 0.94, 1.12, and 1.38 km/h at each speed bump. The disturbance caused by speed bumps was observed by the controller and was also quickly corrected.

5.4. Stepped Speed Test

This experiment used a stepped set speed profile to assess the continuous acceleration and braking ability of the controller. The set speeds were 15, 25, 18, and 10 km/h. The vehicle traveled for 80 s at each speed. Figure 18 shows the speed tracking. The sample points with a tracking error within ±0.5 km/h accounted for 98.02% of the total sample points, and the points with an absolute value of error >0.6 km/h appeared at the moments the speed step changed. The MFC-ADRC controller used an ESO to obtain observed values of state variables and disturbances, and Figure 19 shows the observation results. This ability to use observations of disturbances and state variables is the key to actively correcting for disturbances under different uncertainties.

6. Conclusions

This paper proposes an extended state observer (ESO)-based active disturbance rejection control (ADRC) for the speed tracking of an autonomous vehicle. The ADRC controller provides an autonomous vehicle with the ability to compensate for unknown internal and external disturbances. Internal disturbances are due to the simplification of nonlinear features of vehicle components while modeling, and external disturbances come from the changing environment and road conditions, such as wind speed and the road incline. The extended state observer ESO is used to estimate the total disturbances, which are corrected for by a feedback loop algorithm. A simple vehicle longitudinal dynamics model including a mean value engine model (MVEM) is implemented to obtain the parameters in ADRC and design a feedforward controller (MFC) to enhance the controller’s performance. An actuator switching module is included in the control architecture to ensure controller stability and to avoid frequent switching between actuators.
The ADRC-MFC controller using CarSim vehicle model simulations was validated, as was the controller using on-road experiments. The results of the simulations using a WLTP speed profile showed the effectiveness and the adaptiveness of the controller. The simulation results show that the controller adapts to various conditions with a mean absolute percentage error of 1.26 and is able to improve the fuel consumption by 3.6% through changing the accelerator pedal depth and positive rate. The Tianjin University autonomous vehicle, with data from the HD-Map, was used to road-test the controller on the campus autonomous driving test field. Our ADRC-MFC controller ensures steady speed tracking at low and moderate speeds under different road conditions, and the sample points with a tracking error within ±0.5 km/h account for 98.02% of the total sample points.
With the proposed controller, the speed of an autonomous vehicle can be controlled well without an accurate model. Moreover, the parameters of ADRC controller can be estimated according to the vehicle model, which creates a lesser workload of calibration. Future researchers can develop a self-learning algorithm that makes the model more accurate based on this control frame.

Author Contributions

All the Authors contributed significantly to this current work. S.X. conceptualized the idea. S.X. and G.Z. implemented the methodology. S.X. wrote the paper. H.X. and K.S. supervised the work, revised the paper and helped in the acquisition of the funds.

Acknowledgments

We express our sincere thanks to the State key laboratory of engines, Tianjin University for provided us with experiment platform and funds.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Buehler, M.; Iagnemma, K.; Singh, S. The 2005 DARPA Grand Challenge: The Great Robot Race; Springer-Verlag: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  2. Buehler, M.; Iagnemma, K.; Singh, S. The DARPA urban Challenge: Autonomous Vehicles in City Traffic; Springer-Verlag: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  3. Xin, J.; Wang, C.; Zhang, Z.; Zheng, N. China future challenge: Beyond the intelligent vehicle. IEEE Intell. Transp. Syst. Soc. Newslett 2014, 16, 8–10. [Google Scholar]
  4. The 3rd World Intelligence Congress. Available online: http://info.wicongress.org/en (accessed on 20 June 2019).
  5. Paden, B.; Čáp, M.; Yong, S.Z.; Yershov, D.; Frazzoli, E. A survey of motion planning and control techniques for self-driving urban vehicles. IEEE Trans. Intell. Veh. 2016, 1, 33–55. [Google Scholar] [CrossRef]
  6. Leonard, J.; How, J.; Teller, S.; Berger, M. A perception-driven autonomous urban vehicle. J. Field Rob. 2008, 25, 727–774. [Google Scholar] [CrossRef] [Green Version]
  7. Khayyam, H.; Nahavandi, S.; Davis, S. Adaptive cruise control look-ahead system for energy management of vehicles. Expert Syst. Appl. 2012, 39, 3874–3885. [Google Scholar] [CrossRef]
  8. Chiang, H.H.; Wu, S.J.; Perng, J.W. The human-in-the-loop design approach to the longitudinal automation system for an intelligent vehicle. IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 2010, 40, 708–720. [Google Scholar] [CrossRef]
  9. Pérez, J.; Gajate, A.; Milanés, V.; Onieva, E.; Santos, M. Design and implementation of a neuro-fuzzy system for longitudinal control of autonomous vehicles. In Proceedings of the International Conference on Fuzzy Systems, Barcelona, Spain, 18–23 July 2010; pp. 1–6. [Google Scholar]
  10. Farrokhsiar, M.; Pavlik, G.; Najjaran, H. An integrated robust probing motion planning and control scheme: a tube-based MPC approach. Robot. Auton. Syst. 2013, 61, 1379–1391. [Google Scholar] [CrossRef]
  11. Schwarting, W.; Alonso-Mora, J.; Pauli, L.; Karaman, S.; Rus, D. Parallel autonomy in automated vehicles: safe motion generation with minimal intervention. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 1928–1935. [Google Scholar]
  12. Gao, Y.; Gray, A.; Tseng, H.E.; Borrelli, F. A tube-based robust nonlinear predictive control approach to semi-autonomous ground vehicles. Veh. Syst. Dyn. Int. J. Veh. Mech. Mob. 2014, 52, 802–823. [Google Scholar] [CrossRef]
  13. Nahidi, A.; Kasaiezadeh, A.; Khosravani, S.; Khajepour, A.; Chen, S.K.; Litkouhi, B. Modular integrated longitudinal and lateral vehicle stability control for electric vehicles. Mechatron 2017, 44, 60–70. [Google Scholar] [CrossRef]
  14. Ahmed, A.A.; Koh, B.K.; Lee, Y.I. A comparison of finite control set and continuous control set model predictive control schemes for speed control of induction motors. IEEE Trans. Ind. Inf. 2017, 14, 1334–1346. [Google Scholar] [CrossRef]
  15. Liu, K.; Gong, J.; Kurt, A.; Chen, H.; Ozguner, U. A model predictive-based approach for longitudinal control in autonomous driving with lateral interruptions. In Proceedings of the IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, USA, 11–14 June 2017; pp. 359–364. [Google Scholar]
  16. Wang, J.; Sun, Z.; Xu, X.; Liu, D. Adaptive speed tracking control for autonomous land vehicles in all-terrain navigation: An experimental study. J. Field Rob. 2013, 30, 102–128. [Google Scholar] [CrossRef]
  17. Li, S.E.; Gao, F.; Cao, D.; Li, K. Multiple-model switching control of vehicle longitudinal dynamics for platoon-level automation. IEEE Trans. Veh. Technol. 2016, 65, 4480–4492. [Google Scholar] [CrossRef]
  18. Nawash, N. H-infinity control of an autonomous mobile robot. Ph.D. Thesis, Cleveland State University, Cleveland, USA, 2005. [Google Scholar]
  19. Alcalá, E.; Sellart, L.; Puig, V.; Quevedo, J.; Saludes, J.; Vázquez, D.; López, A. Comparison of two non-linear model-based control strategies for autonomous vehicles. In Proceedings of the 2016 24th Mediterranean Conference on Control and Automation, Athens, Greece, 21–24 June 2016; pp. 846–851. [Google Scholar]
  20. Blažič, S. Takagi–Sugeno vs. Lyapunov-based tracking control for a wheeled mobile robot. WSEAS Trans. Syst. Control 2010, 5, 667–676. [Google Scholar]
  21. Németh, B.; Gáspár, P.; Bokor, J. LPV-based integrated vehicle control design considering the nonlinear characteristics of the tire. In Proceedings of the 2016 American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016; pp. 6893–6898. [Google Scholar]
  22. Luo, S.; Sun, Q.; Wu, W.; Sun, M.; Chen, Z.; He, Y. Accurate flight path tracking control for powered parafoil aerial vehicle using ADRC-based wind feedforward compensation. Aerosp. Sci. Technol. 2019, 84, 904–915. [Google Scholar] [CrossRef]
  23. Wang, G.; Liu, R.; Zhao, N.; Ding, D.; Xu, D. Enhanced Linear ADRC Strategy for HF Pulse Voltage Signal Injection-Based Sensorless IPMSM Drives. IEEE Trans. Power Electron. 2018, 34, 514–525. [Google Scholar] [CrossRef]
  24. Huang, Z.; Liu, Y.; Zheng, H.; Wang, S.; Ma, J.; Liu, Y. A self-searching optimal ADRC for the pitch angle control of an underwater thermal glider in the vertical plane motion. Ocean Eng. 2018, 159, 98–111. [Google Scholar] [CrossRef]
  25. Gao, Z. Scaling and bandwidth-parameterization based controller tuning. In Proceedings of the American control conference, Denver, CO, USA, 4–6 June 2003; pp. 4989–4996. [Google Scholar]
  26. Hendricks, E.; Sorenson, S.C. Mean value modelling of spark ignition engines. SAE Tech. 1990, 99, 1359–1373. [Google Scholar]
  27. Hendricks, E.; Luther, J. Model and observer based control of internal combustion engines. In Proceedings of the International Workshop on Modeling, Emissions and Control in Automotive Engines (MECA01), Salterno, Italy, September 2001; pp. 9–20. [Google Scholar]
  28. Manual, C.U. CarSim/Simulink. Mechanical Simulation Corporation: Ann Arbor, MI, USA, 2002. [Google Scholar]
  29. An, F.; Stodolsky, F. Modeling the effect of engine assembly mass on engine friction and vehicle fuel economy. SAE Trans. 1995, 104, 1651–1657. [Google Scholar]
  30. Zheng, Q.; Gao, Z. Predictive active disturbance rejection control for processes with time delay. ISA Trans. 2014, 53, 873–881. [Google Scholar] [CrossRef] [PubMed]
  31. Han, J. From PID to active disturbance rejection control. IEEE Trans. Ind. Electron. 2009, 56, 900–906. [Google Scholar] [CrossRef]
  32. Gao, Z. On the centrality of disturbance rejection in automatic control. ISA Trans. 2014, 53, 850–857. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  33. Worldwide Harmonised Light Vehicles Test Procedure. Available online: https://en.wikipedia.org/wiki/Worldwide_Harmonised_Light_Vehicles_Test_Procedure (accessed on 20 June 2019).
Figure 1. Simplified vehicle powertrain systems.
Figure 1. Simplified vehicle powertrain systems.
Applsci 09 03339 g001
Figure 2. The model blocks of the spark ignition (SI) engine.
Figure 2. The model blocks of the spark ignition (SI) engine.
Applsci 09 03339 g002
Figure 3. Block diagram of the longitudinal control algorithm.
Figure 3. Block diagram of the longitudinal control algorithm.
Applsci 09 03339 g003
Figure 4. Speed tracking results for Case 1.
Figure 4. Speed tracking results for Case 1.
Applsci 09 03339 g004
Figure 5. Speed tracking results for Case 1.
Figure 5. Speed tracking results for Case 1.
Applsci 09 03339 g005
Figure 6. Speed tracking results for Case 2.
Figure 6. Speed tracking results for Case 2.
Applsci 09 03339 g006
Figure 7. Comparison of tracking errors in changing conditions.
Figure 7. Comparison of tracking errors in changing conditions.
Applsci 09 03339 g007
Figure 8. Comparison of the control output between active disturbance rejection control (ADRC) and the model-based feedforward controller (MFC).
Figure 8. Comparison of the control output between active disturbance rejection control (ADRC) and the model-based feedforward controller (MFC).
Applsci 09 03339 g008
Figure 9. Comparison of speed profile and accelerator pedal depth in changing driving style.
Figure 9. Comparison of speed profile and accelerator pedal depth in changing driving style.
Applsci 09 03339 g009
Figure 10. Comparison of engine working point in changing driving style.
Figure 10. Comparison of engine working point in changing driving style.
Applsci 09 03339 g010
Figure 11. System architecture of Tianjin University’s autonomous vehicle.
Figure 11. System architecture of Tianjin University’s autonomous vehicle.
Applsci 09 03339 g011
Figure 12. Trajectory centerline layer of the HD-Map.
Figure 12. Trajectory centerline layer of the HD-Map.
Applsci 09 03339 g012
Figure 13. Hardware setup of Tianjin University’s autonomous vehicle.
Figure 13. Hardware setup of Tianjin University’s autonomous vehicle.
Applsci 09 03339 g013
Figure 14. Autonomous driving test field at Tianjin University.
Figure 14. Autonomous driving test field at Tianjin University.
Applsci 09 03339 g014
Figure 15. Longitudinal velocity tracking results on straight road.
Figure 15. Longitudinal velocity tracking results on straight road.
Applsci 09 03339 g015
Figure 16. Longitudinal velocity tracking on roundabout.
Figure 16. Longitudinal velocity tracking on roundabout.
Applsci 09 03339 g016
Figure 17. Longitudinal velocity tracking results at the set speed 30 km/h.
Figure 17. Longitudinal velocity tracking results at the set speed 30 km/h.
Applsci 09 03339 g017
Figure 18. Longitudinal velocity tracking results with stepped set speeds.
Figure 18. Longitudinal velocity tracking results with stepped set speeds.
Applsci 09 03339 g018
Figure 19. Observations made by extended state observer.
Figure 19. Observations made by extended state observer.
Applsci 09 03339 g019
Table 1. Notation used in models.
Table 1. Notation used in models.
SymbolVariableSymbolVariable
p m [bar]Intake manifold pressure m a i [kg/s]Air mass flow rate into manifold
m a o Air mass flow rate into cylinder K a [K]Environment temperature
K m [K]Manifold temperature θ t h r [deg]Engine throttle angle
N [RPM]Engine speed m f u e l [kg/s]Injected fuel mass flow rate
λ Air–fuel ratio T i [N·m]Indicated engine torque
T f r i c , e [N·m]Friction engine torque r [rev/s]engine (crankshaft) rotation speed
i g Transmission gear ratio i 0 Final drive ratio
α p d l Accelerator pedal depth F t [N]Vehicle traction force
η T Total transmission efficiency R w [m]Tire radius
Table 2. Basic CarSim vehicle model parameters.
Table 2. Basic CarSim vehicle model parameters.
ParametersValue
Vehicle mass (kg)1800
Wheel radius (m)0.325
Maximum engine torque (N·m)250
Engine power (kW)150
Final drive ratio4.1
Gear ratio[3.5, 2.06, 1.14, 1, 0.7, 0.5]
Table 3. Tracking error statics with vehicle mass 1800 kg and incline 0°.
Table 3. Tracking error statics with vehicle mass 1800 kg and incline 0°.
Control AlgorithmMax Error (km/h)Mean Absolute Error (km/h)Mean Absolute Percentage Error
PID4.5860.74913.31%
ADRC2.6491.58401.58%
MFC-ADRC1.5630.19750.86%
Table 4. Tracking error statics with vehicle mass 2100 kg and incline 6°.
Table 4. Tracking error statics with vehicle mass 2100 kg and incline 6°.
Control AlgorithmMax Error (km/h)Mean Absolute Error (km/h)Mean Absolute Percentage Error
PID8.2541.6809.16%
ADRC6.4311.0475.41%
MFC-ADRC1.8190.30241.26%
Table 5. Statistical indicators of extended state observer-computed results.
Table 5. Statistical indicators of extended state observer-computed results.
State VariableMax ErrorMean Absolute ErrorMean Absolute Percentage Error
v ^ 0.01620.0100.05%
v ˙ ^ 0.56500.0303.16%
f ^ 51.881.0533.59%
Table 6. Example of data from the high definition-map (HD-Map) database.
Table 6. Example of data from the high definition-map (HD-Map) database.
LanePoseWidthRoad IDNum LaneLateralNext Lane
10419.42, 15.963.52121106
10518.91, 15.933.52121107
Table 7. Statistical indicators for proportional integral derivative (PID) and MFC-ADRC controllers.
Table 7. Statistical indicators for proportional integral derivative (PID) and MFC-ADRC controllers.
State VariableRoot Mean Square ErrorMax ErrorMean Absolute Error
PID0.60931.63180.5368
MFC-ADRC0.09250.35090.0632

Share and Cite

MDPI and ACS Style

Xiong, S.; Xie, H.; Song, K.; Zhang, G. A Speed Tracking Method for Autonomous Driving via ADRC with Extended State Observer. Appl. Sci. 2019, 9, 3339. https://doi.org/10.3390/app9163339

AMA Style

Xiong S, Xie H, Song K, Zhang G. A Speed Tracking Method for Autonomous Driving via ADRC with Extended State Observer. Applied Sciences. 2019; 9(16):3339. https://doi.org/10.3390/app9163339

Chicago/Turabian Style

Xiong, Shuo, Hui Xie, Kang Song, and Guohui Zhang. 2019. "A Speed Tracking Method for Autonomous Driving via ADRC with Extended State Observer" Applied Sciences 9, no. 16: 3339. https://doi.org/10.3390/app9163339

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