 Research
 Open Access
 Published:
Simplified modelling and backstepping control of the long arm agricultural rover
Advances in Difference Equations volume 2020, Article number: 701 (2020)
Abstract
This paper presents the development of the simplified modelling and control of a long arm system for an agricultural rover, which also extends the modelling methodology from the previous work. The methodology initially assumes a flexible model and, through the use of the integralbased parameter identification method, the identified parameters are then correlated to an energy function to allow a construction of the friction induced nonlinear vibration model. To also capture the effect of the time delay, a delay model was also considered in the form of a second order delay differential equation. Both families of models were applied to identify and characterise a specialised long arm system. The nonlinear model was found to give significant improvement over the standard linear model in data fitting, which was further enhanced by the addition of the time delay consideration. A backstepping controller was also designed for both model families. Results show that the delay model expends less control efforts than the lesser nondelay model.
Introduction
The advent of robotics technology in recent decades has fuelled rapid growth in agricultural robotics, not only to meet the increasing demands for alternatives to human labour in agricultural production due to the difficulty of finding and retaining workers [1], but also to satisfy environmental and food safety needs [2]. Such growth has garnered significant research in recent years [3, 4]. Different types of agricultural robots have been developed from the days of the Gerrish tractor robot in 1984 [5]. These robots operate in a wide range of agriculture processes, including harvesting [6–8], weed control [9–11] and spraying [12–14]. It is obvious that the use of a robot arm is essential to reaching the required targets.
Agricultural processes such as harvesting and spraying on tropical fruits such as rambutan (Nephelium lappaceum) and durian (Durio zibethinus), however, necessitate a mobile robotic platform with elongated arms that appends to at least four metres in height. As the arms themselves move, significant vibrations are felt at the tip of the arms which must be mathematically modelled and controlled, an issue also prevalent on the computer numerical control (CNC) machine tools in industrial robots [15].
Oscillatory vibrations usually assume a linear damping model, in which the responses are readily decomposed into various modal frequencies. The common algorithm that follows this line of approach is Prony’s method [16, 17]. This approach is similar to the wellknown concept of the Fourier transform, except that the exponential decay term is added to the trigonometric basis function. Variants of Prony’s method include the use of the total least squares technique instead of the ordinary least squares [18] and the matrix pencil method [19]. Other approaches have also included the Kalmanbased estimations [20–22], the distributed frequency domain optimisation [23] and the second order generalised integrator [24, 25].
More advanced types of vibration modelling also include friction induced models, which can be separated into two main types. The first type views the vibration from a tribological viewpoint, where the variation of the friction coefficient changes against the relative velocity between the structures in contact. Such variation could be described by the Stribeck model, polynomial or even exponential functions [26, 27]. The second type gives emphasis to the structural aspects in the process of vibration generations. In this regard, the prediction of the FIV has been conducted through sensitivity approaches and probabilistic models [28, 29], hybrid meta models [30] and fuzzy approaches [31]. More recent approaches to estimate the FIV include the use of observer designs to estimate the states [32–34].
The surveyed models and methods generally tend to presuppose a definite complicated model structure first, then fit a complex model to the data. Should this initial model assumption fail to capture the responses, then more complex observers are imbued. The approach taken to analyse the vibration of the agricultural mobile rover in this work extends the concept of the work done by the first author in 2015 [35]. In other words, Sect. 2 of this paper presents the integralbased identification methodology for the vibration model without including the delay effects. The same formulation and concept is then used for the vibration model with the delay being included. A corresponding integralbased identification method for the linear model is also presented for the purpose of comparison. Theoretical analyses are also given on the Lyapunov stabilities of the delay as well as the nondelay models. In Sect. 3, the developed model and identification methods are applied to specialised rover arm system, where more complex dynamics are uncovered based on the identified damping and stiffness values. A validation procedure of the developed model is also given as proof of concept. A backstepping controller is designed in Sect. 3.6 based on the developed model of Sect. 3.2. This paper is then concluded in Sect. 4.
Methodology
Modified integralbased identification for the long arm rover without delay
Consider the normalised second order differential equation:
where:

\(\theta \equiv \theta (t)\) represents angular movement,

c is the damping constant,

k is the spring constant,

