1 Introduction

Robot manipulators are subjected to different types of disturbances such as joint frictions, unknown payloads, and unmodeled dynamics. To estimate disturbance tracking, nonlinear disturbance observer (NDO) is one of the techniques to achieve the desired performance. In general, the main objective of the use of NDO is to deduce external unknown disturbance torque without the use of an additional sensor. A disturbance observer has been designed in [1] based on measurements of only the angular variables q of the robot and its angular velocity \( q. \) The design involves the contraction of an auxiliary signal \( z_{t} \) that satisfies first order differential equation involving \( q\left( t \right) \) and \( q\left( t \right). \) The asymptotic convergence of the disturbance estimate to the true disturbance is proved in [1], using a Lyapunov energy function which is a quadratic form in the disturbance estimate error, and which depends on the instantaneous value of \( q\left( t \right). \) The rate of change of this energy function with time is shown to be not only negative, but upper bounded by a negative definite quadratic form, provided that a certain matrix in the Lyapunov energy is chosen approximately.We have in our paper considered a Lyapunov energy function for the same disturbance observer as in [1], but with an additional degree of freedom in the choice of a certain matrix F, in the construction of the Lyapunov function. This This additional degree of freedom F satisfies a constraint that the Lyapunov energy metric be symmetric and positive definite. The advantage of using this additional degree of freedom is that we can prove faster convergence rate of the disturbance estimate error to zero. In an article [2], an NDO for multi-DOF robotic manipulator was designed by selecting the observer gain functions and global convergence was guaranteed based on Lyapunov theory. This work was extended in [3] for -link serial manipulator. Although in both the articles, the proposed observer is designed for very slow varying disturbances while in the present work we bounded the rate of disturbance. Both used explicit formula for the inertia matrices of a particular class of manipulators to solve the disturbance observer design. In [4] the system has been linearized by removing the centrifugal-Coriolis- gravitational components regarded as disturbance and by using frequency selective properties of LTI filters, this disturbance estimates has been achieved. Our philosophy however has been to treat the nonlinear centrifugal-Coriolis- gravitational torque components as parts of the system and to estimate disturbance only present in the control input. While in [5] to improve robust stability without compromising the performance of NDO, nominal plant model in the NDO was manipulated and the parameters of the discretized nominal model are optimized to improve robust stability in the discrete time domain. This method is applicable for linear model. In [6], the system is a motor modeled using a second order linear equation. Inertia and torque coefficient are uncertain and hence are expressed as nominal values. The applied method is applicable to LTI system and to apply this method to nonlinear system like robot, this method needs to be modified. Stability of this closed loop system is established by standard root locus techniques. In [7] robust stability of a closed loop LTI system has been dealt. Specifically a NDO is constructed and this depends on a time constant parameter τ. The author proves that there exists a \( n \tau^{ *} > 0 \) such that if \( \tau \le \tau^{ *} \), then the closed loop system is stable. It would be interesting to see whether such a result can be proved for nonlinear robotic systems. In [8], the robustness and stability of a disturbance observer and a reactio n torque observer (RTOB)-based robust motion control systems was analyzed. The desired acceleration, external disturbance and noise of velocity measurement are passed through filters. All these are LTI system based techniques and need to be modified for our application. In [9], a class of stabilizing decentralized proportional integral derivative (PID) controllers for an n-link robot manipulator system is proposed. In [10], the relative position control can be performed by a disturbance observer as well as a position controller. Here, the disturbance does not exist in reality but it is assumed as position error. In [11], a new method is introduced to address the decoupling problem for system with large uncertainty of internal dynamics and unknown external disturbances. When the accurate plant model is unknown, an external state observer is designed which estimate the states using only knowledge of the system output. Convergence of the state estimates to the true state is established. It is a question whether this technique can be applied even to nonlinear system with several states and few outputs. In robotics it is used to estimate the system parameters rather than the states and we have followed this approach. In [12], control with multiple plant disturbances has been surveyed. First the author discuss standard disturbance observer techniques then they survey problem in which system nonlinearities are also regarded as disturbances so that linear design methods can be used. Then they discussed nonlinear methods. Finally the composite method is surveyed involving two models, a disturbance observer and a controller. Disturbances modeled as random processes have also been surveyed. These involve methods like Kalman filtering for state estimates followed by controller design. Minimum variance issue is also surveyed for minimizing the output variance in the presence of Gaussian noise. In [13], the control of a damped harmonic oscillator with external disturbance in the input force and output measurement noise has been proposed. The effect of the overall controller is to produce the plant output i.e. position as a linear combination of filtered version of desired position, external disturbance and measurements noise. This technique also after some modification can be applied by means of nonlinear filters for nonlinear robotic system. In [14], the nonlinear system is modeled using parameters that describe the unmodeled dynamics and parameters that describe the unknown parameter vector.

The authors then design an observer with the output y(t) and input u(t) to estimate the system states. The observer is designed using the output error as feedback. In our approach, we directly estimate the unknown system parameters from the available output data by assuming a random disturbance and then using the unknown parameter estimates, we estimate the disturbance using the disturbance observer. The algorithm in [14] is more appropriate when we wish directly to estimate the state (angular position and velocities) without having to estimate the system parameters. In the case of stochastic disturbances when the system parameters to be estimated, our MLE based algorithm appears to be superior. In [15], a disturbance observer for discrete time linear system has been proposed. The idea is same as the standard construction of the disturbance observer in the literature but is carried out in discrete time using recursive difference equations expressing the disturbance estimate in terms of an auxiliary variable ‘z’ which satisfies a difference equation driven by the state and the input processes. The state is then replaced by the output with a pseudo inverse operation and of the disturbance observer is then proved. The method does not work if there are unknown system parameters and then one has to use a statistical approach to estimate these parameters from input-output data. Our algorithm for ML estimation of unknown system parameters can be combined with the disturbance observer in [15] when the system is discrete time linear with unknown parameters. In [16], the parameters of a motor are estimated for a first order linear differential equation using least square technique. Using these parameter estimates, a plant (motor) is constructed, an error signal generated which when passed through a filter yields the estimated disturbance. In [17], an algorithm based on the least square method is used to estimate the two time constants of a second order LTI system from discrete output measurements.

This is essentially an ML method if we assume that the output measurement noises are iid Gaussian. Then based on the second order partial derivatives of the measurement error energy w.r.t. the parameters, an iterative scheme are proposed to obtain a Newtonian iterative algorithm for parameter estimation.

The method will however require modification if the system is nonlinear as it is in robotics problems. One way to use the technique in [17] for nonlinear systems is to expand the nonlinear terms in the dynamical system as a power series in the state variables and then apply perturbation theory to obtain an approximate solution to the system in terms of the parameters. After that the measurement in error energy can be minimized by the Newton-iteration algorithm. In [18], the extended Kalman filter (EKF) has been used to estimate \( \dot{\text{q}}\), variation in physical parameter, and the environment force with noisy state measurements. But this technique cannot be used for estimation of disturbance and physical parameters.

As disturbance is neither can be modeled as a component of the machine torque nor it is a random noise, it is some where in between. Also EKF is suboptimal technique as it does not give the minimum mean square state estimate error (MMSE). Although Kushner filter is the optimal MMSE but it is not implementable as it is infinite dimensional filter. Least square method to linear system is applied in [19]; we have applied LS to nonlinear system followed by linearizion. Both methods give optimal ML estimates provided that the disturbance is assumed to be WGN. In [20], multi-variable systems parameters estimation and control is discussed for moving average noise. This is a linear system and both control inputs and noise are present. The moving average disturbance is transferred into an auto regressive disturbance and then a least square algorithm is proposed to identify the system parameters.

This technique can be adapted to nonlinear system after some modification. Results of [21] are used for the comparison of the proposed method. In [22], synchronization issues of two non-identical hyper chaotic master/slave systems were investigated. In [23], the unknown system output is modeled using a parametric function of time and the errors between (a) the unknown system output and the parametric model output (modeling error), (b) between the measured observation and the parametric model output are computed. These two errors are combined to compute the modeling error plus error due to measurement noise. The resultant error magnitude is then minimized by parameter adjustment. To get an initial guess for the parameter model in the robotic case, we can apply perturbation theory. Moreover, in the presence of stochastic disturbance, we can use perturbation theory to derive a parameter model for the state perturbation due to noise and parametric error. The parameter θ may be determined by the least square method to this linearized model. Essentially, the methodology of [24] needs to be modified slightly when the disturbance is stochastic using the ergodic hypothesis. The system model in [25] is described by a nonlinear differential equation expressed in state variable form. The nonlinear system terms and the external disturbance are then clubbed into a total disturbance term and a linear generalized proportional integral (GPI) observer based on output error feedback is designed to estimate the state. The authors prove convergence of the output error estimates to zero under sufficiently several conditions. This method of linear GPI observer may not be approximate when the nonlinear system terms are not treated as disturbances. Our method will work in such cases. Most noticeably, the proposed approach offers the following contribution compared to the previous work: 1) More generalized Lyapunov function and the Lyapunov energy is bounded. 2) Simultaneous parameter and disturbance estimation using disturbance observer and MLE.

MLE of parameter at time \( t +\Delta \) is obtained based on data collected up to time \( t \) and then disturbance estimate at time \( t +\Delta \) is also derived. 3) Bounded disturbance instead of slow-varying disturbance. 4) The model involves assuming the difference between the disturbance process and its estimate as a WGN stochastic process thus resulting in an improved performance ML estimator. 5) It enables us to use “estimation theory for stochastic process” with improved results. 6) Performance analysis of the estimator by CRLB evaluation using perturbation theory. The remaining part of the article is organized as follows: In section 2, dynamics of the manipulator with disturbance and parameter estimation is formulated. In section 3, Parameter Estimation by MLE is derived. In section 4, Nonlinear Disturbance Observer with parameter estimation is modeled. In section 5, the method for stability analysis is proposed. In section 6, convergence rate of the NDO is proposed. In section 7, performance analysis of the proposed parameter estimation is proposed. Then the validity of the proposed technique is verified by simulation results in section 8. This article ends with the conclusion given in the last section.

