Robotics » "International Journal of Advanced Robotic Systems", ISSN 1729-8806, Published: December 1, 2011 under CC BY 3.0 license. © The Author(s).

Derivative-free Nonlinear Kalman Filtering for MIMO Dynamical Systems: Applications to Multi-DOF Robotic Manipulators

By Gerasimos G. Rigatos
Regular Paper
DOI: 10.5772/10679

Article top

Overview

Schematic diagram of the EKF loop
Figure 1. Schematic diagram of the EKF loop
A 2-DOF rigid-link robotic manipulator or equivalently
Figure 2. A 2-DOF rigid-link robotic manipulator or equivalently
Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Figure 3. Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Figure 4. Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Figure 5. Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Figure 6. Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Figure 7. Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Figure 8. Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Figure 9. Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Figure 10. Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Figure 11. Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Figure 12. Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)
Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Figure 13. Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)
Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint
Figure 14. Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint

Derivative-Free Nonlinear Kalman Filtering for MIMO Dynamical Systems – Application to Multi-DOF Robotic Manipulators

Gerasimos G. Rigatos1, 2
Show details

Abstract

The paper proposes derivative-free nonlinear Kalman Filtering for MIMO nonlinear dynamical systems. The considered nonlinear filtering scheme which is based on differential flatness theory extends the class of systems to which Kalman Filtering can be applied without the need for calculation of Jacobian matrices. To deduce if a dynamical system is differentially flat, the following should be examined: (i) the existence of the flat output, which is a variable that can be written as a function of the system’s state variables (ii) the system’s state variables and the input can be written as functions of the flat output and its derivatives. Nonlinear systems satisfying the differential flatness property can be written in the Brunovsky form via a transformation of their state variables and control inputs. After transforming the nonlinear system to the canonical form it is straightforward to apply the standard Kalman Filter recursion. The performance of the proposed derivative-free nonlinear filtering scheme is tested through simulation experiments on benchmark nonlinear multi-input multi-output dynamical systems, such as robotic manipulators.

Keywords: derivative-free nonlinear filtering, Kalman Filtering, differentially flat nonlinear systems, MIMO dynamical systems, observer canonical form

1. Introduction

State estimation of nonlinear dynamical systems with the use of filters is a significant topic in the area of mechatronics since it can provide improved methods for sensorless control and fault diagnosis of actuators and electromechanical systems. For nonlinear systems, and under the assumption of Gaussian noise, the Extended Kalman Filter (EKF) is frequently applied for estimating the non-measurable state variables through the processing of input and output sequences (Kamen Su 1999), (Basseville Nikiforov 1993), (Ng 2003), (Harris et al. 2002). The EKF is based on linearization of the nonlinear system dynamics using a first order Taylor expansion (Xiong 2008), (Rigatos Tzafestas 2007), (Rigatos and Zhang 2001), (Rigatos 2008a), (Rigatos 2009). Although EKF is efficient in several estimation problems, it is characterized by cumulative errors due to the local linearization assumption and this may affect the accuracy of the state estimation or even risk the stability of the observer-based control loop.

Aiming at finding more efficient implementations of nonlinear Kalman Filtering, in this paper a derivative-free approach to Kalman filtering is introduced and applied to state estimation-based control of a class of MIMO nonlinear dynamical systems. In the proposed derivative-free Kalman Filtering method the system is first subject to a linearization transformation that is based on the differential flatness theory and next state estimation is performed by applying the standard Kalman Filter recursion to the linearized model. Unlike EKF, the proposed method provides estimates of the state vector of the nonlinear system without the need for derivatives and Jacobians calculation. By avoiding linearization approximations, the proposed filtering method improves the accuracy of estimation of the system state variables, and results in smooth control signal variations and in minimization of the tracking error of the associated control loop. The paper extends the results of (Rigatos 2010a), (Rigatos 2011a), (Rigatos 2011b) towards multi-input multi-output (MIMO) nonlineal dynamical systems.

Differential flatness theory is currently a main direction in the analysis of nonlinear dynamical systems (Rudolph 2003), (Sira-Ramirez and Agrawal 2004), (Rigatos 2011c). To deduce if a dynamical system is differentially flat, the following should be examined: (i) the existence of the so-called flat output, i.e. a new variable which is expressed as a function of the system’s state variables. It should hold that the flat output and its derivatives should not be coupled in the form of an ordinary differential equation, (ii) the components of the system (i.e. state variables and control input) should be expressed as functions of the flat output and its derivatives (Fliess Mounier 1999), (Làine 2011), (Martin Rouchon 1999), (Rigatos 2010b), (Villagra et al. 2007), (Laroche et al. 2007). In certain cases the differential flatness theory enables transformation to a linearized form (canonical Brunovsky form) for which the design of the controller becomes easier. In other cases by showing that a system is differentially flat one can easily design a reference trajectory as a function of the so-called flat output and can find a control law that assures tracking of this desirable trajectory (Fliess Mounier 1999)), (Villagra et al. 2007). This paper is concerned with differentially flat MIMO nonlinear dynamical systems which after applying the differential flatness theory can be written in the Brunovksy (canonical) form (Martin Rouchon 1999).

