Robust Control with Engineering ApplicationsView this Special Issue
Research Article | Open Access
Ronghui Li, Tieshan Li, Renxiang Bu, Qinling Zheng, C. L. Philip Chen, "Active Disturbance Rejection with Sliding Mode Control Based Course and Path Following for Underactuated Ships", Mathematical Problems in Engineering, vol. 2013, Article ID 743716, 9 pages, 2013. https://doi.org/10.1155/2013/743716
Active Disturbance Rejection with Sliding Mode Control Based Course and Path Following for Underactuated Ships
The compound control of active-disturbance-rejection control (ADRC) with sliding mode is proposed to improve the performance of the closed-loop system and deal with the constraint condition problem of a surface ship. The advantages of ADRC with sliding mode were verified by ship course control simulations. Meanwhile, to solve the path-following problem of underactuated surface ships with uncertainties of internal dynamic and external disturbances, the ADRC controller with sliding mode is introduced to steer the ship to follow the desired path. In order to overcome the cross-track error caused by wind and current, drift angle is compensated in the controller by designing a coordinate transformation equation. Simulations were performed on a nonlinear kinematics model of a training ship to validate the stability and excellent robustness of the proposed path-following controller.
Control of underactuated ships is an active field due to its important applications such as passenger and goods transportation, environmental surveying, and offshore oil installations. Based on its practical requirement, motion control of an underactuated surface vessel on the horizontal plane can be divided into ship course, path following, and trajectory tracking. Ship course control is mainly concerned with keeping its heading angle to a desired course angle, which is not an underactuated control problem. However, nowadays, by making use of the position feedback signals obtained from a GPS navigation device, a ship guidance system, namely, a tracking control system, can be designed to make the ship track a desired path. Path following is here defined as a control problem of forcing an underactuated ship to follow a specified path at a desired forward speed [1, 2].
Ship control problems are challenging due to the fact that the motion of underactuated surface ships possesses more degrees of freedom to be controlled than the number of the independent controls under some nonintegrable second-order nonholonomic constraints . In particular, underactuated ships do not usually have an actuator in the sway axis on the horizontal plane, whose configuration is by far the most common among marine vessels. Therefore, Brockett’s condition indicates that any continuous time-invariant feedback control law does not make a null solution of the underactuated surface ship dynamics asymptotically stable in the sense of Lyapunov. Furthermore, as observed in , the underactuated ship system is not transformable into a standard chain system. Consequently, existing control schemes  developed for chained systems cannot be applied directly.
Due to the high dependence on the reference model and complicated control laws of the trajectory tracking approach, several researchers have studied the path following problem, which is more suitable for practical implementation. The problem of path following was introduced in  where some local results were obtained using linearization techniques. A fourth-order ship model in the Serret-Frenet frame was used in  to develop a control strategy to track both a straight line and a circumference under constant ocean current disturbance. A path-following controller was proposed in  by using a kinematic model written in polar coordinates, which is inspired by the solution for mobile robots in . However, the controller was designed at the kinematic level with an assumption of constant ocean current and its direction known to achieve an adjustable boundedness of the path-following error. Since ocean vessels do not have direct control over velocities, a static mapping implementation might result in an unstable closed-loop system due to nonvanishing environmental disturbances. A path-following controller based on a transformation of the ship kinematics to the Serret-Frenet frame, which was used for mobile robot control , on the path was proposed in , where an acceleration feedback and linearization of ship dynamics were used. Since underactuated surface ships have fewer numbers of actuators than the to be controlled degrees of freedom and are subject to nonintegrable acceleration constraints, their dynamic models are not transformable into a system without drifts. Therefore, the above control scheme is not directly applicable.
The simplest track-keeping system can be designed from a conventional course-keeping autopilot by using information from a positioning system. The whole system approach may be considered as applying “analytical control strategies” dependent techniques including self-tuning control, LQG control, multivariable optimal control, and control. The main drawback of analytical control strategies is their dependence on a reliable model. As a matter of fact, a surface ship is strongly influenced by the model internal dynamic uncertainties as well as external disturbances of wind, waves, and ocean current flow. Furthermore, the surface ship motion usually has large inertia, large time lag, nonlinearity, and constraint condition characteristics which reflects in the ship yaw angular rate with a constraint.
In some literature, several methods have been proposed to deal with the uncertainties of the system and the external perturbations. An adaptive robust controller combining the Nussbaum gain technique with a backstepping approach was developed in  to cope with ship straight-line tracking control system with parametric uncertainties and unknown control gain coefficients without a priori knowledge of its sign. In , a global controller was presented without velocity measurements for feedback. To deal with nonlinear damping coefficients, an adaptive observer was used to estimate the inaccuracies. In order to avoid the need of explicit knowledge of the detailed ship dynamics, application to the marine field of techniques of neural network, fuzzy logic control, and other artificial intelligence (AI) was also investigated in recent years. However, in most of these works, the uncertainty of external perturbation of the nonnegligible ocean current was seldom explicitly involved. These controllers are able to drive the cross-track error to zero in the absence of a constant direction current disturbance. When a surface ship is proceeding under perturbation of a cross ocean constant direction current or wind, it is necessary to maintain a deliberate deviation angle known as “drift angle and leeway.’’ In , based on a technique of feedback linearization and backstepping, a control algorithm for a fourth-order ship model was developed with an estimation of the uncertain constant ocean current with known direction to track both line and circumference. However, the assumption and precondition of a priori knowledge of current’s direction are very restrictive from a practical point of view.
Based upon the above observations, this paper aims at developing a ship-tracking controller with improved performance in adaptation and robustness by employing the ADRC technique which has been proved to very effective due to its independence of accurate mathematical model of the plant. Aiming specially at the uncertain system, the ADRC technique was proposed by Han [14, 15]. Then, the linear ADRC (LADRC) was developed to achieve the parameterization by Gao . LADRC is a simplified algorithm comparing to nonlinear ADRC, but it also inherits ADRC’s advantages; furthermore, it is easy to apply in engineering.
It is well known that the sliding mode control (SMC) has also attractive features to keep the systems insensitive to uncertainties on the sliding surface; its applications have been extensively studied in [17–24]. In this paper, compound control combines the advantages of ADRC and SMC to apply to ship course and path-following control, so that improves the performance of the ship closed-loop systems and makes the parameters of more obvious physical meaning. The cross-track error resulting from constant direction wind and current is removed.
The rest of this paper is organized as follows. The ship model is described in Section 2; three degrees of freedom model for simulation are given. Section 3 proposes the design of ADRC with SMC. Section 4 designs the ship course controller and validates control performance. The ship path-following controller design and simulations are studied in Section 5. Finally, Section 6 contains the main conclusions.
2. Ship Motion Control Model
2.1. The Ship Kinematics Model
The kinematics and dynamics (MMG) model  of an underactuated ship moving in surge, sway, and yaw in the earth-fixed and body-fixed frames (Figure 1) can be described as where , , and are the longitudinal displacement, lateral displacement, and heading angle, respectively, in the earth- fixed frame, and are the longitudinal and lateral velocities over ground, respectively, is the yaw angular rate in the ship-fixed frame, and denote surge and sway velocities through water, and and denote the speed and set of current in the earth-fixed frame. The vector summation of both determines the magnitude and direction of current. is rudder angle. , , , , and denote the ship inertia, added mass, and added moment of inertia. , , and terms with subscripts , , , and , respectively, are longitudinal and lateral forces and moments induced by hydrodynamic damping, propeller, rudder, and other external effects except current.
2.2. Ship Course and Path-Following Control Problem
In this paper, in order to design ADRC ship-tracking controller, the following path-following design model derived from (1) is used: where is a multivariable function of both the states and external disturbances as well as time. is the combined external disturbance from wind and current. is the control gain which is the design parameter. In the system of (2), the last two equations can be defined as ship course control system which is not an underactuated system.
In practice, when an underactuated surface ship travels at sea, its rudder angle is the only control input used to follow a desired path and to steer a comparatively steady course. However, cross track cannot be regulated to zero by coordinate transformation for the sake of rudder angle under drift caused by wind and current, and it must be compensated by a loxodrome (or sideslip compensation) since no sway control means are available. Because of this, the equilibrium point of the system is not at the origin of transformed coordinates but at a drifting point since the wind and current are time and regional variant. Moreover, the only measurable state variables are the ship’s position and heading in earth-fixed coordinates. The path-following problem is rephrased as the stabilization to zero of a suitable scalar path error function based on basic knowledge of the steering feature. The goal of ship path following is to design a robust controller that can force an underactuated surface ship with the abovementioned constraints to follow a desired path.
3. ADRC Controller Design
3.1. ADRC Structure and Its Algorithm
Consider a generally nonlinear time-varying second dynamic system: where and are output and input, respectively, and is the external disturbance. Here, represents the nonlinear time-varying dynamics of the plant, that is, unknown. is control gain and unknown, although some knowledge of can be got; that is, . Rewrite (3) as where is referred to as the generalized disturbance. Assuming that is differentiable, let and ; (4) can be written in an augmented state space form where . An extended state observer (ESO) of (5) will estimate the derivatives of and since (5) is now a state in extended state model. With and as inputs of ESO, the ESO of (5) is given as where is the estimate of the state of (5), and , , are the observer gain parameters to be chosen. The observer gains are chosen such that the characteristic polynomial is Hurwitz. For tuning simplicity, all the observer poles are placed at . It results in the characteristic polynomial of (6) to be where the observer bandwidth is the sole turning parameter, and .
Generally, the larger the observer bandwidth is, the more accurate the estimation will be. However, a large observer bandwidth will increase noise sensitivity. Therefore, a proper observer bandwidth should be selected in a compromise between the tracking performance and the noise tolerance .
Once the observer is designed and well tuned, its outputs will track , , and , respectively. By canceling the effect of using , the ADRC actively compensates for in real time. The ADRC control law is given by where is the reference signal and and are the controller gain parameters selected to make which is Hurwitz.
The closed-loop system becomes
Note that with a well-designed ESO, the estimation error in , , is ignored, and let . Then, and . The plant (4) is reduced to which is a classic PD control law.
It is apparent that system (10) is stable, while , .
3.2. Feedback Control Law Design with Linear Sliding Mode
The method of determining and was proposed using the bandwidth idea in , but its physical meaning is not clear. Furthermore, the tracking is hard to achieve perfect performance. Therefore, linear sliding mode idea is applicable to the design of error feedback control law in this section.
Letting and , (10) and (4) become And let While , will converge in index law, and time constant is . Therefore, is the phrase locus of and on the phrase plane. To stabilize system, (11) is the problem of stabilizing .
Letting and , we have where is an exponential decline curve. Meanwhile, the time constant is . We have
Owing to , while and , obviously, system (15) is a simple proportion negative feedback system; that is,
The essence of PD control for a second-order system is similar to the design of only one-step sliding mode in form. The control law of (10) is written as where and are the design parameters. In addition, normally. is the system convergence time constant. is tuned based on how fast we want the output to track the set point. A large generally increases the response speed, but it may push the system to its limit, leading to oscillations or even instability. So should be adjusted based on the competing requirements of performance of the actuator. We should consider the limit of the actuator to calculate the value of . For instance, we set the value of according to the desired turn back time and the limit of ship turning rate. determines the response speed of control input directly. A large within a limited range usually increases the rate of change in control signal, but it may lead the system to oscillations or even instability.
3.3. Feedback Control Law Design with Nonlinear Sliding Mode
The important feature of linear sliding is that its projection in each phase plane is a straight line. Linear sliding mode requests the system state has a larger convergence rate when it is at a greater deviation, which can be achieved by higher speed and larger control input. However, in the actual control system, to ensure the control quality of the system when the deviation is large, it often needs to reduce approach speed due to the limited control input, and the cost is to sacrifice the control quality when the deviation is small, where the result is that the system is too slow to be stable. Therefore, linear sliding mode is essentially the same as linear control system, which applies to the small neighborhood of system.
To solve the above problem of linear sliding mode (LSM), the form of nonlinear sliding mode (NLSM) in the phase plane as shown in Figure 2 can be taken. The characteristic of nonlinear sliding mode is that the system has fast convergence rate when the deviation is small, and with the increase of deviation, the convergence rate increases as nonlinear until it tends to a constant, so that the nonlinear sliding mode could ensure good control quality in a wide range.
The actual state of system has constraint condition due to the limitation of control input, so we can select the monotone bounded hyperbolic tangent function as the nonlinear sliding mode function. Let
The feedback control law of system (10) becomes where , , are the parameters to be tuned.
If , then , where and . That is, the maximum system convergence rate is less than . While is large enough, will converge as almost fixed rate . While is small enough, will converge as index law. At the same time, and determine the slope of sliding mode in phase plane.
4. Ship Course Controller Design and Simulation
4.1. Ship Course Controller Design
For the ship course response model where is the tracking target, and the meaning of the other symbols is the same as system (2).
Similar to (6), the 3rd-order LESO of the plant (20) can be written as where and are the estimators of and , respectively, and is the estimator of , which contains the total uncertainties of internal dynamic and external disturbances.
Similar to (8), the controller is defined as
Similar to (17), linear sliding mode control law is
Or similar to (19), nonlinear sliding mode control law is
4.2. Ship Course Control Simulation
In this section, simulation results are based on an oceangoing training vessel “Yulong” of Dalian Maritime University. The principal particulars are as follows: length of ship is 126 m, beam is 20.8 m, mean draft is 8.80 m, trim is 0, diameter of propeller is 4.6 m, and block coefficient is 0.681.
In this section, a simple ship response model is used to simulate. In the system (20), let
While the ship speed of Yulong is 7.2 m/s, , , and . External disturbance is given as white noise of amplitude 0.001.
Case 1. The tracking target ; that is, . While a linear sliding mode control law was used, the parameters are chosen as and , control gain , and the bandwidth of observer . The results were shown in Figures 3 and 4.
Case 2. Let the parameter of linear sliding mode control law ; the other parameters of controller, observer, control gain, and ship state are the same as Case 1. The results were shown in Figures 5 and 6.
Based on the simulation results of Figures 3, 4, 5, and 6, while , the time of ship course reaching designated course is about 400 s which approximately equals , whereas, while , the time of ship course reaching designated course is about 200 s which also equals . Meanwhile, the rudder angle being used has increased in order to prompt response. The results of simulations validated the meaning of time constant . In practical work, deck officers can choose the appropriate parameter of according to the angle of ship course to be changed and the desired time to reach the designated course.
Then, the following two simulations were based on nonlinear sliding mode feedback control law as (22) and (24).
Case 3. The tracking target . While nonlinear sliding mode control law was used, the parameters are chosen as , , and , and the other parameters of observer, control gain, and ship state are the same as Case 1. The results were shown in Figure 7.
We can find the maximum ship turning rate was restricted within 0.004 rad of the range.
Case 4. Let the parameter of nonlinear sliding mode control law ; the other parameters of controller, observer, control gain, and ship state are the same as Case 3. The results were shown in Figure 8.
We can find that the maximum ship turning rate was restricted within 0.01 rad/s of the range, and the time of reaching the designated course was shortened.
5. ADRC Based Ship Path-Following Controller Design and Simulation
5.1. ADRC Based Ship Path-Following Controller Design
The first formula of system (2) can be written as where is called the ship leeway angle or drift angle, as Figure 1, which can be measured by GPS in real time on a modern ship. is also the ship heading angle. is the ship course over the ground, and it is also called course made good in navigation.
In this paper, a nonlinear function of combining with by designing a coordinate transformation equation is defined as where and are design parameters.
Theorem 1. For the system (2), if the nonlinear function , then both and .
Proof. There exists a Lyapunov function ; then ; if , then ; while and , . We have , so .
In addition, while and , , so ; while . Thus, while , . While , ; meanwhile, .
In (27), is used to compress coordinate and is used to adjust ship track convergence rate. Meanwhile, can restrict the maximum course angle over ground to be used when the ship returns to the planned route. Accordingly, the physics meaning of parameters is obvious and parameters would be tuned easily.
Let ; is the desired ship heading angle that makes the ship cross-track error converge to zero. Hence, the ship track control problem is transformed into ship course control. Based on the theory of ship course ADRC with sliding mode control, similar to (20)–(23), path following can be achieved by letting ship heading angle track the desired ship heading angle which is regarded as reference signal. The controller can automatically seek “drift angle and leeway” and the input control quantity of rudder angle can remove the cross-track error in real time resulting from wind and current.
5.2. Ship Path-Following Control Simulation
5.2.1. Straight-Line Path Following
To demonstrate the practicality of the design, simulations were performed using the ship Yulong based on the kinetic model as (1), and the control law was selected as the form of ADRC with linear sliding mode.
The initial states were chosen to be as follows: the main engine was set to be 103.4 revolutions per minute (RPM), , , , and m/s. Planned route is a straight line to the north of . External disturbances are as the following: constant wind direction of NE with speed 5 m/s and constant current set of SW with velocity of 1 m/s.
The parameters of ADRC below simulations in this paper were chosen as and ; the parameters of linear sliding mode control law were chosen as and , where means that the time constant of ship heading angle reaching maximum is 50 seconds; the parameters of the transformation (27) were chosen as, respectively, and , where indicates that will be used before ship is stable.
In Figure 9, when the system is stable, heading angle is not zero because the ship was affected by wind and ocean current.
5.2.2. Curve Path Following
In the earth-fixed frame, ship initial heading angle and position are , and planned route is a curve of . The others of ship initial state and external disturbances are the same as the above simulation. The parameters of controller are chosen as , , , and . The simulation results are shown in Figure 10.
Remark 2. and here are larger than the ones of straight-line path following because faster turning rate and larger heading angle are needed while curve path following.
By analyzing the results of Figures 9 and 10, we can summarize some conclusions as follows.
Firstly, the cross-track error resulting from constant wind and current has been overcome. The tracking control precision is high. Rudder and course response are smooth, and the rudder-turning angle is not large in spite of external disturbances, such as wind and current.
Secondly, the results indicate that the ADRC controller has powerful robustness to the environment and the nonlinearity of ship tracking motion control with constraint condition. And the ship tracking control is fast and smooth with lower energy consumption.
This paper has presented a novel path-following control approach to underactuated vessels under environmental disturbances of ocean current and wind. A compound control approach of ADRC with sliding mode has been applied to the design of ship course and path-following control utilizing the characteristic of ADRC independence of the controlled plant’s mathematical model. The parameters of controller have more obvious physical meaning; meanwhile, the constraint condition problem of a ship has been solved. The leeway angle was compensated in the controller by means of designing a coordinate transformation equation. The ADRC controller has guaranteed that the cross-track error converges to the planned path, and the parameters of controller can be easily tuned according to the ship’s maneuverability. The high precision ship tracking controller is robust to the internal dynamic uncertainties of a ship and the external disturbances.
This work was supported in part by the National Natural Science Foundation of China (nos. 51379026, 51179019, and 61374114), the Natural Science Foundation of Liaoning Province (no. 20102012), the Program for Liaoning Excellent Talents in University (LNET) (Grant no. LR 2012016), the Applied Basic Research Program of Ministry of Transport of China (nos. 2011-329-225-390 and 2013-329-225-270), the Fundamental Research Funds for the Central Universities of China (no. 2012QN013), the National Fundamental Research 973 Program of China under Grant no. 2011CB302801, the Macau Science and Technology Development Foundation under Grant no. 008/2010/A1, and Multiyear Research Grants.
- K. Do and J. Pan, Control of Ships and Underwater Vehicle-Design for Underactuated and Nonlinear Marine Systems, Springer, New York, NY, USA, 2009.
- J. Wu, H. Peng, K. Ohtsu, G. Kitagawa, and T. Itoh, “Ship's tracking control based on nonlinear time series model,” Applied Ocean Research, vol. 36, pp. 1–11, 2012.
- K. Y. Pettersen, Exponential Stabilization of Underactuated Vehicles [Ph.D. thesis], Norwegian University of Science Technology, Trondheim, Norway, 1996.
- Z.-P. Jiang, “Iterative design of time-varying stabilizers for multi-input systems in chained form,” Systems & Control Letters, vol. 28, no. 5, pp. 255–262, 1996.
- I. Kaminer, A. Pascoal, E. Hallberg, and C. Silvestre, “Trajectory tracking for autonomous vehicles: an integrated approach to guidance and control,” Journal of Guidance, Control, and Dynamics, vol. 21, no. 1, pp. 29–38, 1998.
- P. Encarnacao, A. Pacoal, and M. Arcak, “Path following for autonomous marine craft,” in Proceedings of the 5th International Federation of Automatic Control Conference on Manoeuvring and Control of Marine Craft, pp. 117–122, 2000.
- M. Aicardi, G. Casalino, G. Indiveri, A. Aguiar, P. Encarnacao, and A. Pascoal, “A plannar path following controller for underactuated marine vehicles,” in Proceedings of the 9th IEEE Mediterranean Conference on Control and Automation (MED '01), Dubrovnik, Croatia, 2001.
- M. Aicardi, G. Casalino, A. Bicchi, and A. Balestrino, “Closed loop steering of unicycle-like vehicles via Lyapunov techniques,” IEEE Robotics and Automation Magazine, vol. 2, no. 1, pp. 27–35, 1995.
- C. Samson, “Velocity and torque feedback control of a nonholonomic cart,” in Advanced Robot Control, C. Canudas de Wit, Ed., Lecture Notes in Control and Information Sciences, pp. 125–151, Springer, Berlin, Germany, 1991.
- R. Skjetne and T. I. Fossen, “Nonlinear maneuvering and control of ships,” in Proceedings of OCEANS MTS/IEEE Conference and Exhibition, pp. 1808–1815, November 2001.
- T. Li, Y. Yang, B. Hong, J. Ren, and J. Du, “A robust adaptive nonlinear control approach to ship straight-path tracking design,” in Proceedings of the American Control Conference, pp. 4016–4021, Portland, Ore, USA, June 2005.
- K. D. Do and J. Pan, “Underactuated ships follow smooth paths with integral actions and without velocity measurements for feedback: theory and experiments,” IEEE Transactions on Control Systems Technology, vol. 14, no. 2, pp. 308–322, 2006.
- P. Encarnacao, A. Pacoal, and M. Arcak, “Path following for autonomous marine craft,” in Proceedings of the 5th International Federation of Automatic Control Conference on Manoeuvring and Control of Marine Craft, pp. 117–122, Aalborg, Denmark, 2000.
- J. Han, Active Disturbance Rejection Control Technique—the Technique For Estimating and Compensating the Uncertainties, National Defense Industry Press, Beijing, Ghina, 2008.
- J. Q. Han, “From PID to active disturbance rejection control,” IEEE Transactions on Industrial Electronics, vol. 56, no. 3, pp. 900–906, 2009.
- Z. Q. Gao, “Scaling and bandwidth-parameterization based controller tuning,” in Proceedings of the American Control Conference, pp. 4989–4996, Denver, Colo, USA, June 2003.
- S. C. Tong and H.-X. Li, “Fuzzy adaptive sliding-mode control for MIMO nonlinear systems,” IEEE Transactions on Fuzzy Systems, vol. 11, no. 3, pp. 354–360, 2003.
- H.-X. Li and S. C. Tong, “A hybrid adaptive fuzzy control for a class of nonlinear MIMO systems,” IEEE Transactions on Fuzzy Systems, vol. 11, no. 1, pp. 24–34, 2003.
- S.-C. Tong, X.-L. He, and H.-G. Zhang, “A combined backstepping and small-gain approach to robust adaptive fuzzy output feedback control,” IEEE Transactions on Fuzzy Systems, vol. 17, no. 5, pp. 1059–1069, 2009.
- S. C. Tong, C. L. Liu, and Y. M. Li, “Fuzzy-adaptive decentralized output-feedback control for large-scale nonlinear systems with dynamical uncertainties,” IEEE Transactions on Fuzzy Systems, vol. 18, no. 5, pp. 845–861, 2010.
- S. C. Tong and Y. M. Li, “Observer-based fuzzy adaptive control for strict-feedback nonlinear systems,” Fuzzy Sets and Systems, vol. 160, no. 12, pp. 1749–1764, 2009.
- Y. Li, S. Tong, and T. Li, “Adaptive fuzzy output feedback control of uncertain nonlinear systems with unknown backlash-like hysteresis,” Information Sciences, vol. 198, pp. 130–146, 2012.
- T. Wang, S. C. Tong, and Y. M. Li, “Robust adaptive fuzzy control for nonlinear system with dynamic uncertainties based on backstepping,” International Journal of Innovative Computing, Information and Control, vol. 5, no. 9, pp. 2675–2688, 2009.
- Y. Q, Xia, M. Y. Fu, Z. H. Deng, and X. M. Ren, “Recent developments in sliding mode control and active disturbance rejection control,” Control Theory & Applications, vol. 30, no. 2, pp. 137–147, 2013.
- X. Jia and Y. Yang, Ship Motion Mathematical Model-Mechanism Modeling and Identification Modeling, Dalian Maritime University Press, 1999.
Copyright © 2013 Ronghui Li et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.