2 Dynamic model in the presence of disturbance and parameter uncertainty

The Robot dynamics can be described as

$$ {\ddot{\mathbf{q}}} = {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\theta_{0} } \right) + {\mathbf{G}}\left( {{\mathbf{q}},\theta_{0} } \right){\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) $$
(1)

where \( \left( {\theta_{0} } \right) \) is the true parametric vector \( (\theta_{0} = \left( {{\mathbf{m}}_{1} ,{\mathbf{m}}_{2} ,{\mathbf{L}}_{1} ,{\mathbf{L}}_{2} )^{{\mathbf{T}}} } \right) \) and

$$ {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\theta_{0} } \right) = - {\mathbf{M}}({\mathbf{q}},\theta_{0} )^{ - 1} {\mathbf{N}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},\theta_{0} } \right) + {\mathbf{M}}({\mathbf{q}},\theta_{0} )^{ - 1} \tau \left( {\mathbf{t}} \right) $$
(2)
$$ {\mathbf{G}}\left( {{\mathbf{q}},\theta_{0} } \right) = {\mathbf{M}}({\mathbf{q}},\theta_{0} )^{ - 1} $$
(3)

where \( {\mathbf{M}}\left( {{\mathbf{q}},\theta_{0} } \right), \) is the inertia matrix. \( {\mathbf{N}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},\theta } \right) \) is the vector of Coriolis and centrifugal forces. \( \theta_{0} \) is the true parametric vector and represents physical parameters like mass, length or inertia of the links. \( {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \) is the disturbance.

3 Parameter estimation by MLE

Here, \( {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \) is the disturbance corrupting the dynamics of the robot. \( \hat{d}_{t} \) is its estimate based on the past data. It is well known in signal processing that if \( {\mathbf{X}}_{{\mathbf{t}}} \) is a stochastic process and \( {\hat{\mathbf{X}}}_{{{\mathbf{t}}|{\mathbf{t}} - 1}} = \left( {{\mathbf{X}}_{{\mathbf{t}}} |{\mathbf{X}}_{{{\mathbf{t}} - 1}} ,{\mathbf{X}}_{{{\mathbf{t}} - 2}} , \ldots } \right) \) is its estimate based on past data, then the estimation error \( {\mathbf{X}}_{{\mathbf{t}}} - {\hat{\mathbf{X}}}_{{{\mathbf{t}}|{\mathbf{t}} - 1}} \equiv {\mathbf{e}}_{{\mathbf{t}}} \) is an uncorrelated process. This is the orthogonal projection theory. \( {\text{If }}\theta_{0} \) is unknown, and \( {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \) is white-Gaussian noise (WGN), then the MLE of \( \theta_{0} \) based on data \( {\mathbf{q}}\left( \cdot \right) \) collected up to time \( t \) is least square and is given by

$$ \hat{\theta }\left( {\mathbf{t}} \right) = \mathop {{\text{a}}{\mathbf{rgmin}}}\limits_{{\underline{\theta } }} \mathop \int \limits_{0}^{{\mathbf{t}}} \left\| {{\mathbf{G}}({\mathbf{q}},\theta )^{ - 1} \left( {{\ddot{\mathbf{q}}} - {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\theta } \right)} \right)} \right\|^{2} {\mathbf{dt}} $$
(4)

This is a highly nonlinear optimization problem. A more practical algorithm is to assume an initial given estimator \( \hat{\theta } \,{\text{for}}\,\theta_{0} \) and define \( \delta \theta = \hat{\theta } - \theta_{0} . \) Linearising (1) about \( \hat{\theta } \) gives

$$ {\ddot{\mathbf{q}}} \approx {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right) - \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)\delta \theta + {\mathbf{G}}\left( {{\mathbf{q}},\hat{\theta }} \right)\left( {{\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right) $$
(5)

where \( {\mathbf{O}}\left( {\delta \theta \cdot {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right) \) terms have been neglected since both are small quantities. Then, the MLE based on Least Square Estimation of \( \delta \theta \), based on data collected position data is

$$ \delta \hat{\theta } ({\mathbf{t}}) = \mathop {{\text{a}}{\mathbf{rgmin}}}\limits_{\delta \theta } \mathop \int \limits_{0}^{{\mathbf{t}}} \| {{\mathbf{G}}\left( {{\mathbf{q}},\hat{\theta }} \right)^{ - 1}} \left({\ddot{\mathbf{q}}} - {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right) - \frac{{\partial {\mathbf{F}}}}{\partial \theta } \left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)\delta \theta \right)\| {^{2} } {\mathbf{dt}} $$
(6)
$$ = \left[\mathop \int \limits_{0}^{{\mathbf{t}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)} \right)^{{\mathbf{T}}} {\mathbf{M}}^{2} \left( {{\mathbf{q}},\hat{\theta }} \right)\frac{{\partial {\mathbf{F}}}}{\partial \theta } \left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right) {\text{dt}}\right]^{-1} \times \left[\mathop \int \limits_{0}^{{\mathbf{t}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)} \right)^{{\mathbf{T}}} {\mathbf{M}}^{2} \left( {{\mathbf{q}},\hat{\theta }} \right)\left( {\ddot{\mathbf{q}}} - {\text{F}} \left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right) \right) {\text{dt}}\right]^{-1} $$
(7)

Then the improved estimates of \( \theta_{0} \) is

$$ \hat{\theta }_{0} \left( {\mathbf{t}} \right) = \hat{\theta } - \delta \hat{\theta }\left( {\mathbf{t}} \right) = \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) $$
(8)

4 NDO with parameter estimation

The estimates \( \hat{\theta }\left( {\mathbf{t}} \right) \) is used to obtained the disturbance estimate \( {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) \) using the standard equation:

$$ \begin{aligned} {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) & = {\mathbf{Z}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) + {\mathbf{C}}\dot{{\mathbf{q}}}\left( {\mathbf{t}} \right) \\ {\mathbf{Z}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) & = {\mathbf{Z}}\left( {\mathbf{t}} \right) + {\varvec{\Delta}} \cdot {\mathbf{L}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\hat{\theta }\left( {\mathbf{t}} \right)} \right) \\ \end{aligned} $$
(9)
$$ \times \left( {{\mathbf{N}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\hat{\theta }\left( {\mathbf{t}} \right)} \right) - \left( {\tau \left( {\mathbf{t}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right) $$
(10)
$$ = {\mathbf{Z}}\left( {\mathbf{t}} \right) + \Delta{\mathbf{CM}}^{ - 1} \left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }_{0} \left( {\mathbf{t}} \right)} \right)({\mathbf{N}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\hat{\theta }\left( {\mathbf{t}} \right) - \tau \left( {\mathbf{t}} \right)} \right) $$
(11)

The equations are based on the continuous time versions

$$ {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) = {\mathbf{Z}}\left( {\mathbf{t}} \right) + {\mathbf{C}}\dot{{\mathbf{q}}}\left( {\mathbf{t}} \right) $$
(12)
$$ \begin{aligned} {\dot{\mathbf{Z}}}\left( {\mathbf{t}} \right) & = {\mathbf{L}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\theta_{0} } \right)({\mathbf{N}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\theta_{0} } \right) \\ & \quad - \left( {\tau \left( {\mathbf{t}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \\ \end{aligned} $$
(13)

Here,

$$ {\mathbf{L}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},\theta } \right) = {\mathbf{CM}}^{ - 1} \left( {{\mathbf{q}},\theta } \right) $$
(14)

Which guarantees that

$$ \dot{\hat{{\mathbf{d}}}}_{{\mathbf{i}}} = {\text{L}}\left( {{\mathbf{d}}_{{\mathbf{i}}} - {\hat{\mathbf{d}}}_{{\mathbf{i}}} } \right) $$
(15)

on using the equation of motion.

These equations that constitute the disturbance observer guarantee (1) the dynamics of the disturbance estimate depends only on measurement of \( {\mathbf{q}}\left( {\mathbf{t}} \right),{\mathbf{q}}^{0} \left( {\mathbf{t}} \right) \) and \( \tau \left( {\mathbf{t}} \right) \) and does not involve measurement of \( {\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right). \) Indeed, if \( {\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right) \) is also measured, then \( {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \) could be directly estimated using Eq. (1). Having this obtained \( {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right), \) we can determine \( \delta \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) \) using \( {\mathbf{q}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right),{\dot{\mathbf{q}}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right),{\ddot{\mathbf{q}}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) \) as with these quantities satisfying

$$ \begin{aligned} {\ddot{\mathbf{q}}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) & = {\mathbf{F}}({\mathbf{q}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right),{\dot{\mathbf{q}}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right),{\mathbf{t}} + {\varvec{\Delta}},\theta_{0} \left( {\mathbf{t}} \right) \\ & \quad + {\mathbf{G}}\left( {{\mathbf{q}}\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right),\theta_{0} } \right)\left( {{\mathbf{d}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right)} \right) \\ \end{aligned} $$
(16)

This is the forward dynamics equation of the robot (actual plant) as shown in figure 1. Then

Figure 1
figure 1

Block diagram.

$$ \begin{aligned} \delta \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) & = \left[\mathop \int \limits_{0}^{{{\mathbf{t}} + {\varvec{\Delta}}}} \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right)} \right){\mathbf{M}}^{2} \left( {{\mathbf{q}},\hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right)} \right)\frac{{\partial {\mathbf{F}}}}{\partial \theta } \left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right)} \right) {\text{dt}}\right]^{-1}\times \left[ {{\mathop \int \limits_{0}^{{{\mathbf{t}} + {\varvec{\Delta}}}} \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right)} \right)} \, {\left( {{\ddot{\mathbf{q}}} - {\mathbf{F}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}} + \Delta ,\hat{\theta }\left( {{\mathbf{t}} + \Delta } \right)} \right)} \right){\text{dt}}} } \right] \end{aligned} $$
(17)

The improved parameter estimate at time \( t +\Delta \) is then

$$ \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) = \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) - \delta \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) $$
(18)