The structure of the paper is as follows: In Section 2 state estimation for nonlinear dynamical systems with the use of the Extended Kalman Filter is explained. In Section 3 the concept of differential flatness for MIMO nonlinear dynamical systems is analyzed. In Section 4 derivative-free Kalman Filtering for nonlinear dynamical systems is introduced. In Section 5 the use of the differential flatness theory for transforming MIMO nonlinear dynamical systems in the canonical (Brunovsky) form and for designing MIMO derivative-free Kalman Filters is explained. As a case study the model of a 2-DOF rigid-link robotic manipulator is used. In Section 6 simulation tests are carried out to evaluate the performance of the derivative-free nonlinear Kalman Filter in the model of a 2-DOF rigid-link robotic manipulator. Finally, in Section 7 concluding remarks are stated.

2. Extended Kalman Filtering for nonlinear dynamical systems

2.1. The continuous-time Kalman Filter for the Linear State Estimation Model

First, the continuous-time dynamical system of Eq. (1) is assumed (Rigatos Tzafestas 2007):

(x˙(t)=Ax(t)+Bu(t)+w(t),tt0z(t)=Cx(t)+v(t),tt0
(1)

where xRm×1 is the system’s state vector, and zRp×1 is the system’s output. Matrices A, B and C can be time-varying and w(t), v(t) are uncorrelated white Gaussian noises. The covariance matrix of the process noise w(t) is Q(t), while the covariance matrix of the measurement noise is R(t). Then, the Kalman Filter is a linear state observer which is given by

(x^˙=Ax^+Bu+K[zCx^],x^(t0)=0K(t)=PCTR1P˙=AP+PAT+QPCTR1CP
(2)

where x^(t) is the optimal estimation of the state vector x(t) and P(t) is the covariance matrix of the state vector estimation error with P(t0)=P0. The Kalman Filter consists of the system’s state equation plus a corrective term K[zCx^]. The selection of gain K corresponds actually to the solution of an optimization problem. This is expressed as the minimization of a quadratic cost functional and is performed through the solution of a Riccati equation. In that case the observer’s gain K is calculated by K=PCTR1 considering an optimal control problem for the dual system (AT,CT), where the covariance matrix of the estimation error P is found by the solution of a continuous-time Riccati equation of the form

P˙=AP+PAT+QPCTR1CP
(3)

where matrices Q and R stand for the process and measurement noise covariance matrices, respectively.

2.2. The discrete-time Kalman Filter for linear dynamical systems

In the discrete-time case a dynamical system is assumed to be expressed in the form of a discrete-time state model (Rigatos Tzafestas 2007), (Rigatos 2010b):

x(k+1)=A(k)x(k)+L(k)u(k)+w(k)z(k)=Cx(k)+v(k)
(4)

where the state x(k) is a m -vector, w(k) is a m -element process noise vector and A is a m×m real matrix. Moreover the output measurement z(k) is a p -vector, C is an p×m -matrix of real numbers, and v(k) is the measurement noise. It is assumed that the process noise w(k) and the measurement noise v(k) are uncorrelated.

Now the problem of interest is to estimate the state x(k) based on the sequence of output measurements z(1),z(2),,z(k). The initial value of the state vector x(0), and the initial value of the error covariance matrix P(0) is unknown and an estimation of it is considered, i.e. x^(0) = a guess of E[x(0)] and P^(0) = a guess of Cov[x(0)].

For the initialization of matrix P one can set P^(0)=λI, with λ>0. The state vector x(k) has to be estimated taking into account x^(0), P^(0) and the output measurements Z=[z(1),z(2),,z(k)]T, i.e. x^(k)=αn(x^(0)),P^(0),Z(k)). This is a linear minimum mean squares estimation problem (LMMSE) formulated as x^(k+1)=an+1(x^(k),z(k+1)). The process and output noise are white and their covariance matrices are given by: E[w(i)wT(j)]=Qδ(ij) and E[v(i)vT(j)]=Rδ(ij).

Using the above, the discrete-time Kalman filter can be decomposed into two parts: i) time update (prediction stage), and ii) measurement update (correction stage). The first part employs an estimate of the state vector x(k) made before the output measurement z(k) is available (a priori estimate). The second part estimates x(k) after z(k) has become available (a posteriori estimate).

  • When the set of measurements Z={z(1),,z(k1)} is available. From Z an a priori estimation of x(k) is obtained which is denoted by x^(k) = the estimate of x(k) given Z.

  • When z(k) is available, the output measurements set becomes Z={z(1),,z(k)}, where x^(k) = the estimate of x(k) given Z.