u is the input.
To designate some degree of flexibility for the model of damping as well as stiffness, these variables can be made timevarying. The simplest such timevarying function is the piecewise constant function defined as follows:
and
The system of Equation (1) can now be rewritten as follows:
where the functions \(c(t)\) and \(k(t)\) are defined in Equations (2) and (3). Furthermore, the following quantities are also defined:
For future references, let the measurement times \(t_{i}^{(j)}\) be defined as follows:
Defining also the operator:
Applying the operator of Equation (8) onto Equation (4) yields
Here, the initial conditions are defined as follows:
The integral reconstruction model for the vibration system can now be written as follows:
where the parameters \(\alpha _{i}\) are
Figure 1 shows a possible scenario at the joins in the neighbourhood of \(t=T_{i}, i=1,\ldots,n\). In practice, the angle measurements \(\theta _{\mathrm{meas}}\) will be obtained from an encoder, whose additive quantisation noise implies that the value of \(\theta _{\mathrm{meas}}\) may not equal the \(\theta _{\mathrm{model}}\) at the joins. This phenomenon introduces possible discontinuities at the joins. A simple method of resolving this discontinuity is to proceed to identify the sections by piece and resolve the discontinuity at the end of every section. The integral reconstructor for the first section is written as follows:
Substituting \(\theta _{\mathrm{meas}}=\theta (t)\) in Equation (13) for \(t \in \{t_{1}^{(1)},\ldots,t_{N}^{(1)} \}\) yields a system of equations which can be summarised into a matrix equation
where
Equations (15)–(17) are solved by linear least squares subjected to the constraints
The result yields the unknown parameters that are the elements of vector \(\mathbf{p}_{0}\). Substituting the elements of \(\mathbf{p}_{0}\) into Equation (13) yields an integral reconstructor model for the angle \(\theta (t)\) of the first section from the data segmentation.
To ensure that the \(C_{0}\) continuity is ensured at join \(k=i1\), the initial condition \(\theta _{i}\) can be computed thus:
The value of b, which was identified for the first section, is assumed to be constant for all sections. This assumption is based on the fact that the arm is balanced and thus no sudden change of inertia is possible across the different time sections. The knowledge of the initial conditions for the ith section now leaves only three unknowns to be identified in the model of Equation (11). In this respect, setting \(\theta (t) \equiv \theta _{\mathrm{model},i}(t)\) and input \(u(t) \equiv u_{\mathrm{data},i}(t)\) for the time instants \(t \in \{t_{1}^{(i)},\ldots,t_{N}^{(i)}\}\) yields a system of N equations in three unknowns:
Equations (20)–(22) can now be solved by linear least squares subjected to the constraints
The result of such an operation will now provide the values for the damping \(c_{i}\) and stiffness \(k_{i}\) along with the integral reconstructor model for the angular movement \(\theta _{\mathrm{model}}(t)\). Figure 2 shows the algorithm for identifying the timevarying nondelay model.
Integralbased identification for the long arm rover with delay
As a comparison, consider now the normalised second order delay differential equation given by
where τ represents the delay, and the variable θ and the associated parameters c and k retain their meaning from the nondelay case in Sect. 2.1. Inserting also the timevarying models for the damping and stiffness as provided by Equations (2) and (3) gives
Note that the time segmentation intervals for Equation (25) are again given by Equations (5) and (6). The time delay functions \(\theta (t\tau )\) and their derivatives are usually difficult to model. However, under the assumption that the time delay τ is small, it is possible to approximate \(\theta (t\tau )\) and their derivatives by Taylor approximations:
Substituting Equation (26a)–(26c) into Equation (25), we obtain:
where
Applying the operator of Equation (8) to Equation (27) gives
where the initial conditions are
The discontinuities at every section joins are resolved using the method presented in Sect. 2.1. In this light the integral reconstructor model for the first section is written as follows:
Substituting the values of \(\theta \equiv \theta _{\mathrm{data}}(t)\) and \(u(t) \equiv u_{\mathrm{applied}}(t)\) for the times of \(t \in \{ t_{0}^{(1)},\ldots,t_{N}^{(1)} \}\) will give a matrix equation
where \(\theta _{\mathrm{data}}({t_{j}^{(1)}})\) denotes the angular data at \(t=t_{j}\) of the first section. The system identification algorithm begins with the solving of Equations (35)–(37) by linear least squares subjected to the conditions
The result of this process yields the unknown parameters that belong to the elements of \(\mathbf{p}_{0}\), whose vector is then substituted into Equation (34) to obtain the integral reconstructor model for the angle \(\theta (t)\) for the first section of the segmentation.
The initial conditions for the beginning of the ith segmentation are evaluated thus:
Again note that the variable b is assumed to be constant throughout all sections. The knowledge of the initial conditions implies that only six parameters are now required to be identified in the model of Equation (30). Setting \(\theta (t) \equiv \theta _{\mathrm{model},i}(t)\) and input \(u(t) \equiv u_{\mathrm{data},i}(t)\) for the time instants \(t \in \{t_{1}^{(i)},\ldots,t_{N}^{(i)}\}\) yields the matrix equation
Equations (40)–(42) can now be solved by linear least squares subjected to the constraints
The result of such an operation will now provide the values for the parameters \(a_{i,1}\), \(a_{i,2}\) and \(a_{i,3}\) along with the integral reconstructor model for the angular movement \(\theta _{\mathrm{model}}(t)\). Figure 3 shows the algorithm for identifying the time delay model. Note that Equations (43b)–(43d) place the Lipschitz constraints on the derivatives of \(a_{i,1}\), \(a_{i,2}\) and \(a_{i,3}\) to make sure that they are bounded. Were these constraints not placed on the derivatives, it would be possible to choose very small ϵ such that the modelled response \(y_{\mathrm{model}}(t)\) gets very close to \(y_{\mathrm{true}}(t)\), yet the values of \(a_{i,1}\), \(a_{i,2}\) and \(a_{i,3}\) do not resemble the true function. In fact, previous work by Wongvanich et al. [35] has shown that the identified parameters significantly oscillate without bound about the true values, yet the modelled response matches very well with the true data.
Analyses
This section gives the theoretical analyses for the vibration model, both without the delay and with the delay.
Model without delay
Lemma 1
Consider the homogeneous second order differential equation
The required Lyapunov function can be written as follows:
where
and
Proof
The proof of this lemma is similar to the one given in [36]. □
Theorem 2
Consider the homogeneous second order differential equation defined in Equation (44). The system will have global asymptotic stability if there exists a number Q such that
Proof
Consider the Lyapunov candidate function of Equation (45) with parameters A, B and G as defined in Equation (46). To ensure that A, B and G are finite, select \(Q_{1}\) and \(Q_{2}\) such that
Hence the resulting upper bound Q is
□
Model with delay
Lemma 3
Consider the third order homogeneous system
where
The required Lyapunov function is written as follows:
where the states are chosen as follows:
Proof
The proof of this lemma is similar to the one given in [37]. □
Theorem 4
Consider the third order differential equation
where \(F_{1,\mathrm{true}} \equiv F_{1,\mathrm{true}}(t)\), \(F_{2,\mathrm{true}} \equiv F_{2,\mathrm{true}}(t)\) and \(K_{\mathrm{true}} \equiv K_{\mathrm{true}}(t)\). The system of Equation (52) will have global asymptotic stability if there exists a number M such that
Proof
The following Lyapunov function is written by applying Lemma 3:
To keep the Lyapunov function of Equation (55) finite, first choose \(M_{1}\) and \(M_{2}\) so that the coefficients of \((z_{1}  \frac{z_{2}^{2}}{F_{1,\mathrm{true}}} )^{2}\) and \(z_{2}^{2}\) are finite:
The resulting upper bound M is thus:
□
Having established the global asymptotic stability for the system of Equation (27), it is now possible to establish the convergence of our integral reconstructor model. In this respect, we propose the following theorem.
Theorem 5
Consider the following third order nonlinear differential equation:
where
Define also the following functions:
If the parameter \(a_{i,j,\mathrm{model}}^{k}, i=1,2,3\), are functions satisfying the Lipschitz condition, that is,
The limit of \(\theta _{\mathrm{model},n}\) will approach the true angular function \(\theta _{\mathrm{true}}\). In addition,
Proof
The integral reconstructor model for the system of Equation (56) is as follows:
We will firstly consider the case where \(t=0\). In this case, there exist N̄ and \(\delta >0\) such that, for \(\bar{N}>k\), \(F_{1,\mathrm{model},k}(0)F_{1,\mathrm{true}}(0) > \delta _{1}\), \(F_{2,\mathrm{model},k}(0)F_{2,\mathrm{true}}(0) > \delta _{2}\) and \(F_{3,\mathrm{model},k}(0)F_{3,\mathrm{true}}(0) > \delta _{3}\).
Since the constituent functions of \(F_{i,\mathrm{model},k}, i=1,2\), and \(K_{i,\mathrm{model},k}\) are \(a_{i,\mathrm{model},k},i=1,2,3\), which are Lipschitz functions, there will exist a time \(t \in [0,dt^{*}]\) regardless of k such that \(F_{i,\mathrm{model},k}\) and \(K_{i,\mathrm{model},k}\) will intersect with the true functions \(F_{i,\mathrm{true}}\) and \(K_{\mathrm{true}}\) respectively. Therefore,
And if \(\theta '(0) \leq 0\), then it is possible to choose \(\tilde{dt}^{*} < dt^{*}\) such that the value of \(\theta _{\mathrm{true}}(t) \leq 0, t \in [0,dt^{*}]\). Hence the value of \(F_{i,\mathrm{model},k}  F_{i,\mathrm{true}}(t)\) and \(K_{\mathrm{model},k}K_{\mathrm{true}}\) or \(F_{\mathrm{true}}F_{i,\mathrm{model},k}\) and \(K_{\mathrm{true}}K_{i,\mathrm{model},k}\) cannot change sign in that time. Thus, the error between the integral reconstruction function and the true value is as follows:
Equation (61) contradicts the assumption that the limit of \(\theta _{\mathrm{model},k}\) will approach \(\theta _{\mathrm{true}}\). Hence it follows that \(F_{1,\mathrm{model},k} \to F_{1,\mathrm{true}}(0)\), \(F_{2,\mathrm{model},k} \to F_{2,\mathrm{true}}(0)\), \(K_{\mathrm{model},k} \to K_{\mathrm{true}}(0)\).
For the case of \(t>0\), we also prove by contradiction. Suppose now that there exists a time \(t_{0}>0\), which is the smallest time such that \(F_{1,\mathrm{model},k}\) does not approach \(F_{1,\mathrm{true}}(0)\), \(F_{2,model,k}\) does not approach \(F_{2,true}(0)\) and \(K_{model,k}\) does not approach \(K_{true}(0)\). Hence,
Using the same concept as for the case of \(t=0\), since the functions \(a_{i,j,\mathrm{model}}, i=1,2,3\) are Lipschitz function, there exists \(dt^{*}>0\) such that
The above statement implies that it is possible to find the smallest \(t< t_{0}\) such that the limit of \(F_{1,\mathrm{model},k}\) will not approach \(F_{1,\mathrm{true}}(t)\), the limit of \(F_{2,\mathrm{model},k}\) will not approach \(F_{2,\mathrm{true}}(t)\) and \(K_{\mathrm{model},k}\) will not approach \(K_{2,\mathrm{true}}(t)\). This contradicts the assumption that \(t_{0}\) is the smallest such value. Statement is thus proved for the case of \(t>0\). □
Identification with the pure linear model
The analyses given in the previous section means that the use of constraints on the identified parameters are possible. This conjecture is due to the fact that the nonlinear least squares problem has duly been converted to a corresponding linear least squares problem by integral reconstruction, that is guaranteed to yield a unique solution. Two possible constraints exist for the models considered in this work, one for the nondelay model and the other for the delay model.
Nondelay model
For the nondelay model, the simplest such constraint is simply the equality constraints \(c_{1}=c_{2}=\cdots=c_{n}\) and \(k_{1}=k_{2}=\cdots=k_{n}\). In other words, the damping and stiffness parameters are assumed constant across the entire data set. This constraint also represents a full linear model without delay. Setting \(\theta (t) = \theta _{\mathrm{model}}(t)\) and \(u(t) = u_{\mathrm{applied}}(t)\) for the times of \(t \in \{ t_{0},\ldots,t_{N} \}\) gives a matrix equation which is written as follows:
Equations (64)–(66) can duly be solved by linear least squares to yield the linear model without delay.
Delay model
Applying the equality constraints to the delay case means that \(a_{1,1}=a_{1,2}=\cdots=a_{1,n}\), \(a_{2,1}=a_{2,2}=\cdots=a_{2,n}\) and \(a_{3,1}=a_{3,2}=\cdots=a_{3,n}\). Setting \(\theta (t) = \theta _{\mathrm{model}}(t)\) and \(u(t) = u_{\mathrm{applied}}(t)\) for the times of \(t \in \{ t_{0},\ldots,t_{N} \}\), as was done for the nondelay case, now gives a matrix equation which is written as follows:
where
In a similar fashion to the nondelay model, Equations (67)–(70) are again solved by linear least squares. The result from this solving process yields the unknown parameters as well as the model for the delay case. Figure 4 depicts the algorithm for identifying the linear model, both for the nondelay and the delay cases.
Results & discussion
Data acquisition
Figure 5 shows the schematic of the specialised robot arm system used for orchard spraying. The arm contains two links where the first link is denoted by \(L_{1}\) and the second link by \(L_{2}\) for future reference. The link \(L_{1}\) is connected to a rotational joint \(J_{1}\) on one end, and joint \(J_{2}\) on the other end. Each joint is tethered to the next one and each has wires which are, in turn, connected to a wireless transmitter and a central microcontroller for receiving a PWM command wirelessly from a workstation.
A separate data acquisition system is developed where an inertial measurement unit (IMU) is fixated on the centre of gravity of both arms. The IMU used has an onboard accelerometre as well as a gyroscope, and it is also connected to a microcontroller via an I2C protocol, where the microcontroller of the acquisition system is also connected to the workstation via a wireless transmitter. Once a PWM command is sent from a workstation, the acquisition system then transmits the angular velocity ω, as well as the angular acceleration α signals for the roll, pitch and yaw axes to the workstation.
Data preparation and preprocessing
The data used are the angular velocity data for the roll, pitch and yaw axes for both links, where the command is given by a step function from 25 degrees and ends at 35 degrees. The command \(u(t)\) in symbols is given as follows:
where \(H(t)\) is the heaviside step function and \(t_{s}=8.5\text{ s}\) is the time of the step change. Figure 6 shows the raw data resulting from the command of Equation (71) for \(L_{1}\). Figure 7 depicts the raw data resulting from the command of Equation (71) for \(L_{2}\). Since these data will have to be integrated with respect to time to yield the angular position for the three axes, incurring integration drift in the process, a compensation mechanism must be in place. In this respect consider the following model for the roll, pitch and yaw axes of both links:
As an example, to find out the parameters of Equations (72a), setting \(\theta _{L_{1},\mathrm{yaw}} \equiv \theta _{L_{1},\mathrm{yaw}, \mathrm{meas}}(t)\) for \(t \in \{t_{0},\ldots,t_{N}\}\) yields the matrix equation
Solving Equations (74) by linear least squares yields the parameters of vector p which can be substituted into Equation (72a) to obtain the model for \(\theta _{L_{1},\mathrm{yaw}}\). The model is then subtracted from the numerically integrated \(\omega _{L_{1},\mathrm{yaw}}\) data to achieve the required data for parameter identification. This procedure can be reiterated for \(\theta _{L_{1},\mathrm{roll}}\) and \(\theta _{L_{1},\mathrm{pitch}}\) and \(\theta _{L_{2},\mathrm{roll}}\), \(\theta _{L_{2}, \mathrm{pitch}}\) and \(\theta _{L_{2},\mathrm{yaw}}\). The result of this preprocessing is shown in Figs. 8–9.
It is apparent from Figs. 8–9 that a step command at joint \(J_{2}\) from 25 to 35 induces significant vibration which is most visible on the roll and yaw axes of link \(L_{2}\). The trend for both signals is an exponential decay, which can be fitted by the methods presented in Sect. 2. The pitch vibration for both links, however, is infinitesimal; its signal is consumed by the accelerometer noise and is therefore unusable. Hence our result presentations and discussion will focus on the application of the methods presented in Sect. 2 to Link \(L_{2}\).
Parameter identification
Identification with nondelay model
Consider the application of Algorithm 1 on the roll and yaw data of \(L_{2}\), which is the most visible. The data was taken from t= 8.5 s to t= 12 s, with a sampling period of \(T_{s} = 0.02\text{ s}\). The value of the time interval Δt used is taken to be 0.1 s, which gives \(N=35\) values for \(c(t)\) and \(k(t)\). The values are then plotted in Figs. 10–11 for the roll and yaw axes, respectively.
It is apparent from Figs. 10 and 11 that both \(c_{\mathrm{roll}}\) and \(c_{\mathrm{yaw}}\) exhibit an increasing trend. The stiffness \(k_{\mathrm{roll}}\) shows an exponentially decreasing trend as time progresses, while \(k_{\mathrm{yaw}}\) does not increase beyond \(k_{\mathrm{yaw}}=15\). These trends show that it is possible to correlate \(c_{\mathrm{roll}}\), \(c_{\mathrm{yaw}}\), \(k_{\mathrm{roll}}\) and \(k_{\mathrm{yaw}}\) to energy used in order to accurately model the responses.
Damping and stiffness as a function of energy
A change in damping and stiffness with respect to time as was seen in Figs. 10 and 11 suggests that there must also be a change of kinetic energy used by the system, possibly to overcome the stiction in the gears as well as mechanical backlashes. To model these changes in energy, suppose that the damping and stiffnesses are modelled in terms of the kinetic energylike function
To find the relationships of the form given in Equations (76) and (77), the dampings and stiffnesses are then plotted against the average velocitysquared function defined as follows:
Figures 12 and 13 plot the damping and stiffnesses against the average kinetic energylike functions. It is seen from these figures that as the value of the kinetic energylike function approaches zero, the damping \(c_{\mathrm{roll}}\) quickly increases with respect to the energylike function. This slope becomes significantly flatter as the value of the energylike approaches about 20. The value of \(k_{\mathrm{roll}}\) exhibits a diodelike phenomenon, that is, the \(k_{\mathrm{roll}}\) value is close to zero initially, and it exponentially increases once the kinetic energylike function approaches 40. This phenomenon is again seen in the function of \(c_{\mathrm{yaw}}\), where its value is close to zero initially and increases exponentially with a decreasing slope as its value reaches about 0.7. The values of \(k_{\mathrm{yaw}}\) are close to zero initially and quickly approach the value of 15 once the kinetic energylike function reaches 0.2. Each of the four parameters exhibits a nonlinear phenomenon, which could be mathematically described by a nonlinear piecewise function
The parameters of Equations (79)–(82) were identified through nonlinear regression analyses. Figures 14–15 compare the \(c_{\mathrm{roll}}\), \(k_{\mathrm{roll}}\), \(c_{\mathrm{yaw}}\) and \(k_{\mathrm{yaw}}\) data against the fitted relations, showing a close fit between the parameters and the models.
Once the nonlinear relationships between \(c_{\mathrm{roll}}\), \(k_{\mathrm{roll}}\), \(c_{\mathrm{yaw}}\) and \(k_{\mathrm{yaw}}\) have been modelled, they can now be substituted into the original differential equation of Equation (1) to construct a nonlinear model for the long arm rover. To measure the performance of the matches, a mean absolute error metric is used. Figures 16–17 plot the true angular movement data for the yaw and roll axes against the resimulations of Equation (1), with \(c_{\mathrm{roll}}\), \(k_{\mathrm{roll}}\), \(c_{\mathrm{yaw}}\) and \(k_{\mathrm{yaw}}\) given in Equations (79)–(82). It is apparent from both figures that the model provides an accurate match to the data. Specifically, the percentage match of the roll data is 97.8%, while the corresponding match for the yaw data was 97.5%.
Identification with the delay model
Consider now the application of Algorithm 2 on the same angular roll and yaw data of Fig. 9. Here the data is taken from \(t=8.5\text{ s}\) to \(t=12\text{ s}\). The value of Δt used is chosen to be 0.1167 s, yielding \(N=30\) values for \(c(t)\) and \(k(t)\). These values are again plotted in Figs. 18 and 19 for the roll and yaw axes respectively.
It is seen from Figs. 18 and 19 that the value of \(a_{2,\mathrm{yaw}}(t)\) is small when \(t<0.5\) seconds and saturates at \(a_{2,\mathrm{yaw}}(t)=15\). The functions \(a_{1,\mathrm{roll}}(t)\) and \(a_{1,\mathrm{yaw}}(t)\) take on very small values, but exponentially increase as time progresses. The value of \(a_{3,\mathrm{roll}}(t)\), however, stays at 15 for about 2.5 seconds, and since then exponentially decreases to zero. These figures suggest that it is possible to explain these phenomena of the changes in \(a_{1}, a_{2}, a_{3}\) parameters through correlating with the kineticlike function as was done with the nondelay case. Specifically, we again suppose that the \(a_{1}\), \(a_{2}\) and \(a_{3}\) functions are defined in terms of the kinetic energylike function:
In this light, Figs. 20–21 plot the \(a_{1,\mathrm{yaw}}\), \(a_{2,\mathrm{yaw}}\), \(a_{3,\mathrm{yaw}}\), \(a_{1,\mathrm{roll}}\), \(a_{2,\mathrm{roll}}\) and \(a_{3,\mathrm{roll}}\) responses as a function of the average kinetic energy. It is apparent from these figures that both \(a_{1,\mathrm{yaw}}\) and \(a_{1,\mathrm{roll}}\) functions are close to zero for energy levels less than 0.15, and they increase at an exponential rate thereafter. Both functions appear to saturate at a higher energy point. The functions \(a_{2,\mathrm{yaw}}\) and \(a_{2,\mathrm{roll}}\) and \(a_{3,\mathrm{yaw}}\) and \(a_{3,\mathrm{roll}}\) all follow hyperbolic tangent trends, where the parameters take on a very small value for low kinetic energy and exponentially increase once a threshold value is reached, before saturating at a higher energy value.
The six functions clearly exhibit nonlinear phenomena, which are again explained by nonlinear piecewise functions of the form
The parameters of Equations (85)–(90) were again identified through nonlinear regression analyses. Figures 22–23 compare the \(a_{i,\mathrm{yaw}}\) and \(a_{i,\mathrm{roll}}\), \(i=1,2,3\), data against the fitted models, illustrating a close fit between the two.
The nonlinear models for the row and yaw axes can now be written as follows:
Figures 24 and 25 now depict the comparisons between the fitted models of Equations (91) and (92) against the angular movement data. It is apparent that the fit was again very close. Specifically the mean absolute error of the fit was 0.5% for the yaw angle and 0.4% for the roll angle. Hence the nonlinear time delay model yields a more accurate description of the long arm rover than the nondelay counterparts.
System identification of the linear model
Consider the application of Algorithm 3 of Fig. 4 to the roll and yaw data of Fig. 11 with the use of the nondelay model. The identified parameters are \(c_{r}=8.48\) and \(k_{r}=30.2\). The corresponding identified parameters for the yaw data are \(c_{y}=4.99\) and \(k_{y}=19.87\). Figure 26 plots the comparisons for the response data against their identified models. It is seen that the nondelay linear model captures the descent of both angles accurately, but could not capture the oscillation that occurs after \(t=0.5\) seconds.
Figure 27 compares the responses between the true measured data against both linear models. It is seen that the delay model did indeed improve the fit of the nondelay model, as evidenced by an improved value of the mean squared error of 0.0028 for the yaw angle response, compared to 0.0036 for the nondelay model. Both models, however, could not capture the oscillations occurring after \(t=1.5\) seconds.
Validation
An important step in the modelling and identification is the process of validation. To subject the proposed algorithms to the validation test, the algorithms are separately applied to the step responses with the inputs being the following functions:
where \(t_{s,40} = 5.6\text{ s}\) and \(t_{s,60} = 4.7\text{ s}\) are the step change times for each of the data sets. The identified parameters for the linear constant damping model without delay are as follows:
The identified parameters for the linear constant model with delay are as follows:
For the purpose of comparison, we define the following models for the linear and nonlinear categories. For the linear models without delay, the models are:
For the linear model with delay, the models are:
For the nonlinear models without delay, the models are:
For the nonlinear models with delay, the models are:
To compare the linear models without delay against the nonlinear models, the models \(LM_{\mathrm{yaw},40}\) and \(LM_{\mathrm{roll},40}\), \(LM_{\mathrm{yaw},60}\) and \(LM_{\mathrm{roll},60}\), as well as their nonlinear counterparts, are tested against the 25–35 degrees step change data for the yaw and roll axes, respectively. Similarly, the 40–60 degrees step change data is used as validation data for the models \(LM_{\mathrm{yaw},25}\), \(LM_{\mathrm{roll},25}\), \(LM_{\mathrm{yaw},60}\) and \(LM{\mathrm{roll},60}\), as well as their nonlinear counterparts. Lastly, the 60–80 degrees step change data is used as validation data for the models \(LM_{\mathrm{yaw},25}\), \(LM_{\mathrm{roll},25}\), \(LM_{\mathrm{yaw},40}\) and \(LM_{\mathrm{roll},40}\) and their nonlinear counterparts. Table 1 depicts the mean absolute error for the validating data against the models for the roll responses. Table 2 compares the mean absolute error for the validating data against the models for the yaw responses, respectively. It is apparent from these tables that the nonlinear models gave significantly less errors for both the yaw and roll responses, for all the validating data.
To compare the linear models with delay, the models \(LMD_{\mathrm{yaw},40}\) and \(LMD_{\mathrm{roll},40}\), \(LMD_{\mathrm{yaw},60}\) and \(LMD_{\mathrm{roll},60}\), \(LMD_{\mathrm{yaw},80}\) and \(LMD_{\mathrm{roll},80}\), and their nonlinear counterparts, are again tested against the 25–35 degrees step change data, as was done with the nondelay case. The 40–60 degrees step change data is used as validation data for the models \(LMD_{\mathrm{yaw},40}\), \(LMD_{\mathrm{roll},40}\), \(LMD_{\mathrm{yaw},60}\), \(LMD{\mathrm{roll},60}\), \(LMD_{\mathrm{yaw},80}\) and \(LMD_{\mathrm{roll},80}\), as well as their nonlinear versions. The 60–80 degrees step change data is used as validation data for the models \(LMD_{\mathrm{yaw},25}\), \(LMD_{\mathrm{roll},25}\), \(LMD_{\mathrm{yaw},40}\), \(LMD_{\mathrm{roll},40}\), \(LMD_{\mathrm{yaw},60}\) and \(LMD_{\mathrm{roll},60}\), as well as their nonlinear counterparts. Table 3 depicts the mean absolute error for the validating data against the models for the roll responses, while Table 4 gives the mean absolute errors for the validation data against the yaw responses. It is again apparent that the nonlinear models gave significantly less errors than the corresponding linear models. Note also that the these errors are also less than the corresponding errors for the nondelay case, thereby completing the validation for the proposed models. Note also that the concept undertaken in this paper, for both families of models, is to initially assume a flexible model structure, and through the use of the system identification, unveil yet more complicated relationships between the underlying physical quantities. This concept is different to the ones normally seen in the literature, where a complex structure of vibration induced models, including finite elements and statistical distributions, must firstly be assumed.
Backstepping controller design
Once the models for the long arm rover have been attained, a controller can now be designed for both the nondelay model and the model with delay. To simplify the controller process and as proof of concept, the roll and yaw angles are controlled separately. Since both models could be transformed into a strict feedback form, the backstepping controller is then suitable. This section thus details the control design and presents some results.
Nondelay model
Consider the system of Equation (1) with the understanding that the variable θ is taken to mean either \(\theta _{\mathrm{roll}}\) or \(\theta _{\mathrm{yaw}}\), the parameters \(c \equiv c_{\mathrm{roll}}(kE)\) or \(c_{\mathrm{yaw}}(kE)\) and \(k \equiv k_{\mathrm{roll}}(kE)\) or \(k_{\mathrm{yaw}}(kE)\). The states are thus:
The state space equations are then
In order to stabilise the first equation, we can then define two new state variables
where the variable \(\alpha _{1}\) represents a virtual controller. Define a Lyapunov candidate function
Differentiating Equation (102) along the trajectory of Equation (101a)–(101b) yields
The variable \(z_{2}\) inside the parenthesis of Equation (103) will be designed in the next stage of the controller to be zero. Hence, designing the variable \(\alpha _{1}=c_{1} z_{1}\), where \(c_{1}>0\), and with the assumption that \(z_{2}=0\), we will then have \(\dot{V}_{1} = c_{1} z_{1}^{2} <0\), which means \(x_{1}\) will now be globally exponentially stable.
The derivative of \(z_{2}\) with respect to time is
The new Lyapunov function \(V_{2}\) is now defined as follows:
Differentiating Equation (105) along the trajectory of Equation (101a)–(101b) yields
Designing \(u(t)\) as \(u(t) = \frac{1}{b} (c x_{2} + k x_{1}  z_{1} c_{1} \alpha _{1} (c_{1} + c_{2}) z_{2} )\) will then make the derivative of the Lyapunov function equal to \(\dot{V}_{2} = c_{1} z_{1}^{2} c_{2} z_{2}^{2} <0\), ensuring the global asymptotically stability of the closed loop system.
Delay model
The generic form of the system to be controlled under the delay model is
Again it is understood that \(a_{1} \equiv a_{1,\mathrm{yaw}}(KE)\) or \(a_{1,\mathrm{roll}}(KE)\), \(a_{2} \equiv a_{2,\mathrm{yaw}}(KE)\) or \(a_{2,\mathrm{roll}}(KE)\), \(a_{3} \equiv a_{3,\mathrm{yaw}}(KE)\) or \(a_{3,\mathrm{roll}}(KE)\). The goal of the control is to design a controller \(u(t)\) that brings \(\theta (t)\) to zero with global asymptotic stability. The state variables for the system of Equation (107) are
The system of Equation (107) can be rewritten as follows:
In order to stabilise the first equation, we can then define two new state variables as follows:
where the variable \(\alpha _{1}\) in Equation (108) is the virtual controller. Defining the Lyapunov candidate function in much the same way as was defined in Equation (102) and differentiating the Lyapunov function along the trajectory of the system yields
Designing \(\alpha _{1} = c_{1} z_{1}\) will thus make
Since we are designing for \(z_{2}\) to eventually reach zero, the value of \(\dot{V}_{1}\) will be less than zero, and thus the top equation is stabilised. Furthermore,
We next design another virtual controller to stabilise the second equation. In this light the third new state variable is defined as follows:
The second Lyapunov candidate function is defined as follows:
The derivative of Equation (111) with respect to time along the trajectory of the system is
The value of \(\dot{z}_{2}\) is
Substituting the value of \(\dot{z}_{2}\) in Equation (112) yields
Designing \(\alpha _{2}\) to be
results in \(\dot{V}_{2}\) that is guaranteed to be negative definite, meaning \(z_{2}\) will be stabilised. Furthermore,
The third Lyapunov candidate function is now defined as follows:
The derivative of Equation (111) with respect to time along the trajectory of the system is
Designing \(u(t)\) to be
will force \(\dot{V}_{2}\) to be negative definite, keeping the closed loop system stable.
In practice, only the value of \(x_{1}\) is measured, while those of \(x_{2}\) and \(x_{3}\) are not. However, these unmeasured variables can be attained through the integral reconstruction model as follows:
Controller response results
For the nondelay model, Fig. 28 shows the results of the backstepping control responses when \(c_{1} =5\) and \(c_{2} = 5\). It is seen that the yaw angle increases from zero to about 0.02 before settling at zero by \(t=3\) seconds. The roll angle gradually decays and finally settles to zero at around one second.
Figure 29 shows the case of using \(c_{1}=20\), \(c_{2}=100\). The yaw angle in this case decreases to zero within 1 second, while the roll angle decreases from about 2 degrees to zero in about 1 seconds, all the while staying at the zero equilibrium.
For the use of the delay model, Fig. 30 shows the case of using \(c_{1}=10\), \(c_{2}=5\), \(c_{3}=5\). In this case the yaw angle deviates about 0.008 degrees before returning to zero in three seconds. The roll angle decreases from about 4 degrees to zero within one second and stays at the zero equilibrium thereafter. Similar results were obtained for the case of using \(c_{1}=10\), \(c_{2}=10\), \(c_{3}=5\) which is shown in Fig. 31. In this case, however, the deviation of the yaw angle decreases by 0.002 degrees to 0.006 degrees before returning to the zero equilibrium.
Overall, it is seen that using the delay model uses less controlling efforts to keep the yaw angle stabilised at about the zero equilibrium, while similar efforts must be exerted to bring the roll angle down to the zero equilibrium. These results imply that, even though the backstepping controller does a good job of handling the nonlinearities and modelling errors, the controller itself, like many such nonlinear controllers, is designed based on the principle of Lyapunov stability, which does not take into account the controlling effort penalties. In this respect the use of a better model would lessen the controller efforts required in the design of the nonlinear controllers.
Conclusion
This work has developed and extended a modelling methodology to characterise nonlinear damping and stiffness for second order systems from previous research. The methodology initially assumes a flexible model and, through the use of the integralbased parameter identification method, identifies a constant piecewise damping and stiffness parameters. The identified parameters are then correlated to the square of the velocity, effectively an energylike function, to allow a construction of a nonlinear vibration model. To capture the effect of the time delay, a time delay model in the form of a second order delay differential equation was also considered. Theoretical analyses were also investigated into the global stabilities of both model families, namely the nondelay model and the delay model.
For both model families, coefficients were firstly identified across the entire data with equally spaced intervals. These coefficients were then correlated to the energylike function to yield a nonlinear piecewise hyperbolic function, which effectively reveals the structural aspects of the vibration, namely that the energy levels also matter in the vibration generations. Both families of models were applied to a specialised robot arm system designed for orchard spraying. The nonlinear model gave significant improvements over the standard linear model in data fitting, which were further enhanced by the addition of the time delay consideration. This concept is different from the friction induced models normally seen in the literature, where initially a complicated structure must be assumed to model the system.
To demonstrate the model in action with control, a backstepping controller was designed for both the nondelay model and the delay model. It was found that overall the use of the delay model expends less controlling efforts to keep both the yaw and roll angle about the zero equilibrium. Even though the backstepping controller, being a nonlinear controller, is very strong in handling the nonlinearities and modelling errors, the use of a better model lessens the required control efforts.
Availability of data and materials
The dataset generated and used to support the findings of this work are available from the corresponding author upon reasonable request.
References
 1.
LowenbergDeBour, J., et al.: Economics of robots and automation in field crop production. Precis. Agric. 21, 278–299 (2020)
 2.
Finger, R., Swinton, S., El Benni, N., Walter, A.: Precision farming at the nexus of agricultural production and the environment. Ann. Rev. Res. Econ. 11, 313–335 (2019)
 3.
Duckett, T., Pearson, S., Blackmore, S., Grieve, B.: Agricultural robots: the future of robotic agriculture. UKRAS White Papers, EPSRC UKRobotics and Autonomous Systems Network. Accessed 12 Apr 2020 from http://arxiv.org/ftp/arxiv/papers/1806/1806.06762.pdf
 4.
Shamshiri, R.R., et al.: Research and development in agricultural robotics: a perspective of digital farming. Int. J. Agri. Biol. Eng. 11(4), 1–14 (2018)
 5.
Gerrish, J.B., Surbrook, T.C.: Mobile robots in agriculture. ASAE 30–41, (1984)
 6.
Kondo, N., et al.: A machine vision system for tomato cluster harvesting robot. Eng. Agric. Environ. Food 2(2), 60–65 (2009)
 7.
Bac, C.W., et al.: Harvesting robots for high value crops: stateoftheart review and challenges. J. Field Robot. 31(6), 888–911 (2014)
 8.
Silwal, A., Davidson, J.R., Karkee, M., Mo, C., Zhang, Q., Lewis, K.: Design, integration and field evaluation of robotic apple harvester. J. Field Robot. 34(6), 1140–1159 (2017)
 9.
Bakker, T., van Asselt, K., Bontsema, J., Mueller, J., van Straten, G.: Systematic design of an autonomous platform for robotic weeding. J. Terramech. 47(2), 63–73 (2010)
 10.
Sabanci, K., Aydin, C.: Smart robotic weed control system for sugar beet. Agric. Sci. Technol. 19(1), 73–83 (2017)
 11.
Raja, R., Ngugen, T.T., Slaughter, D.C., Fennimore, S.A.: Realtime weedcrop classification and localisation technique for robotic weed control in lettuce. Biosyst. Eng. 192, 257–274 (2020)
 12.
Berenstein, R., Edan, Y.: Humanrobot cooperative precision spraying: collaboration levels and optimization function. In: 10th IFAC Symposium on Robot Control, Dubrovnik, Croatia, pp. 799–804 (2012)
 13.
Oberti, R., et al.: Selective spraying of grapevines for disease control using a modular agricultural robot. Biosyst. Eng. 146, 203–215 (2016)
 14.
Kassim, A.M., et al.: Design and development of autonomous pesticide sprayer robot for fertigation farm. Int. J. Adv. Comput. Sci. Appl. 2, 545–551 (2020)
 15.
Kaldestad, K.B., Tyapin, I., Hovland, G.: Robotic face milling path correction and vibration reduction. In: IEEE International Conference on Advanced Intelligent Mechanics (AIM), pp. 543–548 (2015)
 16.
Kumaresan, R., Tufts, D.: Estimating the parameters of exponentially damped sinusoids and pole zero modelling in noise. IEEE Trans. Acoust. Speech Signal Process. 30, 833–840 (1982)
 17.
Barone, P.: Some practical remarks on the extended Prony’s method of spectrum analysis. Proc. IEEE 76, 716–723 (1988)
 18.
Markovsky, I., Van Huffel, S.: Overview of total least squares methods. Signal Process. 87, 2283–2302 (2007)
 19.
Hua, Y., Sarkar, T.K.: Matrix pencil method for estimating parameters of exponentially damped/undamped sinusoids in noise. IEEE Trans. Acoust. 38, 814–824 (1990)
 20.
Routray, A., Pradhan, A.K., Rao, K.P.: A novel Kalman filter for frequency estimation of distorted signals in power system. IEEE Trans. Instrum. Meas. 51, 469–479 (2002)
 21.
Wiltshire, R.A., et al.: A Kalman filtering approach to rapidly detecting modal changes in power systems. IEEE Trans. Power Syst. 22, 1698–1706 (2007)
 22.
Zadeh, R.A., Ghosh, A., Ledwich, G.: Combination of Kalman filter and leasterror square techniques in power system. IEEE Trans. Power Deliv. 25, 2868–2880 (2010)
 23.
Ning, J., Pan, X., Venkatasubramanian, V.: Oscillation modal analysis from ambient synchrophasor data using distributed frequency domain optimization. IEEE Trans. Power Syst. 28(2), 1960–1968 (2013)
 24.
KarimiGhartemani, M., Khajehoddin, S.A., Jain, P.K., Bakhshai, A., Mojiri, M.: Addressing DC component in PLL and notch filter algorithm. IEEE Trans. Power Electron. 27, 78–86 (2012)
 25.
Mansouri, M., Mojiri, M., GhadiriModarres, M.A., KarimiGhartemani, M.: Estimation of electromechanical oscillations from phasor measurements using second order generalized integrator. IEEE Trans. Instrum. Meas. 64(4), 943–950 (2014)
 26.
Hinrichs, N., Oestreich, M., Popp, K.: On the modeling of friction oscillators. J. Sound Vib. 216, 435–459 (1998)
 27.
Li, Y., Feng, Z.C.: Bifurcation and chaos in friction induced vibration. Commun. Nonlinear Sci. Numer. Simul. 9, 633–647 (2004)
 28.
Bultin, T., Woodhouse, J.: Frictioninduced vibration: quantifying sensitivity and uncertainty. J. Sound Vib. 329(1–2), 509–526 (2010)
 29.
Nobari, A., Ouyang, H., Bannister, P.: Statistics of complex eigenvalues in frictioninduced vibration. J. Sound Vib. 338, 169–183 (2015)
 30.
Nechak, L., Sinou, J.J.: Hybrid surrogate model for the prediction of uncertain frictioninduced instabilities. J. Sound Vib. 126, 122–143 (2017)
 31.
Massa, F., et al.: Uncertain frictioninduced vibration study: coupling of fuzzy logic, fuzzy sets and interval theories. ASME J. Risk Uncertain. Part B 2, 011008 (2016)
 32.
Mallon, N., et al.: Friction compensation in a controlled onelink robot using reduced order observer. IEEE Trans. Control Syst. Technol. 14, 374–383 (2006)
 33.
Basturk, H.I.: Observer based boundary control design for suppression of slickslip oscillations in drilling systems with only surface measurements. J. Dyn. Syst. Meas. Control 139, 1–7 (2017)
 34.
Nechak, L.: Nonlinear state observer for estimating and controlling of frictioninduced vibrations. Mech. Syst. Signal Process. 139, 106588 (2020)
 35.
Wongvanich, N., Hann, C.E., Sirisena, H.R.: Minimal modeling methodology to characterize nonlinear damping in an electromechanical system. Math. Comput. Simul. 117, 117–140 (2015)
 36.
Cartwright, M.J.: On the stability of solution of certain differential equations of the fourth order. Q. J. Mech. Appl. Math. 9, 185–194 (1956)
 37.
Okereke, R.N.: Lyapunov stability analysis of certain third order nonlinear differential equations. J. Appl. Math. 7, 1971–1977 (2016)
Acknowledgements
This work is supported by the Research Seed Grant for New Lecturer, KMITL Research Fund, King Mongkut’s Institute of Technology Ladkrabang, Thailand.
Funding
Not applicable.
Author information
Affiliations
Contributions
NW provided the mathematical model, conducted the system identification, designed the backstepping controller and set up the original manuscript draft. SB improved the manuscript. AC developed the data acquisition system and collected the data needed for the system identification analysis. All authors read and approved the final version of the manuscript.
Corresponding author
Ethics declarations
Ethics approval and consent to participate
Not applicable.
Competing interests
The authors declare that they have no competing interests.
Consent for publication
All authors are in unison for the publication of this manuscript.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Wongvanich, N., Boksuwan, S. & Chesof, A. Simplified modelling and backstepping control of the long arm agricultural rover. Adv Differ Equ 2020, 701 (2020). https://doi.org/10.1186/s1366202003158y
Received:
Accepted:
Published:
Keywords
 Agricultural rover
 Vibration
 Long arm
 Backstepping control