By subtracting the disturbance estimates \( {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) \) at time \( {\mathbf{t}} + {\varvec{\Delta}} \) from the dynamics, the effect of the disturbance on the robot reduces and with this reduced error, our updated parameter estimate \( \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) \) gives better results using MLE for less noise variance. The integrals are in practice replaced by discrete summations.

5 Stability analysis of the NDO

The choice of \( {\mathbf{C}} \) in the disturbance dynamics observer is based on the Lyapunov energy method. The construction of the new generalized Lyapunov matrix for proving boundedness of the disturbance estimation error is based on the following principle. We assume that it is a positive definite matrix \( {\mathbf{J}}\left( {\mathbf{q}} \right) \) and compute the rate of change of the disturbance error energy with respect to this matrix, i.e., dynamics of the disturbance observer in terms of the matrix \( {\mathbf{L}} \) that is used in the disturbance observer construction. The condition for this rate of change to be negative is then imposed on \( {\mathbf{J}} \) and this yields a very general form for \( {\mathbf{J}} \) in terms of the mass moment of inertia matrix and a matrix \( {\mathbf{F}} \) that gives us additional degrees of freedom to establish faster convergence of the disturbance error to zero or more generally, a smaller bound on the error energy. We have in the ideal case when \( \theta_{0} \) is exactly known,

$$ \dot{\hat{{\mathbf{d}}}}_{{\mathbf{i}}} = {\text{L}}\left( {{\text{q}},{\dot{\text{q}}}} \right)\left( {{\mathbf{d}}_{{\mathbf{i}}} - {\hat{\mathbf{d}}}_{{\mathbf{i}}} } \right) $$
(19)

Or

$$ {\dot{\mathbf{e}}} = {\mathbf{L}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}}} \right){\mathbf{e}} + {\dot{\mathbf{d}}}_{{\mathbf{i}}} $$
(20)

where

$$ {\mathbf{e}} = {\mathbf{d}}_{{\mathbf{i}}} - {\hat{\mathbf{d}}}_{{\mathbf{i}}} $$
(21)
$$ {\mathbf{L}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}}} \right) = {\mathbf{CM}}^{ - 1} \left( {\mathbf{q}} \right) $$
(22)

For simplicity, here we are considering the case of two degree of freedom robot. Procedure for n degree of freedom robot is also discussed in Appendix A. Let \( {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right)\,{\text{be}}\,{\text{a}}\,{\text{positive}}\,{\text{definite}}\, 2 \times 2 \) Jacobin matrix of the robot and V is the Lyapunov energy function.Then

$$ {\mathbf{V}}\left( {{\mathbf{e}},{\mathbf{q}}} \right) = \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right){\mathbf{e}} $$
(23)

Then

$$ {\dot{\mathbf{V}}} = - \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} \left\{ {{\mathbf{JL}} + {\mathbf{L}}^{{\mathbf{T}}} {\mathbf{J}} - {\mathbf{J}} '\left( {{\mathbf{q}}_{2} } \right){\dot{\mathbf{q}}}_{2} } \right\}{\mathbf{e}} + {\mathbf{e}}^{{\mathbf{T}}} {\mathbf{J}}\dot{{\mathbf{d}}} $$
(24)

For \( {\mathbf{V}} \) to be bounded (stability), we require

$$ {\mathbf{JL}} + {\mathbf{L}}^{{\mathbf{T}}} {\mathbf{J}} - {\mathbf{J^{\prime}}}\left( {{\mathbf{q}}_{2} } \right){\dot{\mathbf{q}}}_{2} \ge {\varvec{\Gamma}} >\quad 0 \forall {\mathbf{q}}_{2} ,{\dot{\mathbf{q}}}_{2} $$
(25)

in a given range and

$$ \parallel {\dot{\mathbf{d}}}\left( {\mathbf{t}} \right)\parallel \le 1 <\quad \infty \forall {\mathbf{t}} $$
(26)

Writing \( {\mathbf{L}} = {\mathbf{CM}}^{ - 1} \left( {{\mathbf{q}}_{2} } \right) \) gives

$$ {\mathbf{JCM}}^{ - 1} + {\mathbf{M}}^{ - 1} {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{J}} - {\mathbf{J}} '\left( {{\mathbf{q}}_{2} } \right){\dot{\mathbf{q}}}_{2} \ge {\varvec{\Gamma}} > 0 $$
(27)

Here \( {\varvec{\Gamma}} \) is a constant \( 2 \times 2 \) positive definite matrix.The above equation guarantees that the rate of change of the Lyapunov energy \( {\mathbf{V}}\left( {{\mathbf{e}},{\mathbf{q}}} \right) \) will be strictly negative and hence the disturbance estimates error will reduce nearly to zero after a sufficiently long duration.We now give a general method of constructing the symmetric Lyapunov matrix \( {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right) \) that guarantees that will hold for all \( {\mathbf{q}}_{2} \left[ {0,2\pi } \right] \) and all the angular velocities, \( {\dot{\mathbf{q}}}_{2} \) bounded above by a finite positive constant. Indeed this condition guarantee that the first component of

$$ \begin{aligned} & \dot{V}\left( {\frac{ - 1}{2}{\mathbf{e}}^{T} J\left( {q_{2} } \right){\mathbf{e}}\dot{V}} \right) \\ & \quad = - \frac{1}{2}e^{T} \left\{ {JL + L^{T} J - J '\left( {q_{2} } \right)\dot{q}_{2} } \right\}{\mathbf{e}}) \\ & \quad \le \frac{1}{2}{\mathbf{e}}^{T}\Gamma \,{\mathbf{e}} \le 0 \\ \end{aligned} $$

and the last component of \( \dot{V} \) is bounded by \( {\mathbf{K}},{\mathbf{J}}\,{\text{and}}\,{\mathbf{e}}. \) Later we shall used this inequality to rigorously establish the asymptotic boundedness of \( {\mathbf{V}}\left( {\mathbf{t}} \right) \) and hence of \( {\mathbf{e}}\left( {\mathbf{t}} \right). \) If as in the literature we take \( {\mathbf{F}} = {\mathbf{I}}, \) then \( {\mathbf{A}} = {\mathbf{C}}^{{ - {\mathbf{T}}}} \) and \( {\mathbf{J}} = {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{MC}}^{ - 1} . \) This shows that C affects the Lyapunov matrix as well as its rate of decrease. In other words, \( {\mathbf{C}} \) has control over the eigenvalues of \( {\mathbf{J}} \) and hence can be manipulated to get approximate rate of error energy decreases. This implies in turn that the disturbance estimate will converge to the true disturbance at a faster rate.

To simplify matters, we shall assume that

$$ {\mathbf{JCM}}^{ - 1} = {\mathbf{A}} $$
(28)

(\( {\mathbf{A}} \) is a constant matrix) i.e.,

$$ {\mathbf{J}} = {\mathbf{AMC}}^{ - 1} $$
(29)

This condition that \( {\mathbf{JCM}}^{ - 1} \) be a constant matrix, guarantees that the range of \( {\dot{\mathbf{q}}}_{2} \) for asymptotically stability can be derived easily as we presently investigate.

\( {\mathbf{J}}^{{\mathbf{T}}} = {\mathbf{J}} \) is required, we have

$$ {\mathbf{C}}^{ - 1} {\mathbf{MA}}^{{\mathbf{T}}} = {\mathbf{AMC}}^{ - 1} $$
(30)

or

$$ {\mathbf{MA}}^{{\mathbf{T}}} {\mathbf{C}} = {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{AM}} $$
(31)

Let \( {\mathbf{A}}^{{\mathbf{T}}} {\mathbf{C}} = {\mathbf{F}} \). Then the above reduces to

$$ {\mathbf{MF}} = {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}} $$
(32)

or

$$ \begin{aligned} & \left( {\begin{array}{*{20}l} {{\mathbf{a}} + b {\mathbf{cosq}}_{2} {\mathbf{m}}} \hfill & {{\mathbf{c}} + {\mathbf{d}} {\mathbf{cosq}}_{2} } \hfill \\ {{\mathbf{c}} + {\mathbf{d}}{ \cos }{\mathbf{q}}_{2} } \hfill & {\mathbf{f}} \hfill \\ \end{array} } \right)\left( {\begin{array}{*{20}l} {{\mathbf{f}}_{11} } \hfill & {{\mathbf{f}}_{12} } \hfill \\ {{\mathbf{f}}_{21} } \hfill & {{\mathbf{f}}_{22} } \hfill \\ \end{array} } \right) \\ & \quad = \left( {\begin{array}{*{20}l} {{\mathbf{f}}_{11} } \hfill & {{\mathbf{f}}_{21} } \hfill \\ {{\mathbf{f}}_{12} } \hfill & {{\mathbf{f}}_{22} } \hfill \\ \end{array} } \right)\left( {\begin{array}{*{20}l} {{\mathbf{a}} + {\mathbf{b}}{ \cos }{\mathbf{q}}_{2} } \hfill & {{\mathbf{c}} + {\mathbf{d}}{ \cos }{\mathbf{q}}_{2} } \hfill \\ {{\mathbf{c}} + {\mathbf{d}}{ \cos }{\mathbf{q}}_{2} } \hfill & {\mathbf{f}} \hfill \\ \end{array} } \right) \\ \end{aligned} $$
(33)

Or

$$ \begin{aligned} & {\mathbf{f}}_{12} \left( {{\mathbf{a}} + {\mathbf{b}}{ \cos }{\mathbf{q}}_{2} } \right) + {\mathbf{f}}_{22} \left( {{\mathbf{c}} + {\mathbf{d}}{ \cos }{\mathbf{q}}_{2} } \right) \\ & \quad = {\mathbf{f}}_{11} \left( {{\mathbf{c}} + {\mathbf{d}}{ \cos }{\mathbf{q}}_{2} } \right) + {\mathbf{ff}}_{21} \forall {\mathbf{q}}_{2} \\ \end{aligned} $$
(34)

or

$$ {\mathbf{f}}_{12} {\mathbf{a}} = {\mathbf{c}}\left( {{\mathbf{f}}_{11} - {\mathbf{f}}_{12} } \right) + {\mathbf{ff}}_{21} $$
(35)
$$ {\mathbf{f}}_{12} {\mathbf{b}} = {\mathbf{d}}\left( {{\mathbf{f}}_{11} - {\mathbf{f}}_{22} } \right) $$
(36)

Here more generalized Inertia matrix \( M \) is considered as compared to [2] with more degree of freedom for better results. Thus,

$$ {\mathbf{f}}_{12} \left( {{\mathbf{ad}} - {\mathbf{bc}}} \right) = {\mathbf{ff}}_{21} {\mathbf{d}} $$
(37)

or

$$ {\mathbf{f}}_{21} = \frac{{{\mathbf{f}}_{12} \left( {{\mathbf{ad}} - {\mathbf{bc}}} \right)}}{{{\mathbf{fd}}}} $$
(38)

and

$$ {\mathbf{f}}_{11} = \frac{{{\mathbf{f}}_{12} {\mathbf{b}}}}{{\mathbf{d}}} + {\mathbf{f}}_{22} $$
(39)

The most general form of \( {\mathbf{F}}\,{\text{that}}\,{\text{guarantees}} \)

\( {\dot{\mathbf{J}}}\left( {{\mathbf{q}}_{2} } \right)\,{\text{be}}\,{\text{symmetric}}\,\forall \,{\mathbf{q}}_{2} \) is therefore

$$ {\mathbf{F}} = \left( {\begin{array}{*{20}l} {\frac{{{\mathbf{f}}_{12} {\mathbf{b}}}}{{\mathbf{d}}} + {\mathbf{f}}_{22} } \hfill & {{\mathbf{f}}_{12} } \hfill \\ {\frac{{{\mathbf{f}}_{12} \left( {{\mathbf{ad}} - {\mathbf{bc}}} \right))}}{{{\mathbf{fd}}}}} \hfill & {{\mathbf{f}}_{22} } \hfill \\ \end{array} } \right) $$
(40)

or

$$ {\mathbf{F}} = {\mathbf{f}}_{12} {\mathbf{F}}_{1} + {\mathbf{f}}_{22} {\mathbf{F}}_{2} $$
(41)

where

$$ {\mathbf{F}}_{1} = \left( {\begin{array}{*{20}l} {\frac{{\mathbf{b}}}{{\mathbf{d}}}} \hfill & 1 \hfill \\ {\frac{{\left( {{\mathbf{ad}} - {\mathbf{bc}}} \right)}}{{{\mathbf{fd}}}}} \hfill & 0 \hfill \\ \end{array} } \right),\quad {\mathbf{F}}_{2} = \left( {\begin{array}{*{20}l} 1 \hfill & 0 \hfill \\ 0 \hfill & 1 \hfill \\ \end{array} } \right) = {\mathbf{I}}_{2} $$
(42)

We have

$$ {\mathbf{A}}^{{\mathbf{T}}} = {\mathbf{FC}}^{ - 1} ,\quad {\mathbf{A}} = {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} $$
(43)

and thus,

$$ {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right) = {\mathbf{AMC}}^{ - 1} = {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{MC}}^{ - 1} $$
(44)
$$ = {\mathbf{f}}_{12} {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}_{1}^{{\mathbf{T}}} {\mathbf{MC}}^{ - 1} + {\mathbf{f}}_{22} {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{MC}}^{ - 1} $$
(45)

In the special case where \( {\mathbf{f}}_{22} = 0\,{\text{and}}\,{\mathbf{f}}_{22} = 1 \), we get

$$ {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right) = {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{M}}\left( {{\mathbf{q}}_{2} } \right){\mathbf{C}}^{ - 1} $$
(46)

Which is the standard Lyapunov matrix used in the literature. We now require

$$ {\mathbf{A}} + {\mathbf{A}}^{{\mathbf{T}}} - {\mathbf{AM}} '\left( {{\mathbf{q}}_{2} } \right){\mathbf{C}}^{ - 1} {\dot{\mathbf{q}}}_{2} \ge {\varvec{\Gamma}} $$
(47)

or equivalently,

$$ \begin{aligned} & {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} + {\mathbf{FC}}^{ - 1} - {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}} '\left( {{\mathbf{q}}_{2} } \right){\mathbf{C}}^{ - 1} {\dot{\mathbf{q}}}_{2} \ge {\varvec{\Gamma}} \\ & \forall\, {\mathbf{q}}_{2} \in \left[ {0,2\pi } \right), \left| {{\dot{\mathbf{q}}}_{2} } \right| \le \xi_{0} \equiv [{\dot{\mathbf{q}}}_{2} ]_{ \hbox{max} } \\ \end{aligned} $$
(48)

6 Convergence rate of the NDO

In this section, we use standard matrix norm inequalities and a well-known inequality in (Gronwall’s inequality) to derive an improved convergence rate for the error in the disturbance tracking. We are free to choose \( {\mathbf{f}}_{12} ,{\mathbf{f}}_{22} \) so that (48) holds. Then

$$ {\dot{\mathbf{V}}} = - \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} \left( {{\mathbf{JL}} + {\mathbf{L}}^{{\mathbf{T}}} {\mathbf{J}} - {\mathbf{J}} '\left( {{\mathbf{q}}_{2} } \right){\dot{\mathbf{q}}}_{2} } \right){\mathbf{e}} + {\mathbf{e}}^{{\mathbf{T}}} {\mathbf{J}}\dot{{\mathbf{d}}} $$
(49)
$$ \begin{aligned} & = - \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} \left( {{\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} + {\mathbf{FC}}^{ - 1} - {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M^{\prime}}}\left( {{\mathbf{q}}_{2} } \right){\mathbf{C}}^{ - 1} {\dot{\mathbf{q}}}_{2} } \right) \\ & \quad {\mathbf{e}} + {\mathbf{e}}^{{\mathbf{T}}} {\mathbf{J}}\dot{{\mathbf{d}}} \\ \end{aligned} $$
(50)
$$ \le - \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} \varGamma{\mathbf{e}} + {\mathbf{e}}^{{\mathbf{T}}} {\mathbf{J}}\dot{{\mathbf{d}}} $$
(51)
$$ \le - \frac{1}{2}\parallel {\mathbf{e}}\parallel^{2} \lambda_{ \hbox{min} } \left( {\varvec{\Gamma}} \right) + \rho_{1} \parallel {\mathbf{e}}\parallel \parallel {\mathbf{J}}\parallel $$
(52)