The associated estimation errors are defined by e(k)=x(k)x^(k) = the a priori error, and e(k)=x(k)x^(k) = the a posteriori error. The estimation error covariance matrices associated with x^(k) and x^(k) are defined as P(k)=Cov[e(k)]=E[e(k)e(k)T] and P(k)=Cov[e(k)]=E[e(k)eT(k)] (Kamen Su 1999). From the definition of the trace of a matrix, the mean square error of the estimates can be written as MSE(x^(k))=E[e(k)e(k)T]=tr(P(k)) and MSE(x(k))=E[e(k)eT(k)=tr(P(k)).

Finally, the linear Kalman filter equations in cartesian coordinates are

measurement update:

K(k)=P(k)CT[CP(k)CT+R]1x^(k)=x^(k)+K(k)[z(k)Cx^(k)]P(k)=P(k)K(k)CP(k)
(5)

time update:

P(k+1)=A(k)P(k)AT(k)+Q(k)x^(k+1)=A(k)x^(k)+L(k)u(k)
(6)

2.3. The Extended Kalman Filter

State estimation can be also performed for nonlinear dynamical systems using the EKF recursion. The following nonlinear model is considered (Rigatos Tzafestas 2007), (Rigatos 2010b):

x(k+1)=ϕ(x(k))+L(k)u(k)+w(k)z(k)=γ(x(k))+v(k)
(7)

where xRm×1 is the system’s state vector and zRp×1 is the system’s output, while w(k) and v(k) are uncorrelated, zero-mean, Gaussian zero-mean noise processes with covariance matrices Q(k) and R(k) respectively. The operators ϕ(x) and γ(x) are vectors defined as ϕ(x)=[ϕ1(x),ϕ2(x),, ϕm(x)]T, and γ(x)=[γ1(x),γ2(x),,γp(x)]T, respectively. It is assumed that ϕ and γ are sufficiently smooth in x so that each one has a valid series Taylor expansion. Following a linearization procedure, ϕ is expanded into Taylor series about x^ :

ϕ(x(k))=ϕ(x^(k))+Jϕ(x^(k))[x(k)x^(k)]+
(8)

where Jϕ(x) is the Jacobian of ϕ calculated at x^(k) :

Jϕ(x)=ϕx|x=x^(k)=(ϕ1x1ϕ1x2ϕ1xmϕ2x1ϕ2x2ϕ2xmϕmx1ϕmx2ϕmxm)
(9)

Likewise, γ is expanded about x^(k)

γ(x(k))=γ(x^(k))+Jγ[x(k)x^(k)]+
(10)

where x^(k) is the estimation of the state vector x(k) before measurement at the k -th instant to be received and x^(k) is the updated estimation of the state vector after measurement at the k -th instant has been received. The Jacobian Jγ(x) is

Jγ(x)=γx|x=x^(k)=(γ1x1γ1x2γ1xmγ2x1γ2x2γ2xmγmx1γmx2γmxm)
(11)
media/fig1.png

Figure 1.

Schematic diagram of the EKF loop

The resulting expressions create first order approximations of ϕ and γ. Thus the linearized version of the system is obtained:

x(k+1)=ϕ(x^(k))+Jϕ(x^(k))[x(k)x^(k)]+w(k)z(k)=γ(x^(k))+Jγ(x^(k))[x(k)x^(k)]+v(k)
(12)

Now, the EKF recursion is as follows: First the time update is considered: by x^(k) the estimation of the state vector at time instant k is denoted. Given initial conditions x^(0) and P(0) the recursion proceeds as:

  • Measurement update. Acquire z(k) and compute:

K(k)=P(k)JγT(x^(k))[Jγ(x^(k))P(k)JγT(x^(k))+R(k)]1x^(k)=x^(k)+K(k)[z(k)γ(x^(k))]P(k)=P(k)K(k)Jγ(x^(k))P(k)
(13)
  • Time update. Compute:

P(k+1)=Jϕ(x^(k))·P(k)JϕT(x^(k))+Q(k)x^(k+1)=ϕ(x^(k))+L(k)u(k)
(14)

The schematic diagram of the EKF loop is given in Fig. 1.

Indicative applications of the Extended Kalman Filter in mechatronics and robotics have been presented in (Chinniah et al. 2006) where the EKF has been used in state estimation-based control of electrohydraulic actutators, in (Seguritan Rotuno 2002) where the EKF has been used as a disturbance observer resulting in improved control of a direct current motor, in (Lin et al. 2001) where the EKF has been used in sensorless control of nonlinear brushless DC motor models, in (Liu et al. 2006) where the EKF has been used for estimating the electromagnetic torque of direct-torque controlled brushless DC motors and for implementing a sensorless control scheme, and in (Terzic Jardic 2001) where the EKF has been applied for rotor resistance estimation of a DC motor, for position and velocity estimation and finally for state estimation-based control. Examples on nonlinear filtering for fault diagnosis and condition monitoring tasks have been given in (Efimov et al. 2010) where an EKF-based fault diagnosis scheme for actuators has been studied, in (Yang 2002) where the EKF has been proposed for residual generation and diagnosis of incipient faults in DC electric motors, and in (An Sepehri 2004) where the EKF has been used in fault diagnosis of an electrohydraulic actuation system.

3. Differential flatness for nonlinear dynamical systems

3.1. Definition of differentially flat systems

The principles of the differential flatness theory have been extensively studied in the relevant bibliography (Rudolph 2003), (Rigatos 2010b), (Villagra et al. 2007): A finite dimensional system is considered. This can be written in the form of an ordinary differential equation (ODE), i.e. Si(w,w˙,w¨,,w(i)),i=1,2,,q. The quantity w denotes the system variables (these variables are for instance the elements of the system’s state vector and the control input) while w(i), i=1,2,,q are the associated derivatives. Such a system is said to be differentially flat if there exists a collection of m functions y=(y1,,ym) of the system variables and of their time-derivatives, i.e. yi=ϕ(w,w˙,w¨,,w(αi)),i=1,,m satisfying the following two conditions (Fliess Mounier 1999), (Rigatos 2008a):

1. There does not exist any differential relation of the form R(y,y˙,,y(β))=0 which implies that the derivatives of the flat output are not coupled in the sense of an ODE, or equivalently it can be said that the flat output is differentially independent.

2. All system variables (i.e. the elements of the system’s state vector w and the control input) can be expressed using only the flat output y and its time derivatives wi=ψi(y,y˙,,y(γi)),i=1,,s. An equivalent definition of differentially flat systems is as follows:

Definition: The system x˙=f(x,u), xRn, uRm is differentially flat if there exist relations

h:Rn×(Rm)r+1Rm,ϕ:(Rm)rRnandψ:(Rm)r+1Rm
(15)

such that

y=h(x,u,u˙,,u(r)),x=ϕ(y,y˙,,y(r1)),andu=ψ(y,y˙,,y(r1),y(r)).
(16)

This means that all system dynamics can be expressed as a function of the flat output and its derivatives, therefore the state vector and the control input can be written as

x(t)=ϕ(y(t),y˙(t),,y(r)(t)),andu(t)=ψ(y(t),y˙(t),,y(r+1)(t))
(17)

It is noted that for linear systems the property of differential flatness is equivalent to that of controllability.

3.2. Classes of differentially flat systems

The following classes of nonlinear differentially flat systems are defined (Martin Rouchon 1999):

1. Affine in-the-input systems.

The dynamics of such systems is given by:

x˙=f(x)+i=1mgi(x)ui
(18)

From Eq. (20) it can be deduced that the above state equation can also describe MIMO dynamical systems. Without out loss of generality it is assumed that G=[g1,,gm] is of rank m. In case that the flat outputs of the aforementioned system are only functions of states x, then this class of dynamical systems is called 0 -flat. It has been proven that a dynamical affine system with n states and n1 inputs is 0 -flat if it is controllable.

2. Driftless systems.

These are systems of the form

x˙=i=1mfi(x)ui
(19)

For driftless systems with two inputs, i.e.

x˙=f1(x)u1+f2(x)u2
(20)

the flatness property holds, if and only if the rank of matrix Ek:={Ek,[Ek,Ek]},k0 with E0:={f1,f2} is equal to k+2 for k=0,,n2. It has been proven that a driftless system that is differentially flat, is also 0 -flat.

Moreover, for flat systems with n states and n2 control inputs, i.e.

x˙=i=1n2uifi(x)xRn
(21)

the flatness property holds, if controllability also holds. Furthermore, the system is 0 -flat if n is even.

3.3. Conditions for applying the differential flatness theory

In order to apply the concept of differential flatness, the flat outputs of the nonlinear system have to be defined first. For nonlinear systems it is still an open problem to construct flat outputs. The following generic class of nonlinear systems is considered

Such a system can be transformed to the form of an affine in the input system by adding an integrator to each input (Bououden et al. 2011)

x˙=f(x)+i=1mgi(x)ui
(23)

The following definitions are used (Rigatos 2011a), (Marino 1990), (Marino Tomei 1992):

(i) Lie derivative: Lfh(x) stands for the Lie derivative Lfh(x)=(h)f and the repeated Lie derivatives are recursively defined as Lf0h=hfori=0, Lfih=LfLfi1h=Lfi1hffori=1,2,.

(ii) Lie Bracket: adfig stands for a Lie Bracket which is defined recursively as adfig=[f,adfi1]g with adf0g=g and adfg=[f,g]=gffg.

If the system of Eq. (25) can be linearized by a diffeomorphism z=ϕ(x) and a static state feedback u=α(x)+β(x)v into the following form

z˙i,j=zi+1,jfor1jmand1ivj1z˙vi,j=vj
(24)

with j=1mvj=n, then yj=z1,j for 1jm are the 0-flat outputs which can be written as functions of only the elements of the state vector x. To define conditions for transforming the system of Eq. (25) into the canonical form described in Eq. (26) the following theorem holds (Bououden et al. 2011)

Theorem: For the nonlinear systems described by Eq. (23) the following variables are defined:

(i)G0=span[g1,,gm](ii)G1=span[g1,,gm,adfg1,,adfgm](k)Gk=span{adfjgifor0jk,1im}.

Then, the linearization problem for the system of Eq. (25) can be solved if and only if

  1. The dimension of Gi,i=1,,k is constant for xXRn and for 1in1

  2. The dimension of Gn1 if of order n.

  3. The distribution Gk is involutive for each 1kn2.

3.4. Transformation of MIMO nonlinear systems into the Brunovsky form

It is assumed now that after defining the flat outputs of the initial MIMO nonlinear system, and after expressing the system state variables and control inputs as functions of the flat output and of the associated derivatives, the system can be transformed in the Brunovsky canonical form:

x˙1=x2x˙2=x3x˙r11=xr1x˙r1=f1(x)+j=1pg1j(x)uj+d1x˙r1+1=xr1+2x˙r1+2=xr1+3x˙p1=xpx˙p=fp(x)+j=1pgpj(x)uj+dpy1=x1y2=x2yp=xnrp+1
(25)

where x=[x1,,xn]T is the state vector of the transformed system (according to the differential flatness formulation), u=[u1,,up]T is the set of control inputs, y=[y1,,yp]T is the output vector, fi are the drift functions and gi,j,i,j=1,2,,p are smooth functions corresponding to the control input gains, while dj is a variable associated to external disturbances. In holds that r1+r2++rp=n. Having written the initial nonlinear system into the canonical (Brunovsky) form it holds

yi(ri)=fi(x)+j=1pgij(x)uj+dj
(26)

Next the following vectors and matrices can be defined

f(x)=[f1(x),,fn(x)]Tg(x)=[g1(x),,gn(x)]Twithgi(x)=[g1i(x),,gpi(x)]TA=diag[A1,,Ap],B=diag[B1,,Bp]CT=diag[C1,,Cp],d=[d1,,dp]T
(27)

where matrix A has the MIMO canonical form, i.e. with elements

Ai=(010000001000)ri×riBi=(0001)ri×1Ci=(1000)1×ri
(28)

Thus, Eq. (26) can be written in state-space form

x˙=Ax+B[f(x)+g(x)u+d˜]y=CTx
(29)

which can be also written in the equivalent form:

x˙=Ax+Bv+Bd˜y=CTx
(30)

where the transformed control input is defined as v=f(x)+g(x)u.

If the state variables of the system are estimated with the use of a nonlinear filter then a state-feedback control law can be formulated as

u=g1(x^)[f(x^)+ym(r)+KcTe+uc]
(31)

where f(x^) and g(x^) are the state estimation-based approximations of f(x) and g(x), respectively, while ym(r) is the setpoint vector for output derivatives, i.e. ym(r)=[x˙r1,m,,x˙p,m]T. uc is a supervisory control term, e.g. H control term that is used to compensate for the effects of modelling inaccuracies and external disturbances. Moreover, KcT is the feedback gain matrix that assures that the characteristic polynomial of matrix ABKcT will be a Hurwitz one.

4. Application of derivative-free Kalman Filtering to SISO nonlinear systems

4.1. Conditions for derivative-free Kalman Filtering in SISO nonlinear systems

It will be shown that through a nonlinear transformation it is possible to design a state estimator for a class of nonlinear systems, which can substitute for the Extended Kalman Filter. The results will be generalized towards derivative-free Kalman Filtering for nonlinear systems. The following continuous-time nonlinear single-output system is considered (Rigatos 2011a), (Marino 1990), (Marino Tomei 1992)

x˙=f(x)+q0(x,u)+i=1pθiqi(x,u),orx˙=f(x)+q0(x,u)+Q(x,u)θxRn,uRm,θRpz=h(x),zR
(32)

with qi:Rn×RmRn, 0ip, f:RnRn, h:RnR, smooth functions, h(x0)=0, q0(x,0)=0 for every xRn ; x is the state vector, u(x,t):R+Rm is the control which is assumed to be known, θ is the parameter vector which is supposed to be constant and y is the scalar output.

The first main assumption on the class of systems considered is the linear dependence on the parameter vector θ. The second main assumption requires that systems of Eq.(32) are transformable by a parameter independent state-space change of coordinates in Rn

ζ=T(x),T(x0)=0
(33)

into the system

lζ˙=Acζ+ψ0(z,u)+i=1pθiψi(z,u)ζ˙=Acζ+ψ0(z,u)+Ψ(z,u)θz=Ccζ
(34)

with

Ac=(010000100000)
(35)

and ψi:R×RmRn smooth functions for i=0,,p. The necessary and sufficient conditions for the initial nonlinear system to be transformable into the form of Eq.(34) have been given in (Rigatos 2011a), (Marino 1990), (Marino Tomei 1992), and are summarized in the following:

  1. rank{dh(x),dLfh(x),,dLfn1h(x)}=n, xRn (which implies local observability). It is noted that Lfh(x) stands for the Lie derivative Lfh(x)=(h)f and the repeated Lie derivatives are recursively defined as Lf0h=hfori=0, Lfih=LfLfi1h=Lfi1hffori=1,2,.

  2. [adfig,adfjg]=0,0i,jn1. It is noted that adfig stands for a Lie Bracket which is defined recursively as adfig=[f,adfi1]g with adf0g=g and adfg=[f,g]=gffg.

  3. [qi,adfig]=0,0ip,0jn2uRm.

  4. the vector fields adfig,0in1 are complete, in which g is the vector field satisfying

<(dhd(Lfn1h)),g>=(01)
(37)

Then for every parameter vector θ, the system

ζ^=Acζ^+ψ0(z,u)+i=1pθiψi(z,u)+K(zCcζ^)x^=T1(ζ^)
(38)

is an asymptotic observer for a suitable choice of K provided that the state x(t) is bounded, with estimation error dynamics

e˙=(AcKCc)e=(k1100k2010kn1001kn000)e
(39)

The eigenvalues of AcKCc can be arbitrarily placed by choosing the vector K, since they coincide with the roots of the polynomial sn+k1sn1++kn.

4.2. State estimation for SISO systems with the derivative-free Kalman Filter

Since Eq. (38) provides an asympotic observer for the initial nonlinear system of Eq. (32) one can consider a case in which the observation error gain matrix K can be provided by the Kalman Filter equations given initially in the continuous-time KF formulation, or in discrete-time form by Eq. (5) and Eq. (6). The following single-input single-output nonlinear dynamical system is considered

x(n)=f(x,t)+g(x,t)u(x,t)
(40)

where z=x is the system’s output, and f(x,t), g(x,t) are nonlinear functions. It can be noticed that the system of Eq. (40) belongs to the general class of systems of Eq. (32). Assuming the transformation ζi=x(i1),i=1,,n, and x(n)=f(x,t)+g(x,t)u(x,t)=v(ζ,t), i.e. ζ˙n=v(ζ,t), one obtains the linearized system of the form

ζ˙1=ζ2ζ˙2=ζ3ζ˙n1=ζnζ˙n=v(ζ,t)
(41)

which in turn can be written in state-space equations as

(ζ˙1ζ˙2ζ˙n1ζ˙n)=(0100001000010000)(ζ1ζ2ζn1ζn)+(0001)v(ζ,t)
(42)

The system of Eq. (41) and Eq. (43) has been written in the form of Eq. (34), which means that Eq. (38) is the associated asymptotic observer. Therefore, the observation gain K appearing in Eq. (38) can be found using either linear observer design methods (in that case the elements of the observation error gain matrix K have fixed values), or the recursive calculation of the continuous-time Kalman Filter gain described in subsection 2.2. If the discrete-time Kalman Filter is to be used then one has to apply the recursive formulas of Eq. (5) and Eq. (6) on the discrete-time equivalent of Eq. (42) and Eq. (43).

5. Derivative-free Kalman Filtering for MIMO nonlinear systems

The results of Section 4 will be generalized towards derivative-free Kalman Filtering for MIMO nonlinear dynamical systems. The proposed method for derivative-free Kalman Filtering for MIMO nonlinear systems will be analyzed through an application example. A 2-DOF rigid link robotic manipulator is considered. The dynamic model of the robot is given by

(M11M12M21M22)(θ¨1θ¨2)+(F1(θ,θ˙)F2(θ,θ˙))+(G1(θ)G2(θ))=(T1T2)
(44)

where MR2×2 is the inertia matrix, FR2×1 is the Coriolis and centripetal forces vector, GR2×1 is the vector of gravitational forces and TR2×1 is the vector of control input torques. Equivalently, one has

(θ¨1θ¨2)=(M11M12M21M22)1(F1(θ,θ˙)F2(θ,θ˙))(M11M12M21M22)1(G1(θ)G2(θ))+(M11M12M21M22)1(T1T2)
(45)

Denoting the inverse of the inertia matrix as

(M11M12M21M22)=(N11N12N21N22)
(46)

then one obtains

(θ¨1θ¨2)=(N11N12N21N22)(F1(θ,θ˙)F2(θ,θ˙))(N11N12N21N22)(G1(θ)G2(θ))+(N11N12N21N22)(T1T2)
(47)
media/fig2.png

Figure 2.

A 2-DOF rigid-link robotic manipulator or equivalently

(θ¨1θ¨2)=(N11F1(θ,θ˙)N12F2(θ,θ˙)N11G1(θ)N12G2(θ)+N11T1+N12T2N21F2(θ,θ˙)N22F2(θ,θ˙)N21G1(θ)N22G2(θ)+N21T1+N22T2)
(48)

which can be also written as

θ¨1=N11F1(θ,θ˙)N12F2(θ,θ˙)N11G1(θ)N12G2(θ)+(N11N12)(T1T2)
(49)
θ¨2=N21F1(θ,θ˙)N22F2(θ,θ˙)N21G1(θ)N22G2(θ)+(N21N22)(T1T2)
(50)

The following state variables are defined

x1=θ1x2=θ˙1x3=θ2x4=θ˙2
(51)

It holds that

x¨1=f1(x)+g1(x)ux¨3=f2(x)+g2(x)u
(52)

where

f1(x)=N11F1(θ,θ˙)N12F2(θ,θ˙)N11G1(θ)N12G2(θ)R1×1g1(x)=[N11N12]R1×2f2(x)=N21F1(θ,θ˙)N22F2(θ,θ˙)N21G1(θ)N22G2(θ)1×1g2(x)=[N21N22]R2×2
(53)

The flat output is defined as

y=[θ1,θ2]=[x1,x3]
(54)

It holds that

x˙1=x2x˙2=f1(x)+g1(x)ux˙3=x4x˙4=f2(x)+g2(x)u
(55)

therefore all system state variables can be written as functions of the flat output y and its derivatives. The same holds for the control input u. Indeed, one has

x1=[10]yTx2=[10]y˙Tx3=[01]yTx2=[01]y˙T
(56)

Moreover, from Eq. (58) it holds

(x¨1x¨3)=(f1(x)f2(x))+(g1(x)g2(x))ui.e.u=(g1(x)g2(x))1{(x¨1x¨3)(f1(x)f2(x))}
(57)

Knowing that x=h(y,y˙) one finally obtains

u=(g1(h(y,y˙))g2(h(y,y˙)))1{([10]y¨Ty¨T)(f1(h(y,y˙))f2(h(y,y˙)))}
(58)

Therefore, the considered robotic system is a differentially flat one. Next, taking also into account the effects of additive disturbances to the joints of the robotic manipulator the dynamic model becomes

x¨1=f1(x,t)+g1(x,t)u+d˜1x¨3=f2(x,t)+g2(x,t)u+d˜2
(59)
(x¨1x¨3)=(f1(x,t)f2(x,t))+(g1(x,t)g2(x,t))u+(d˜1d˜2)
(60)

Moreover, the following control input is defined

u=(g1(x^,t)g2(x^,t))1{(x¨1dx¨3d)(f1(x^,t)f2(x^,t))(K1TK2T)e+(uc1uc2)}
(61)

where [uc1uc2]T is a supervisory control term that is used for the compensation of the model’s uncertainties as well as of the external disturbances and KiT=[k1i,k2i,,kn1i,kni] are the rows of the error feedback gain matrix (Rigatos 2008b), (Rigatos Tzafestas 2006). It is also noted that to perform efficient state estimation under such model uncertainties and external disturbances one can consider results on disturbance observers within a Kalman Filter framework (Rigatos 2011c).

Finally, the differentially flat robotic model is written in the Brunovsky (canonical) form. Considering the state vector xR4×1, with the state variables defined in Eq. (51), the following matrices are defined

A=(0100000000010000),B=(00100001),C=(10000010)
(62)

Using the matrices of Eq. (62) one obtains the Brunovsky form of the MIMO robot model dynamics

where the new input v is given by

v=(f1(x,t)f2(x,t))+(g1(x,t)g2(x,t))u+(d˜1d˜2)
(64)

For the robotic model of Eq. (65) state estimation can be performed using the standard Kalman Filter recursion, as described in Eq. (5) and Eq. (6).

6. Simulation tests

The performance of the proposed derivative-free nonlinear Kalman Filter was tested in the benchmark problem of state estimation-based control for a 2-DOF rigid-link robotic manipulator (Fig. 2). The differentially flat model of the robot and its transformation to the Brunovksy form has been analyzed in Section 4. The flat outputs were taken to be the robot’s joint angles y1=x1 and y2=x3. It has been proven that all state variables of the robotic model and the associated control inputs, i.e. the torques applied by the motors to the links’ joints can be written as functions of the flat output [y1,y2] and of the associated derivatives.

Two different set-points were studied: i) a sinusoidal signal of amplitude 1.0 and period T=10sec, ii) a see-saw set-point of amplitude 0.30 and period T=10sec. At the beginning of the second half of the simulation time an additive sinusoidal disturbance of amplitude A=0.5 and period T=10 sec was applied to the system. The approximations f^ and g^ were used in the derivation of the control law, given by Eq. (31).