(where \( \parallel {\dot{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)\parallel \le \rho_{1} < \infty \,is\,assumed\,for\,all\,t \)).

Now

$$ \parallel {\mathbf{J}}\parallel = \parallel {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{MC}}^{ - 1} \parallel $$
(53)
$$ \le \parallel {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} \parallel \parallel {\mathbf{C}}^{ - 1} \parallel \parallel {\mathbf{M}}\parallel $$
(54)
$$ \le \parallel {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} \parallel \parallel {\mathbf{C}}^{ - 1} \parallel \lambda_{ \hbox{max} } \left( {\mathbf{M}} \right) $$
(55)

where

$$ \lambda_{ \hbox{max} } \left( {\mathbf{M}} \right) = \mathop { \hbox{max} }\limits_{{0 \le {\mathbf{q}}_{2} < 2\pi }} \lambda_{ \hbox{max} } \left( {{\mathbf{M}}\left( {{\mathbf{q}}_{2} } \right)} \right) $$
(56)

and hence

$$ {\dot{\mathbf{V}}} \le - \frac{1}{2}\parallel {\mathbf{e}}\parallel^{2} \lambda_{ \hbox{min} } \left( {\varvec{\Gamma}} \right) + \alpha \parallel {\mathbf{e}}\parallel $$
(57)

where

$$ \alpha = \rho_{1} \parallel {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} \parallel \parallel {\mathbf{C}}^{ - 1} \parallel \lambda_{ \hbox{max} } \left( {\mathbf{M}} \right) $$
(58)
$$ \begin{aligned} & = \alpha \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right) \\ & \quad \left( {{\mathbf{F}} = {\mathbf{F}}\left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} } \right) = {\mathbf{f}}_{12} {\mathbf{F}}_{1} + {\mathbf{f}}_{22} {\mathbf{F}}_{2} } \right). \\ \end{aligned} $$
(59)

Now

$$ {\mathbf{V}} = \frac{1}{2}{\mathbf{e}}^{{\mathbf{T}}} {\mathbf{Je}} \le \frac{1}{2}\parallel {\mathbf{e}}\parallel^{2} \beta \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right) $$
(60)

where

$$ \beta = \parallel {\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} \parallel \parallel {\mathbf{C}}^{ - 1} \parallel \lambda_{ \hbox{max} } \left( {\mathbf{M}} \right) > \parallel {\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right)\parallel $$
(61)

Thus,

$$ {\dot{\mathbf{V}}} \le - \frac{{\mathbf{V}}}{\beta }\lambda_{ \hbox{min} } \left( {\varvec{\Gamma}} \right) + \alpha \left\| {\mathbf{e}} \right\| $$
(62)

Also,

$$ {\mathbf{V}} \ge \frac{1}{2}\left\| {\mathbf{e}} \right\|^{2} \lambda_{ \hbox{min} } \left( {\mathbf{J}} \right) $$
(63)
$$ \ge \frac{1}{2}\left\| {\mathbf{e}} \right\|^{2} \tilde{\lambda }_{ \hbox{min} } \left( {\mathbf{J}} \right) $$
(64)

where

$$ \tilde{\lambda }_{ \hbox{min} } \left( {\mathbf{J}} \right) = \mathop { \hbox{min} }\limits_{{{\mathbf{q}}_{2} \in \left[ {0,2\pi } \right]}} \lambda_{ \hbox{min} } \left( {{\mathbf{J}}\left( {{\mathbf{q}}_{2} } \right)} \right) $$
(65)
$$ = \mathop { \hbox{min} }\limits_{{{\mathbf{q}}_{2} \in \left[ {0,2\pi } \right]}} \lambda_{ \hbox{min} } \left( {{\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}}\left( {{\mathbf{q}}_{2} } \right){\mathbf{C}}^{ - 1} } \right) $$
(66)
$$ \equiv \lambda_{0} \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right)\, {\text{say}} $$
(67)

We get

$$ {\dot{\mathbf{V}}} \le - \frac{{\lambda_{ \hbox{min} } \left( {\varvec{\Gamma}} \right)}}{\beta }{\mathbf{V}} + \alpha \sqrt {\frac{2}{{\lambda_{0} }}} \sqrt {\mathbf{V}} $$
(68)

Write

$$ {\mathbf{a}} = {\mathbf{a}}\left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right) = - \frac{{\lambda_{ \hbox{min} } \left( {\varvec{\Gamma}} \right)}}{{\beta \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right)}} , $$
(69)
$$ {\mathbf{b}} = {\mathbf{b}}\left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right) = \alpha \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right)\sqrt {\frac{2}{{\lambda_{0} \left( {{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}} \right)}}} $$
(70)

Then

$$ {\dot{\mathbf{V}}} \le - {\mathbf{aV}} + {\mathbf{b}}\sqrt {\mathbf{V}} $$
(71)

So setting

$$ \chi = \sqrt {\mathbf{V}} ,{\mathbf{V}} = \chi^{2} ,\quad 2\chi \dot{\chi } \le - {\mathbf{a}}\chi^{2} + {\mathbf{b}}\chi $$
(72)

or

$$ \dot{\chi } \le - \frac{{\mathbf{a}}}{2}\chi + \frac{{\mathbf{b}}}{2} $$
(73)

It follows that

$$ \chi \left( {\mathbf{t}} \right) \le {\mathbf{e}}^{{ - \frac{{{\mathbf{at}}}}{2}}} \chi \left( 0 \right) + \frac{{\mathbf{b}}}{{\mathbf{a}}}\left( {1 - {\mathbf{e}}^{ - } \frac{{{\mathbf{at}}}}{2}} \right) $$
(74)
$$ \mathop {\overline{{{\text{l}}{\mathbf{im}}}} }\limits_{{{\mathbf{t}} \to \infty }} \chi \left( {\mathbf{t}} \right) \le \frac{{\mathbf{b}}}{{\mathbf{a}}} $$
(75)

In particular \( \forall \delta > 0\exists {\mathbf{T}} > 0 \) s.t.,

$$ \chi \left( {\mathbf{t}} \right) \le \frac{{\mathbf{b}}}{{\mathbf{a}}} + \delta \forall\, {\mathbf{t}} \ge {\mathbf{T}} $$
(76)

Then

$$ \mathop {\overline{{{\text{l}}{\mathbf{im}}}} }\limits_{{{\mathbf{t}} \to \infty }} {\mathbf{V}}\left( {\mathbf{t}} \right) \le \frac{{{\mathbf{b}}^{2} }}{{{\mathbf{a}}^{2} }} $$
(77)

and so we get the least upper bound

$$ \mathop {\overline{{{\text{l}}{\mathbf{im}}}} }\limits_{{{\mathbf{t}} \to \infty }} {\mathbf{V}}\left( {\mathbf{t}} \right) \le \mathop { \hbox{min} }\limits_{{{\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}}}} \frac{{{\mathbf{b}}({\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}})^{2} }}{{{\mathbf{a}}({\mathbf{f}}_{12} ,{\mathbf{f}}_{22} ,{\mathbf{C}})^{2} }} $$
(78)

This equation guarantees that asymptotically, the disturbance estimate error can not go out of bounds. Therefore it is a partial stability result. Note that

$$ {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M^{\prime}}}\left( {{\mathbf{q}}_{2} } \right)\,{\text{is}}\,{\text{symmetric}}\,{\text{matrix}} $$
(79)

and the condition (48) \( {\text{for }}{\dot{\mathbf{V}}} = 0 \) can be guaranteed if

$$ \left( {\begin{array}{*{20}l} {{\mathbf{C}}^{{ - {\mathbf{T}}}} {\mathbf{F}}^{{\mathbf{T}}} + {\mathbf{FC}}^{ - 1} - {\varvec{\Gamma}}} \hfill & {{\mathbf{C}}^{{ - {\mathbf{T}}}} } \hfill \\ {{\mathbf{C}}^{ - 1} } \hfill & {\xi_{0}^{ - 1} \parallel {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}} '\left( {{\mathbf{q}}_{2} } \right)\parallel^{ - 1} {\mathbf{I}}_{2} } \hfill \\ \end{array} } \right) > 0 $$
(80)

Alternatively, (48) holds if

$$ {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{C}} + {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{F}} - {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}} '\left( {{\mathbf{q}}_{2} } \right){\dot{\mathbf{q}}}_{2} \ge {\mathbf{C}}^{{\mathbf{T}}} \varGamma{\mathbf{C}} $$
(81)

and this is guaranteed if

$$ \left( {\begin{array}{*{20}l} {{\mathbf{F}}^{{\mathbf{T}}} {\mathbf{C}} + {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{F}} - \xi_{0} \parallel {\mathbf{F}}^{{\mathbf{T}}} {\mathbf{M}} '\left( {{\mathbf{q}}_{2} } \right)\parallel^{ - 1} } \hfill & {{\mathbf{C}}^{{\mathbf{T}}} } \hfill \\ {\mathbf{C}} \hfill & {{\varvec{\Gamma}}^{ - 1} } \hfill \\ \end{array} } \right) > 0 $$
(82)

These conditions are stronger than \( {\dot{\mathbf{V}}} < 0. \)

They ensure that if the disturbance error estimate falls on a sphere of radius R, then \( {\dot{\mathbf{V}}} \) will be upper bounded by a negative number which increases with R. The two extra degree of freedom \( {\mathbf{f}}_{11} ,{\mathbf{f}}_{22} \,{\text{in}}\,{\mathbf{F}} \) gives us more flexibility in the choice of the Lyapunov matrix which in terms enable us to derive smaller upper bounds on the asymptotic value of the Lyapunov function \( V\left( t \right) \). This in turn leads us to smaller upper bounds on the disturbance error energy as compared to the existing bounds in the literature. Remark. Let \( {\mathbf{A}},{\mathbf{B}} > 0. \) Then a necessary sufficient condition for \( \left[ {\begin{array}{*{20}l} {\mathbf{A}} \hfill & {\mathbf{C}} \hfill \\ {{\mathbf{C}}^{{\mathbf{T}}} } \hfill & {\mathbf{B}} \hfill \\ \end{array} } \right] \) is thus

$$ \mathop { \hbox{min} }\limits_{{\mathbf{v}}} \left[ {{\mathbf{u}}^{T} ,{\mathbf{v}}^{T} } \right]\left[ {\begin{array}{*{20}l} {\mathbf{A}} \hfill & {\mathbf{C}} \hfill \\ {{\mathbf{C}}^{{\mathbf{T}}} } \hfill & {\mathbf{B}} \hfill \\ \end{array} } \right]\left[ {\begin{array}{*{20}l} {\mathbf{u}} \hfill \\ {\mathbf{v}} \hfill \\ \end{array} } \right] > 0 \quad \forall {\mathbf{u}} $$
(83)

i.e.

$$ \mathop { \hbox{min} }\limits_{{{\mathbf{v}}\left( {{\mathbf{u}}^{{\mathbf{T}}} {\mathbf{Au}} + 2{\mathbf{u}}^{{\mathbf{T}}} {\mathbf{Cv}} + {\mathbf{v}}^{{\mathbf{T}}} {\mathbf{Bv}}} \right) > 0}} \forall {\mathbf{u}} $$
(84)

Minimum is attained when

$$ {\mathbf{Bv}} = - {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{u}} $$
(85)

i.e.,

$$ {\mathbf{v}} = - {\mathbf{B}}^{ - 1} {\mathbf{C}}^{{\mathbf{T}}} {\mathbf{u}} $$
(86)

Thus

$$ \left[ {\begin{array}{*{20}l} {\mathbf{A}} \hfill & {\mathbf{C}} \hfill \\ {{\mathbf{C}}^{{\mathbf{T}}} } \hfill & {\mathbf{B}} \hfill \\ \end{array} } \right] > 0\,{\text{iff}} $$
(87)
$$ {\mathbf{u}}^{{\mathbf{T}}} \left( {{\mathbf{A}} - {\mathbf{CB}}^{ - 1} {\mathbf{C}}^{{\mathbf{T}}} } \right){\mathbf{u}} > 0\quad \forall {\mathbf{u}} \ne 0 $$
(88)

if

$$ {\mathbf{A}} - {\mathbf{CB}}^{ - 1} {\mathbf{C}}^{{\mathbf{T}}} > 0 $$
(89)

Remark

Adaptive update of \( \delta \hat{\theta } \):

We can update \( \delta \theta \) adoptively using the algorithm (LMS) \( \delta \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) = \delta \hat{\theta }\left( {\mathbf{t}} \right) - \mu \frac{\partial }{{\partial \delta \hat{\theta }\left( {\mathbf{t}} \right)}}\parallel {\mathbf{G}}\left( {{\mathbf{q}},\hat{\theta }\left( {\mathbf{t}} \right)} \right)({\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right) \)

$$ - {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }\left( {\mathbf{t}} \right)} \right)\quad - \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }\left( {\mathbf{t}} \right)} \right),\delta \hat{\theta }\left( {\mathbf{t}} \right))^{2} $$
(90)
$$ \hat{\theta }\left( {{\mathbf{t}} + {\varvec{\Delta}}} \right) = \hat{\theta }\left( {\mathbf{t}} \right) - \delta \hat{\theta }\left( {\mathbf{t}} \right). $$
(91)

This equation ensures that at each time step, the parameter estimate is changed so that the equation of motion with \( \theta_{0} \,{\text{replaced}}\,{\text{by}}\,\hat{\theta }\left( {\mathbf{t}} \right) \), is satisfied to a better degree of approximation.

7 Performance analysis of the proposed parameter estimator

7.1 CRLB for parameter estimation \( \left( {\partial \hat{\theta }\left( t \right)} \right) \)