The position and velocity variations for the sinusoidal set-point for the first joint of the robotic manipulator are depicted in Fig. 3. For the second joint of the 2-DOF robot the tracking of the position and velocity setpoints is depicted in Fig. 4. The control inputs (motor torques) applied to the first and second joint of the robotic manipulator are shown in Fig. 5.

The performance of the state estimation-based control has been also tested in the tracking of a see-saw set-point. The position and velocity variation of the first joint are demonstrated in Fig. 6. Similarly, the tracking of the position and velocity reference setpoints for the second joint are depicted in Fig. 7. The control signal in the case of tracking of a tracking a see-saw setpoint by the two joints of the robotic manipulator is shown in Fig. 8. The estimated state variables were denoted as green line whereas the real state variables were denoted as blue lines.

Moreover, the derivative-free nonlinear Kalman Filter was tested against the Extended Kalman Filter which is among the most commonly used estimation methods for nonlinear dynamical systems. In the latter case, the position and velocity variations for the sinusoidal set-point for the first joint of the robotic manipulator are depicted in Fig. 9. For the second joint of the 2-DOF robot the tracking of the position and velocity setpoints is depicted in Fig. 10. The control inputs (motor torques) applied to the first and second joint of the robotic manipulator are shown in Fig. 11.

media/fig3.png