The CRLB sets a lower bound on the variance of any unbiased estimator. We can find a minimum variance unbiased estimator and it achieves the lower bound. The bound states that the variance of any unbiased estimator is at least as high as the inverse of the Fisher information. The CRLB for the parametric uncertainty \( \partial \theta \) has been obtained by linearizing the dynamic system about \( \hat{\theta }\,{\text{when}}\,\hat{\theta } \) is the given value of the parameter and \( \theta_{0} = \hat{\theta } - \partial \theta \) is the true parameter vector. The log-likelihood function of the given measurements \( {\mathbf{q}}\left( {\mathbf{t}} \right) \) over a given time range, is thus obtained as a linear quadratic form in \( \partial \theta \) assuming white Gaussian noise present in the dynamical system.The Fisher information matrix for, \( \partial \theta \) is easily computed from the log-likelihood function with the exceptions evaluated using a linearized theory in which the trajectory perturbations \( \partial {\mathbf{q}}\left( {\mathbf{t}} \right) \) in the presence of noise follow a linear differential equation with coefficients being functions of the noiseless trajectory. \( \partial {\mathbf{q}}\left( {\mathbf{t}} \right) \) is therefore a Gaussian process and its mean and covariance are easily determined from the linearized dynamical equations. The fisher information matrix is thus easily obtained. The approximate CRLB parameter here is only for the sake of completeness. Assuming that the disturbance observe is not incorporated we have

$$ \begin{aligned} {\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right) & = {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }\left( {\mathbf{t}} \right)} \right) - \frac{{\partial {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)}}{\partial \theta }\delta \theta \\ & \quad + {\mathbf{G}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }} \right){\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \\ \end{aligned} $$
(92)

and hence assuming \( \left\{ {{\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right\} \) to be zero mean. While Gaussian with spectral density \( \sigma_{{\mathbf{d}}}^{2} {\mathbf{I}}_{2} , \) we get the log-likelihood function for \( \delta \hat{\theta } \) based on \( \left\{ {q\left( t \right):0 \le t \le T} \right\} \) as

$$ \begin{aligned} & - \log {\mathbf{p}}({\mathbf{q}}\left( {\mathbf{t}} \right):0 \le {\mathbf{t}} \le {\mathbf{T}}|\delta \theta ) = \frac{1}{{2\sigma_{{\mathbf{d}}}^{2} }}\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbf{G}}({\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }\left( {\mathbf{t}} \right))^{ - 1} ({\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right) - {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }\left( {\mathbf{t}} \right)} \right) \\ & - \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }\left( {\mathbf{t}} \right)} \right)\delta \theta )^{2} {\mathbf{dt}} + {\text{terms\,independents\,of}}\,\delta \theta \\ \end{aligned} $$

The Fisher information matrix for \( \delta \hat{\theta }\left( {\mathbf{T}} \right) \) is thus

$$ {\mathbf{J}}_{{{\mathbf{F}}\left( {\delta \theta } \right)}} = - {\mathbb{E}}\left\{ {\frac{{\partial^{2} }}{{\partial \delta \theta \partial \delta \theta^{{\mathbf{T}}} }}{ \log }{\mathbf{p}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right):0 \le {\mathbf{t}} \le {\mathbf{T}}\left| {\delta \theta } \right|} \right)} \right\} $$
(93)
$$ \begin{aligned} & = - \frac{1}{{\sigma_{{\mathbf{d}}}^{2} }}\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)} \right)} \right.^{{\mathbf{T}}} \\ & \quad \times \left. {\left( {{\mathbf{G}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }} \right){\mathbf{G}}^{{\mathbf{T}}} \left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }} \right)} \right)^{ - 1} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)} \right)} \right\}{\mathbf{dt}}. \\ \end{aligned} $$
(94)

To evaluate this expectation approximately, we assume that \( \left\{ {{\mathbf{q}}_{{0\left( {\mathbf{t}} \right)}} ,0 \le {\mathbf{t}} \le {\mathbf{T}}} \right\} \) is the solution with

\( \delta \theta = \hat{\theta } - \theta_{0} \quad {\text{and}}\quad {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \equiv 0 \), i.e.

$$ \begin{aligned} {\ddot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right) & = {\mathbf{F}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right) \\ & \quad - \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)\delta \theta \\ \end{aligned} $$
(95)
$$ \equiv {\mathbf{F}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\theta_{0} } \right) $$
(96)

Let \( \Delta{\mathbf{q}}\left( {\mathbf{t}} \right) = {\mathbf{q}}\left( {\mathbf{t}} \right) - {\mathbf{q}}_{0} \left( {\mathbf{t}} \right)\,{\text{be}}\,{\text{the}}\,{\text{change}}\,{\text{is}}\,{\mathbf{q}}\,{\text{due}}\,{\text{to}}\,{\text{noise}}\,{\mathbf{d}}_{{\mathbf{i}}} \,\left( {\mathbf{t}} \right) \). Then we have approximately that

$$ \begin{aligned} \Delta \ddot{{\mathbf{q}}}\left( {\mathbf{t}} \right) & = \frac{{\partial {\mathbf{F}}}}{{\partial {\mathbf{q}}}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\theta_{0} } \right)\Delta {\mathbf{q}}\left( {\mathbf{t}} \right) \\ & \quad + \frac{{\partial {\mathbf{F}}}}{{\partial {\dot{\mathbf{q}}}}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\theta_{0} } \right)\Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right) \\ & \quad + {\mathbf{G}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),\theta_{0} } \right){\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \\ \end{aligned} $$
(97)

or equivalently

$$ \frac{{\mathbf{d}}}{{{\mathbf{dt}}}}\left[ {\begin{array}{*{20}l} {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right)} \hfill \\ {\Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right)} \hfill \\ \end{array} } \right] = \left[ {\begin{array}{*{20}l} {0_{2} } \hfill & {{\mathbf{I}}_{2} } \hfill \\ {{\mathbf{P}}\left( {\mathbf{t}} \right)} \hfill & {{\mathbf{Q}}\left( {\mathbf{t}} \right)} \hfill \\ \end{array} } \right]\left[ {\begin{array}{*{20}l} {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right)} \hfill \\ {\Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right)} \hfill \\ \end{array} } \right] + \left[ {\begin{array}{*{20}l} {0_{2} } \hfill \\ {{\mathbf{G}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),\theta_{0} } \right)} \hfill \\ \end{array} } \right]{\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) $$
(98)

where

$$ {\mathbf{P}}\left( {\mathbf{t}} \right) = \frac{{\partial {\mathbf{F}}}}{{\partial {\mathbf{q}}}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\theta } \right) $$
(99)
$$ {\mathbf{Q}}\left( {\mathbf{t}} \right) = \frac{{\partial {\mathbf{F}}}}{{\partial {\dot{\mathbf{q}}}}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),{\mathbf{t}},\theta } \right) $$
(100)

Let \( \phi \left( {{\mathbf{t}},\tau } \right)\,{\text{denote}}\,{\text{the}}\,{\text{state}}\,{\text{transition}}\,{\text{matrix}}\,{\text{of }} \) (98). Then

$$ \left[ {\begin{array}{*{20}l} {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right)} \hfill \\ {\Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right)} \hfill \\ \end{array} } \right] = \mathop \int \limits_{0}^{{\mathbf{t}}} {\varvec{\Phi}}\left( {{\mathbf{t}},\tau } \right)\left[ {\begin{array}{*{20}l} {0_{2} } \hfill \\ {{\mathbf{G}}\left( {{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),\theta_{0} } \right)} \hfill \\ \end{array} } \right]{\mathbf{d}}\left( \tau \right){\mathbf{d}}\tau $$
(101)

Writing

$$ {\varvec{\Psi}}\left( {{\mathbf{t}},{\mathbf{q}},{\dot{\mathbf{q}}},\hat{\theta }} \right) \le \frac{1}{{\sigma_{{\mathbf{d}}}^{2} }}\left[ {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)} \right]^{{\mathbf{T}}} ({\mathbf{GG}} ')^{ - 1} \left[ {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}},{\dot{\mathbf{q}}},{\mathbf{t}},\hat{\theta }} \right)} \right] $$
(102)

Then

$$ {\mathbf{J}}_{{\mathbf{F}}} \left( {\delta \theta } \right) = \mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {{\varvec{\Psi}},\left( {{\mathbf{t}},{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\hat{\theta }} \right)} \right\}{\mathbf{dt}} $$
(103)
$$ \begin{aligned} & \approx \mathop \int \limits_{0}^{{\mathbf{T}}} {\varvec{\Psi}}\left( {{\mathbf{t}},{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),\hat{\theta }} \right){\mathbf{dt}} \\ & \quad + \frac{1}{2}\mathop \sum \limits_{\alpha ,\beta } \mathop \int \limits_{0}^{{\mathbf{T}}} \frac{{\partial^{2} {\varvec{\Psi}}\left( {{\mathbf{t}},{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),\hat{\theta }} \right)}}{{\partial {\mathbf{q}}_{\alpha } \partial {\mathbf{q}}_{\beta } }}{\mathbb{E}}\Delta {\mathbf{q}}_{\alpha } \left( {\mathbf{t}} \right),\Delta {\mathbf{q}}_{\beta } \left( {\mathbf{t}} \right)\} {\mathbf{dt}} \\ & \quad + \mathop \sum \limits_{\alpha ,\beta } \mathop \int \limits_{0}^{{\mathbf{T}}} \frac{{\partial^{2} {\varvec{\Psi}}\left( {{\mathbf{t}},{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),\hat{\theta }} \right)}}{{\partial {\dot{\mathbf{q}}}_{\alpha } \partial {\dot{\mathbf{q}}}_{\beta } }}{\mathbb{E}}\left\{ {\Delta \dot{{\mathbf{q}}}_{\alpha } \left( {\mathbf{t}} \right),\Delta \dot{{\mathbf{q}}}_{\beta } \left( {\mathbf{t}} \right)} \right\}{\mathbf{dt}} \\ & \quad + 2\mathop \sum \limits_{\alpha ,\beta } \mathop \int \limits_{0}^{{\mathbf{T}}} \frac{{\partial^{2} {\varvec{\Psi}}\left( {{\mathbf{t}},{\mathbf{q}}_{0} \left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}_{0} \left( {\mathbf{t}} \right),\hat{\theta }} \right)}}{{\partial {\mathbf{q}}_{\alpha } \partial {\mathbf{q}}_{\beta } }}{\mathbb{E}}\left\{ {\Delta {\mathbf{q}}_{\alpha } \left( {\mathbf{t}} \right),\Delta \dot{{\mathbf{q}}}_{\beta } \left( {\mathbf{t}} \right)} \right\}{\mathbf{dt}} \\ \end{aligned} $$
(104)