Figure 3.

Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)

media/fig4.png

Figure 4.

Derivative-free Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)

media/fig5.png

Figure 5.

Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint

media/fig6.png

Figure 6.

Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)

media/fig7.png

Figure 7.

Derivative-free Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)

media/fig8.png

Figure 8.

Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the use of the derivative-free Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint

media/fig9.png

Figure 9.

Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)

media/fig10.png

Figure 10.

Extended Kalman Filtering: (a) Tracking of a sinusoidal position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a sinusoidal velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)

media/fig11.png

Figure 11.

Tracking of a sinusoidal setpoint by the 2-DOF robotic manipulator with the use of the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint

media/fig12.png

Figure 12.

Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the first joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the first joint of the robot (continuous line)

media/fig13.png

Figure 13.

Extended Kalman Filtering: (a) Tracking of a seesaw position set-point (dashed line) by the angle of the second joint of the robot (continuous line) (b) Tracking of a seesaw velocity set-point (dashed line) by the angular velocity of the second joint of the robot (continuous line)

media/fig14.png

Figure 14.

Tracking of a seesaw setpoint by the 2-DOF robotic manipulator with the Extended Kalman Filter: (a) Control input (motor torque) applied to the first joint (b) Control input (motor torque) applied to the second joint

The performance of the state estimation-based control is also tested in the tracking of a see-saw set-point. The position and velocity variation of the first joint are demonstrated in Fig. 12. Similarly, the tracking of the position and velocity reference setpoints for the second joint are depicted in Fig. 13. The control signal in the case of tracking of a tracking a see-saw setpoint by the two joints of the robotic manipulator is shown in Fig. 14.

Comparing the estimation performed by the derivative-free MIMO nonlinear Kalman Filter with the one performed by the Extended Kalman Filter it can be noticed that the derivative-free filtering approach results in more accurate state estimates. Moreover, comparing the associated state estimation-based control loop that was based on the derivative-free MIMO nonlinear Kalman Filter to the control that was based on the Extended Kalman Filter it was observed that the first control scheme was significantly more robust and capable of tracking with better accuracy the desirable trajectories. These findings show the suitability of the considered derivative-free MIMO nonlinear Kalman Filter for tracking, control and fault diagnosis tasks.

7. Conclusions

The paper has examined the problem of derivative-free Kalman Filtering for MIMO nonlinear dynamical systems. The nonlinear system is first subject to a linearization transformation that is based on the differential flatness theory and next state estimation is performed by applying the Kalman Filter to the linearized model. It was mentioned that a system is considered to be differentially flat if (i) the so-called flat-output can be defined, which is a function of the system’s state variables. For the flat output it is assured that it is not coupled to its derivatives through an ordinary differential equation), (ii) the system’s state variables and the control inputs can be all expressed as functions of the differentially flat output and its derivatives. The paper was concerned with multi-input multi-output (MIMO) differentially flat systems. Such systems can be brought to a Brunovsky (canonical form) through a nonlinear transformation applied to the state variables and to the control input, thus making possible the application of the standard Kalman Filter recursion.

The proposed derivative-free Kalman Filter for nonlinear MIMO systems provides improved the estimation accuracy and has better convergence properties than the Extended Kalman Filter. The derivative-free Kalman Filter, has the following features: (i) it is not based on local linearization of the controlled system dynamics, (ii) it does not assume truncation of higher order Taylor expansion terms, (iii) it does not require the computation of Jacobian matrices. In the proposed filtering method, the system is first subject to a linearization transformation and next state estimation is performed by applying local Kalman Filters to the linearized model. The class of MIMO systems to which the derivative-free Kalman Filter can be applied has been also defined.

References