The condition \( {{\mathbb{E}}\Delta }q_{\alpha } \left( t \right)\Delta q_{\beta } \left( t \right),{{\mathbb{E}}\Delta }\dot{q}_{\alpha } \left( t \right)\Delta \dot{q}_{\beta } \left( t \right) \) and \( {{\mathbb{E}}\Delta }q_{\alpha } \left( t \right),\Delta \dot{q}_{\beta } \left( t \right) \) in the expression can easily be evaluated by solving the linear differential equation (98) which in term involves evaluating the time varying state transition matrix corresponding to \( \left[ {\begin{array}{*{20}l} {0_{2} } \hfill & {{\mathbf{I}}_{2} } \hfill \\ {{\mathbf{P}}\left( {\mathbf{t}} \right)} \hfill & {{\mathbf{Q}}\left( {\mathbf{t}} \right)} \hfill \\ \end{array} } \right] \) using the Dyson series, So

$$ \Delta {\mathbf{q}}\left( {\mathbf{t}} \right) = \mathop \int \limits_{0}^{{\mathbf{t}}} \phi_{12} \left( {{\mathbf{t}},\tau } \right){\mathbf{G}}_{0} \left( {{\mathbf{q}}_{0} \left( \tau \right),\theta_{0} } \right){\mathbf{d}}\left( \tau \right){\mathbf{d}}\tau $$
(105)
$$ \Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right) = \mathop \int \limits_{0}^{{\mathbf{t}}} {\varvec{\Phi}}_{22} \left( {{\mathbf{t}},\tau } \right){\mathbf{G}}_{0} \left( {{\mathbf{q}}_{0} \left( \tau \right),\theta_{0} } \right){\mathbf{d}}\left( \tau \right){\mathbf{d}}\tau $$
(106)
$$ \left( {\left( {{\mathbb{E}}\left( {\Delta {\mathbf{q}}_{\alpha } \left( {\mathbf{t}} \right)\Delta {\mathbf{q}}_{{\beta \left( {\mathbf{t}} \right)}} } \right)} \right)} \right)_{1 \le \alpha ,\beta \le 2} = {\mathbb{E}}\left\{ {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right){\varvec{\Delta}}.{\mathbf{q}}({\mathbf{t}})^{{\mathbf{T}}} } \right\} $$
(107)
$$ = \sigma_{{\mathbf{d}}}^{2} \mathop \int \limits_{0}^{{\mathbf{t}}} {\varvec{\Phi}}_{12} \left( {{\mathbf{t}},\tau } \right){\mathbf{G}}_{0} \left( {{\mathbf{q}}_{0} \left( \tau \right),\theta_{0} } \right){\mathbf{G}}_{0} ({\mathbf{q}}_{0} \left( \tau \right),\hat{\theta })^{{\mathbf{T}}} {\varvec{\Phi}}_{12} ({\mathbf{t}},\tau )^{{\mathbf{T}}} {\mathbf{d}}\tau $$
(108)
$$ {\mathbf{E}}\left( {\Delta \dot{{\mathbf{q}}}_{\alpha } \left( {\mathbf{t}} \right)\Delta \dot{{\mathbf{q}}}_{{\beta \left( {\mathbf{t}} \right)}} } \right) = {\mathbb{E}}\left\{ {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right).\Delta {\mathbf{q}}({\mathbf{t}})^{{\mathbf{T}}} } \right\} $$
(109)
$$ = \sigma_{{\mathbf{d}}}^{2} \mathop \int \limits_{0}^{{\mathbf{t}}} {\varvec{\Phi}}_{22} \left( {{\mathbf{t}},\tau } \right){\mathbf{G}}_{0} \left( {{\mathbf{q}}_{0} \left( \tau \right),\theta_{0} } \right){\mathbf{G}}_{0} ({\mathbf{q}}_{0} \left( \tau \right),\theta_{0} )^{{\mathbf{T}}} {\varvec{\Phi}}_{22} ({\mathbf{t}},\tau )^{{\mathbf{T}}} {\mathbf{d}}\tau $$
(110)

So

$$ \text{ }(\left( {{\mathbb{E}}\left( {\Delta {\mathbf{q}}_{\alpha } \left( {\mathbf{t}} \right)\Delta \dot{{\mathbf{q}}}_{\beta } \left( {\mathbf{t}} \right)} \right)} \right) = {\mathbb{E}}\left\{ {\Delta {\mathbf{q}}\left( {\mathbf{t}} \right)\Delta \dot{{\mathbf{q}}}\left( {\mathbf{t}} \right)} \right\} $$
(111)
$$ = \mathop \int \limits_{0}^{{\mathbf{t}}} {\varvec{\Phi}}_{12} \left( {{\mathbf{t}},\tau } \right){\mathbf{G}}_{0} ({\mathbf{q}}_{0} \left( \tau \right),\theta_{0} )^{{\mathbf{T}}} {\varvec{\Phi}}_{22} ({\mathbf{t}},\tau )^{{\mathbf{T}}} {\mathbf{d}}\tau $$
(112)

In order to evaluate the expectations approximately in the CRLB, we require expressions for the statistical correlations in the position deviations and velocity deviations from the non-random components of the positions and angular velocities. In what follows, we evaluate these correlations using a linearized state variable model for the robot dynamics.

7.2 General comparison of MLE variance with CRLB

Consider the dynamical system

$$ {\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right) = {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\theta_{0} } \right) + {\mathbf{G}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\theta_{0} } \right){\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) $$
(113)

where \( \theta_{0} \,{\text{is}}\,{\text{an}}\,{\text{unknown}}\,{\text{parameter}}\,{\text{vector}}\,{\text{and}}\,{\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) - {\hat{\mathbf{d}}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)\,{\text{is}}\,{\text{WGN}} .\,{\text{Then}}\,{\text{MLE}}\,{\text{of}}\,\theta_{0} \) is:

$$ \begin{aligned} \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) & = \mathop {{\text{a}}{\mathbf{rgmin}}}\limits_{\theta } \mathop \int \limits_{0}^{{\mathbf{T}}} \left\| {{\mathbf{G}}({\mathbf{q}}\left( {\mathbf{t}} \right),\theta )^{ - 1} ({\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right)} \right. \\ & \quad - {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right){\mathbf{t}},\theta } \right)\left\| {^{2} } \right.dt \\ \end{aligned} $$
(114)

Our algorithm determines an adaptive scheme for computing \( \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) \) or detecting with T. Suppose we use \( \hat{\theta } \) as an inherent sense and write \( \theta_{0} \approx \hat{\theta } - \delta \theta \), thus from the dynamics

$$ \begin{aligned} {\ddot{\mathbf{q}}} & \approx {\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right){\mathbf{t}},\hat{\theta }} \right) - \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)\delta \theta \\ & \quad + {\mathbf{G}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }} \right){\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \\ \end{aligned} $$
(115)

To estimate \( \theta_{0} \,{\text{better}}\,{\text{we}}\,{\text{need}}\,{\text{to}}\,{\text{estimate}}\,\delta \theta_{0} \) and this is obtained from

$$ \begin{aligned} \delta \theta_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) & = \mathop {{\text{a}}{\mathbf{rgmin}}}\limits_{\delta \theta } \mathop \int \limits_{0}^{{\mathbf{T}}} \left\| {{\mathbf{G}}({\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta })^{ - 1} ({\ddot{\mathbf{q}}}\left( {\mathbf{t}} \right)} \right.\parallel \\ & \quad - \left. {{\mathbf{F}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right) + \frac{{\partial {\mathbf{F}}}}{\partial \theta }\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right)\delta \theta )} \right\|^{2} {\mathbf{dt}} \\ \end{aligned} $$
(116)

This minimization leads to a linear equation for \( \delta \theta \) which we have solved above. On the other hand, the CRLB for \( \delta \theta \) is given by

$$ \sigma_{{\mathbf{d}}}^{2} \left( {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\frac{{\partial {\mathbf{F}}}}{\partial \theta }({\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),\hat{\theta })^{{\mathbf{T}}} ({\mathbf{G}}\left( {{\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta }} \right){\mathbf{G}}^{{\mathbf{T}}} ({\mathbf{q}}\left( {\mathbf{t}} \right),\hat{\theta })^{ - 1} \frac{{\partial {\mathbf{F}}}}{{\partial {\mathbf{q}}}}({\mathbf{q}}\left( {\mathbf{t}} \right),{\dot{\mathbf{q}}}\left( {\mathbf{t}} \right),{\mathbf{t}},\hat{\theta }} \right\}{\mathbf{dt}}} \right)^{ - 1} $$
(117)

We need to compare this with the covariance of \( \delta \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) \) which is given by

$$ \begin{aligned} \delta \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) & = \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }{\mathbf{dt}}} \right]^{ - 1} \\ & \quad \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \left( {{\ddot{\mathbf{q}}} - {\mathbf{F}}} \right){\mathbf{dt}}} \right] \\ \end{aligned} $$
(118)

Under the ergodic hypothesis, time average can be replaced by ensemble averages and hence

$$ \begin{aligned} & \mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{f}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right){\mathbf{dt}} \\ & \quad \approx \mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left( {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right){\mathbf{dt}} \\ \end{aligned} $$
(119)

Also

$$ {\ddot{\mathbf{q}}} - {\mathbf{F}} \approx \frac{{\partial {\mathbf{F}}}}{\partial \theta }\delta \theta + {\mathbf{Gd}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) $$
(120)

so

$$ \begin{aligned} \delta \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) & \approx {\mathbf{T}}^{ - 1} \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} \\ & \quad \times \left[ {\mathop \int \limits_{0}^{{\mathbf{t}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }\delta \theta + {\mathbf{Gd}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right)} \right){\mathbf{dt}}} \right] \\ \end{aligned} $$
(121)

Again under the ergodic hypothesis this becomes

$$ \begin{aligned} \delta \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right) & \approx \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} {\mathbf{GG}}^{{\mathbf{T}}} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} \\ & \quad \times \left[ {\begin{array}{*{20}c} {{\mathbf{T}}^{ - 1} \mathop \int \limits_{0}^{{\mathbf{T}}} E\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}dt\delta \theta } \\ { + \mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {G{\mathbf{G}}^{{\mathbf{T}}} } \right)^{ - 1} G{\mathbf{d}}_{{\mathbf{i}}} \left( t \right)dt} \\ \end{array} } \right] \\ & = \delta \theta + \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} \\ \end{aligned} $$
(122)
$$ \mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} {\mathbf{Gd}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right){\mathbf{dt}} $$
(123)

and hence

$$ {\mathbb{E}}\left\{ {\delta \theta_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right)} \right\} \approx \delta \theta $$
(124)

And

$$ \begin{aligned} {\mathbf{Cov}}\left( {\delta \hat{\theta }_{{{\mathbf{ML}}}} \left( {\mathbf{T}} \right)} \right) & = {\mathbf{Cov}}\left\{ {\left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }{\mathbf{dt}}} \right\}} \right]^{ - 1} } \right. \times \left. {\left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} \left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} ({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} {\mathbf{Gd}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right){\mathbf{dt}}} \right]} \right\} \\ & = \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} ({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} \times \left[ {\sigma^{2} \mathop \int \limits_{0}^{{\mathbf{T}}} \left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} ({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} \left( {{\mathbf{GG}}^{{\mathbf{T}}} } \right)({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }{\mathbf{dt}}} \right\}} \right] \\ & \quad \times \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} ({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} = \sigma_{{\mathbf{d}}}^{2} \left[ {\mathop \int \limits_{0}^{{\mathbf{T}}} {\mathbb{E}}\left\{ {\left( {\frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right)^{{\mathbf{T}}} ({\mathbf{GG}}^{{\mathbf{T}}} )^{ - 1} \frac{{\partial {\mathbf{F}}}}{\partial \theta }} \right\}{\mathbf{dt}}} \right]^{ - 1} \\ \end{aligned} $$
(125)

Which is the CRLB. Thus under the ergodic hypothesis, we have proved that our ML estimates (112) performs effectively in accordance with the CRLB (125), i.e., ergodic hypothesis \( {\mathbf{Cov}}\left\{ {\delta \hat{\theta }_{{\mathbf{M}}} {\mathbf{L}}\left( {\mathbf{T}} \right)} \right\} \approx {\mathbf{CRLB}}\,{\text{for}}\,{\text{all}}\,{\text{estimates}}. \) In order to evaluate the exceptions approximately in the CRLB, we require expressions for the statistical correlations in the position deviations and velocity deviations from the non-random components of the position and velocity.

8 Simulation and results

For ease of simplicity, a two link revolute joint robot with mass \( \left( m \right)\,{\text{and}}\,{\text{length}}\,\left( a \right) \) is considered in this study. The dynamics of this manipulator is as below: \( M = \left[ {m_{11} m_{12} ;m_{21} m_{22} } \right]; N = \left[ {N_{1} , N_{2} } \right] \)

Where \( m_{11} = \left( {m_{1} + m_{2} } \right) \times a_{1}^{2} + m_{2} \times a_{2}^{2} + 2 \times m_{2} \times a_{1} \times a_{2} \times \text{cos}\left( {q_{2} } \right) \);

\( m_{12} = m_{2} \times a_{2}^{2} + m_{2} \times a_{1} \times a_{2} \times \text{cos}\left( {q_{2} } \right);m_{21} = m_{12} ;m_{22} = m_{2} \times a_{2}^{2} \); \( N_{1} = - m_{2} \times a_{1} \times a_{2} \times \left( {2 \times \dot{q}_{1} \times \dot{q}_{2} + \dot{q}_{2}^{2} } \right) \times \text{sin}\left( {q_{2} } \right) + \left( {m1 + m2} \right) \times g \times a1 \times \text{cos}\left( {q_{1} } \right) + m2 \times g \times a2 \times \text{cos}\left( {q_{1} + q_{2} } \right)m_{2} \times a_{1} \times a_{2} \times \dot{q}_{1}^{2} \times \text{sin}\left( {q_{2} } \right) + m2 \times g \times a2 \times \text{cos}\left( {q_{1} + q_{2} } \right); \) \( {\text{Here }}\theta_{0} = m. \)

Two types of disturbances are exerted on the robot, namely Normal Sinusoidal tracking disturbance corrupted by noise whose distribution is Gaussian (Normally distributed pseudorandom; randn function in Matlab®) as shown in figures 2 and 3. This is more generalized form of the disturbances as compared to[1,2,3]. \( di_{1} = 0.03 \times sin\left( {\pi \times t} \right) + 0.003 \times randn; \) \( di_{2} = 0.03 \times sin\left( {\pi \times t} \right) + 0.003 \times randn; \) The reference trajectory provided for the joints of robots are given by (126) and shown in figures 3 and 4 respectively.

Figure 2
figure 2

Performance graph of reference trajectory vs. proposed algorithm - Joint 1 Trajectory.

Figure 3
figure 3

Performance-Joint 1 Tracking error.

Figure 4
figure 4

Performance-Joint 2 Trajectory.

$$ q_{d} = Amp1 \times \text{sin}\left( {\pi \times t} \right); $$
(126)

For joint tracking acceleration controller is applied and is designed as

$$ \begin{aligned} \tau \left( {\mathbf{t}} \right) & = {\hat{\mathbf{M}}}\left( {{\hat{\mathbf{q}}},\hat{\theta }} \right)\left( {{\ddot{\mathbf{q}}}_{{\mathbf{d}}} } \right) + {\mathbf{K}}_{{\mathbf{d}}} \left( {{\dot{\mathbf{q}}}_{{\mathbf{d}}} - {\mathbf{q}}} \right) + {\mathbf{K}}_{{\mathbf{p}}} \left( {{\mathbf{q}}_{{\mathbf{d}}} - {\mathbf{q}}} \right) \\ & \quad + {\mathbf{N}}\left( {{\mathbf{q}},{\dot{\mathbf{q}}},\hat{\theta }} \right) + {\mathbf{d}}_{{\mathbf{i}}} \left( {\mathbf{t}} \right) \\ \end{aligned} $$
(127)

It is evident by figures 4 and 5 that the actual trajectory is following the desired trajectory by the proposed method. As per figures 3 and 5 the joint tracking error RMS values are in the range of \( 10^{ - 4} \) by the proposed method. Initially, this error is very high due to error in mass estimation but after some time it stabilized after correct mass estimation.

Figure 5
figure 5

Performance-Joint 2 Tracking error.

Table 3 of [1] depicts the simulation results of SCARA industrial robot while table 6 of [1] depicts the experimental results of Phantom Robot. As per these tables, the minimum tracking error is in the range of \( 10^{ - 3} \).

These errors as mentioned in [1] is also without white Gaussian noise. So the results of the proposed method are superior compared to the three methods as mentioned above. It is evident by figures 6 and 7 that estimated disturbance trajectory is successfully following the actual disturbance trajectory with white Gaussian noise by the proposed method.

Figure 6
figure 6

Performance-Joint 1 Disturbance trajectory.

Figure 7
figure 7

Performance-Joint 1 Disturbance Tracking error.

As per figures 8 and 9 the disturbance trajectory error RMS values are in the range of \( 10^{ - 3} \) by the proposed method. As proposed method is also simultaneously estimating the mass of the link, initially the error is high but after some time it stabilized.

Figure 8
figure 8

Performance-Joint 2 Disturbance Trajectory.

Figure 9
figure 9

Performance-Joint 2 Disturbance Tracking error.

Table 4 of [1] depicts the simulation results of SCARA industrial robot while table 7 of [1] depicts the experimental results of Phantom Robot. As per these tables the minimum error is in the range of \( 10^{ - 3} \).

Also this error is without mass estimation and random noise. So results of the proposed method are superior compare to the three methods as mentioned above.

The reason being that at each time step t, we estimate \( {\text{d}}_{\text{i}} ( {\text{t)}}\,{\text{as}}\, {\hat{\text{d}}}_{\text{i}} ( {\text{t) }} \)using the disturbance observer. Then we subtract it from the input control torque.

This is equivalent to giving a torque \( \uptau{\text{ + d}}_{\text{i}} ({\text{t}}) - \hat{\text{d}}_{\text{i}} ( {\text{t)}} \) for the next iteration and the robot moves to \( {\text{q(t + dt)}} \) based on this disturbance torque.

Figures 10 and 11 depict the actual and estimated mass of link 1 and link 2, respectively. From these figures it is clear that the proposed MLE technique with disturbance observer is correctly estimating the mass of the links. So the proposed method successfully simultaneously tracking the position trajectory and disturbance trajectory with mass estimation.

Figure 10
figure 10

Performance-Link 1 Mass Estimation.

Figure 11
figure 11

Performance-Link 2 Mass Estimation.

9 Conclusion

A new systematic disturbance observer design method for manipulators has been proposed in this paper. The nonlinear disturbance observers with convergence and unknown parameter estimation unified in the proposed general framework. The proposed design method guarantees convergence of the observer tracking error to the origin with an exponential rate in the case of bounded disturbances. The parameter estimation was achieved using MLE with internal disturbance and white Gaussian noise and in addition, the CRLB for this statistical model has been evaluated for comparison with the proposed ML estimator. The MLE is for the parameter error is equivalent to the least squares estimator in view of the white Gaussianity of the noise. Simulation study on a manipulator demonstrated the superior performance of the developed novel approach as compare to other methods from literature. While the performance of the proposed method has been verified through simulation, the experimental verification will be the goal of future work. To get more accurate tracking, we can introduce a nonlinearity in the feedback loop in the form of second order Volterra feedback. Then the error energy to be optimized will be a function of the input forcing signal and the first and second order feedback kernels.