Meccanica DOI 10.1007/s11012-016-0462-7
Trajectory tracking control using velocity observer and disturbances observer for uncertain robot manipulators without tachometers Farah Bouakrif
Received: 25 August 2015 / Accepted: 23 May 2016 Springer Science+Business Media Dordrecht 2016
Abstract This paper deals with trajectory tracking control for rigid robot manipulators with model uncertainty and subject to external disturbances. The approach suggested herein does not require velocity measurement, because these robots are not equipped by tachometers for velocity measurement. For this purpose, two observers are proposed. The first is a velocity observer to estimate the missing velocity, and the second one is a disturbance observer to estimate the disturbance. Thereafter, these observers are integrated with the controller. Furthermore, semi-global asymptotic stability conditions of the composite controller consisting of a nonlinear controller, the velocity observer and the disturbance observer are established, and an estimate region of attraction is also given. This proof is based on Lyapunov theory. Finally, simulation results on two-links manipulator are provided to illustrate the effectiveness of the velocity observer based control using disturbance estimation (namely VOBCDE), when the Coulomb and viscous friction is considered as an external disturbance. Keywords Disturbances observer Lyapunov theory Robot manipulator Velocity observer
F. Bouakrif (&) Laboratoire d’Automatique de Jijel, University of Jijel, Jijel, Algeria e-mail:
[email protected]
1 Introduction The trajectory tracking problem for rigid robot manipulators has been solved using several efficient control methods, such as, Proportional-IntegralDerivative (PID) control [1], computed torque control [2], adaptive control [3], variable structure control [4], iterative learning control [5–7], and passivity based control [8–10]. This last approach tackles the robot control problem by exploiting the robot system’s physical structure, and specifically its passivity property. Hence, the tracking objective can be achieved by modifying both the kinetic and potential energy of the system [11]. A great variety of these controllers have been referred to as model-based robot. Hence, exact knowledge of the system dynamics of a robot is required for the implementation of these control methods. In practice, there is always some parametric uncertainty in the dynamic of a robot. As a natural consequence, the robot control problem in the presence of model uncertainties has been analyzed extensively. There are basically two underlying philosophies to the control of uncertain systems: the adaptive control philosophy, and the robust control philosophy. In the adaptive approach, one designs a controller which attempts to ‘‘learn’’ the uncertain parameters of the particularly system, and if properly designed will eventually be a best controller for the system in question. A discussion of adaptive controllers in robotics may be found in [3]. In the robust
123
Meccanica
approach, the controller has a fixed-structure which yields ‘‘acceptable’’ performance for a given plantuncertainty set [12]. However, it has been demonstrated [13] that these adaptive controllers may lack robustness against unmodeled dynamics, sensor noise and other disturbances. To overcome this limitation, the controller based disturbance estimation has been developed and applied in engineering over two decades. Recently, several researchers have been applying the disturbance estimation theory to design tracking control algorithms for robot manipulators [14, 15]. Using iterative learning method [16], the authors proposed in [17] a disturbance estimation to solve the trajectory tracking problem for perturbed robot manipulators. Many of these previous controllers require the complete state measurements, that is position and velocity, is available for feedback. Unfortunately, in practice this assumption can only partially be fulfilled, because the sensors for velocity measurements are often contaminated with a considerable amount of noise. A solution of this problem is the design of nonlinear observers to reconstruct the missing velocity signal. In the literature, several approaches have been presented for nonlinear systems. The first possibility consists in transforming a nonlinear problem into a linear one by the extended linearization technique [18] or by the pseudo-linearization method [19], which yields constant eigenvalues of the reconstruction error dynamics when linearized about any fixed equilibrium point. We also have the exact linearization technique [20], which consists in transforming the nonlinear system into a linear system with an output injection to apply linear observation theory. A second possibility consists in designing an observer with the nonlinear observation error dynamics. In this context, some techniques were established in the initial state coordinates [21], and others in the observable canonical form [22], and under some conditions the observer can be designed. Such conditions are restrictive and are not met for many physical systems, such as robot manipulators. Using a different approach consisting of exploiting the structural properties of the robot dynamics, a number of conceptually different methods of tracking control of robots equipped with only position sensors have been developed. For example, Nicosia et al. [23] developed in a simple high-gain asymptotic observer with linear and decoupled structure, and the PD
123
control with high-gain observer has been developed in [24], but a quite noisy movement of the manipulator, which may be undesirable for greater robots employed for industrial applications. In [25], the authors proposed a velocity observer based iterative learning control to solve the trajectory tracking problem for robot manipulators. Khelfi et al. proposed in [26] a nonlinear observer, the design of the observer is straightforward in the sense that no change of coordinates is necessary, but the procedure to choose its parameters is quite complex. In addition, it is important to note that recently finite-time observers have been an acute subject of research, for example, in [27, 28], it has been shown that the uniform observability and the global Lipschitzian properties of single and multi output nonlinear systems imply the existence of semi-global and finite time converging observers. In [29] a homogeneous finite time observer is introduced. The aim of [30] is to improve the general result presented in [27], that is: there exist global finite time observers for an uniformly observable and globally Lipschitzian single output nonlinear system. In [31] the author proposed a finite time non linear observer for repetitive non linear systems with arbitrary relative degree when the iteration tends to infinity. The work in [32] deals with finite time regulation problem for robots. Finite time controller results in a closed loop system whose position converges in finite time. Unfortunately, the paper [32] treats only the regulation problem of robots whereas the most important problem in robotics is the trajectory tracking problem. In addition, the robot is supposed known and the velocity is available. However, most of these methods are available for nonlinear systems without uncertainties or disturbances in their dynamic equations. In this paper, we propose a velocity observer based trajectory tracking control for rigid robot manipulators with model uncertainty and subject to external disturbances, where an updated term represents the estimated disturbances yielded by the disturbance observer is added in the control law. It is shown that the whole control system (robot plus VOBCDE) is semi-globally asymptotically stable, and an estimate region of attraction is given. This proof is based on Lyapunov theory. The effectiveness of this VOBCDE is illustrated by simulation on two-link manipulator, when the Coulomb and viscous friction is considered as an external disturbance.
Meccanica
Although this paper treats the trajectory tracking problem for robot manipulators with model uncertainty and subject to external disturbances, throughout this work the trajectory tracking for robots is achieved asymptotically. There is interest at designing of velocity observer based control with disturbance observer for uncertain robots such that the trajectory tracking for robots can be achieved in finite time. This leaves a lot of important practically oriented work to be done.
2 Structural properties of the robot dynamics Consider a robot manipulator that is composed of serially connected rigid links. The motion of the manipulator with n-links is described by the following dynamic equation _ q_ þ GðqÞ þ wðq; q; _ tÞ: s ¼ MðqÞ€ q þ C ðq; qÞ
ð1Þ
n
_ where qðtÞ; qðtÞ; q€ðtÞ 2 R denote the link position, velocity and acceleration vectors, respectively. In this paper, the actual values M, C and G may be different from the nominal values Mn, Cn and Gn, respectively. Thus, the actual robot dynamics (1) can be written using the nominal model in the following formulation _ q_ þ Gn ðqÞ þ dðq; q; _ q€; tÞ s ¼ Mn ðqÞ q€ þ Cn ðq; qÞ ð2Þ where _ q€; tÞ ¼ DMðqÞ€ _ q_ þ DGðqÞ dðq; q; q þ DCðq; qÞ _ tÞ þ wðq; q;
ð3Þ
it denotes the uncertainty of the robot system. Equation (2) is a nonlinear vectorial differential T equation of the state ½qT q_ T . Mn(q) is a matrix of dimension n 9 n referred to as the inertia matrix, it is symmetric and positive definite for all q 2
Christoffel symbols of the first kind, cijk(q) defined as ([3] and [33]) 1 oMkj ðqÞ oMki ðqÞ oMij ðqÞ cijk ¼ þ ð4Þ 2 oqi oqj oqk Here Mij(q) denotes the ijth element of the inertia matrix Mn(q). Indeed, the kjth element of the matrix _ Ckj ðq; qÞ _ is given by Cn ðq; qÞ, 3 2 c1jk ðqÞ T 6 c2jk ðqÞ 7 7 6 _ ¼ 6 . 7 q_ Ckj ðq; qÞ ð5Þ 4 .. 5 cnjk ðqÞ Notice that, since the actual values M, C and G and _ tÞ are not known, the the external disturbance wðq; q; _ q€; tÞ in Eq. (3) cannot be uncertainty term dðq; q; evaluated directly. In the sequel, qd ðtÞ; q_ d ðtÞ; q€d ðtÞ 2 Rn denote the desired link position, velocity and acceleration vectors, respectively. In spite of the complexity of the dynamic Eq. (2), which describes the behavior of robot manipulators, this equation and the terms which constitute it, have properties that are interesting in themselves for control purposes. Besides, such properties are of particular importance in the study of control systems for robot manipulators. Only properties that are relevant to control design and stability analysis in this paper are presented. These properties may be classified as follows [33–36]. Property 1 The inertia matrix M(q) plays an important role both in the robot’s dynamic model as well as in control design. The properties of the inertia matrix which is closely related to the kinetic energy _ are exhaustively used in function K ¼ 12 q_ T MðqÞq, control design for robots. This matrix is symmetric positive definite. In addition, for robots having only revolute joints, there exists two constants MM [ Mm [ 0 such that 0n \Mm \kMðqÞk\MM
ð6Þ
where q 2 Rn . _ is defined using the Property 2 In Eq. (2), Cðq; qÞ Christoffel symbols [3]. In this case the matrix _ is skew-symmetric [3, 33], that is M_ ð q Þ 2 C ðq ; qÞ _ Þ X ¼ 0 X T ðM_ ðq Þ 2 C ðq ; qÞ
ð7Þ
123
Meccanica
8t 2 R
ð15Þ
for all X 2
_ k Vm kqðtÞ
Property 3 The norm of the cenrtipetal-Coriolis matrix is bounded as follows [33]
This assumption is definitively realistic. In fact, it is reasonable to expect that the joint velocities of a robot will not exceed certain a priori bounds that come from the mechanic limitations of the robot and/or from the way the robot operates. Moreover, this assumption is recurrent in the literature on control for robotic manipulators, for example [14, 34], [39–41].
_ k Cm kq_ k kCðq; qÞ
ð8Þ
where Cm denotes known positive bounding constant ! 2 given by Cm n sup cijk ðqÞ , with cijk ðqÞ is the ijk i;j;k;q
Christoffel symbol [3]. _ is defined using the Property 4 Since Cðq; qÞ Christoffel symbols Eqs. (4), then it can be written as [33] 3 2 T q_ C1 ðqÞ 6 q_ T C2 ðqÞ 7 7 6 _ ¼6 Cðq; qÞ ð9Þ 7 .. 5 4 . q_ T Cn ðqÞ where Ci ðqÞ; i ¼ 1; :. . .; n are symmetric matrices. As a consequence [33, 34] Cðq; xÞy ¼ Cðq; yÞx
ð10Þ
Cðq; z þ axÞy ¼ Cðq; zÞy þ aCðq; xÞy
ð11Þ
For all q; x; y; z 2 R , and a is a scalar. The norm of a vector X is defined as pffiffiffiffiffiffiffiffiffi kXk ¼ XT X
ð12Þ
and the norm of a matrix A is defined as pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi k Ak ¼ kmax ðAT AÞ
ð13Þ
with kmax(.) denotes the maximum eigenvalue of A. In this paper, the following lemmas are used. Lemma 1 [37, p. 31] Consider the continuous and f 2 L2 , then function, f : Rþ ! Rn . If f ; f_ 2 L1 n lim f ðtÞ ¼ 0:
ð14Þ
Lemma 2 (Barbalat’s lemma) [38] Suppose f ðtÞ 2 0 C 1 ða; 1Þ and limt!1 f ðtÞ ¼ a where ah1. If f is uniformly continuous, then limt!1 f 0 ðtÞ ¼ 0.The following assumption is imposed. Assumption 1 The robot velocity is bounded by a known constant Vm such that
123
3 Velocity observer based control using disturbance estimation (VOBCDE) A general design procedure for system (2) is proposed in the following velocity observer based control using disturbance estimation (VOBCDE) design procedure.
n
t!1
Remark 1 In the presence of disturbances and uncertainties such as unmodeled dynamics, variable structure control can be applied to achieve asymptotic stability, but control chattering occurs due to the use of discontinuous control. Indeed, in many practical control systems, it is important to avoid control chattering by providing continuous/smooth control signal. Another solution is to replace the sign function by an intelligent control. In this paper, we focus on another philosophy which uses disturbance observer to estimate the unknown uncertainties.
Step 1 Design a nonlinear controller for system (2) to achieve stability and performance specification for tracking under the assumptions that there is no disturbance and the velocity is available. Step 2 Propose a velocity observer and integrate it with the controller by replacing the velocity in the control law with its estimation yielded by the velocity observer. Step 3 Propose a disturbance observer and integrate it with the controller by replacing the disturbance in the control law with its estimation yielded by the disturbance observer. The block diagram of the proposed VOBCDE is shown in Fig. 1. As seen from this figure, the composite controller consists of three parts: a controller without disturbance attenuation ability, a velocity observer and a disturbance observer.
Meccanica Fig. 1 Structure of velocity observer based control using disturbance estimation
Velocity Observer
qˆ
d qd
τ
Nonlinear Controller
Robot system
q
qd
dˆ Disturbance Observer
Remark 2 The approach proposed above consists of two stages. In the first, we will discuss how to design a controller to stabilize the robot manipulator and achieve performance specification for tracking in the absence of disturbance and supposed that the velocity is available. In the second stage, we will focus on steps 2 and 3, i.e., propose a velocity observer and disturbance observer and integrate them with the controller.
V_ ¼ E_ T Kv E_ E_ T Kp E þ E_ T K pE 1 _ E_ M_ n ðqÞ Cn ðq; qÞ þ E_ T 2
3.1 Control of known robot no perturbed with availability of velocity
where Kvm denotes the minimum eigenvalue of Kv. Since Kvm is positive, it is clear that V_ is a negative semi-definite function. Therefore, the closed-loop system is stable, i.e., E_ and E are bounded. Thus, the Lemma 2 is required to complete the proof of asymptotic stability. Hence, it is sufficient to show that V€ is bounded to conclude that V_ is uniformly continuous. In our case
If the parameters of the robot manipulator are exactly known and there is no external disturbance, and the velocity is available, we can apply the following control law _ q_ d þ Gn ðqÞ þ Kv E_ þ Kp E s ¼ Mn ðqÞ€ qd þ Cn ðq; qÞ ð16Þ _ Kv and Kp are diagonal where E ¼ qd q, E_ ¼ q_ d q, positive definite matrices. Subtracting (2) (without the uncertainty of the robot _ q€; tÞ) from (16), we have system dðq; q; _ E_ þ Km E_ þ Kp E ¼ 0: Mn E€ þ Cn ðq; qÞ
ð17Þ
To show the asymptotic stability of closed-loop system, we consider the following Lyapunov function 1 1 V ¼ E_ T Mn E_ þ ET Kp E: 2 2
ð19Þ
Using Property 2, we have _ V_ ¼ E_ T Kv E:
ð20Þ
Thus 2 V_ Kvm E_
€ V€ ¼ 2E_ T Kv E:
ð21Þ
ð22Þ
Since E_ and E are bounded, i.e., q_ and q are bounded, we can conclude from (17) that E€ is bounded. Then V and V€ are bounded. This result implies that V_ is uniformly continuous. Therefore, the Barbalat’s lemma permits us to conclude that _ ¼ 0, then limt!1 EðtÞ _ ¼ 0, limt!1 EðtÞ € limt!1 VðtÞ ¼ 0, and from (17) we find that limt!1 EðtÞ ¼ 0. 3.2 Composite controller
ð18Þ
The time derivative of (18) evaluated along the error dynamics (17) is given by
However, the above controller cannot be implemented since the velocity is required. In addition, when uncertainties exist, this controller can only drive the
123
Meccanica
system output to a neighborhood of the desired trajectory. In the following, we will introduce a different tracking control algorithm based on two observers, velocity observer and disturbance observer. This composite controller is as follows: s ¼ Mn ðqÞ€ qd þ Cn ðq; q^_ Þq_ d þ Gn ðqÞ þ Kv ðq_ d q^_ Þ ^ q^_ ; tÞ þ Kp E þ dðq; ð23Þ where the velocity estimation q^ is obtained from the following velocity observer q^_ ¼ z þ Lq z_ ¼ q€d Lq^_ þ
ð24Þ Mn1 Kp E
obtained from (26) and (27). The closed-loop system under the nonlinear composite controller, namely VOBCDE, designed by the procedure in Sect. 2, as shown in Fig. 1, is semi-globally asymptotically stable, in the sense that for an initial state within the region of attraction given by
ð29Þ we have _ ¼0 lim EðtÞ ¼ lim EðtÞ
t!1
ð25Þ
t!1
p_ ¼ /ð€ qd þ Kp EÞ
ð26Þ
and
d^ ¼ p / q^_
ð27Þ
t!1
Assumption 2 The disturbance varies slowly relative to the observer dynamics. Thus, it is reasonable to suppose that d_ ¼ 0:
ð28Þ
Since, in general, there is no prior information about the derivative of the disturbance d. Moreover, this assumption is recurrent in the literature on control of robotic manipulators, for example [14, 42]. This section will investigate stability of the closedloop system under the composite controller as shown in Fig. 1. The main result of this paper is stated in the following theorem. Theorem Consider the robot dynamics (2), and let Assumptions 1 and 2 be satisfied. Applying the control law (23), where the velocity estimation q^_ is obtained from (24) and (25), and the disturbance estimation d^ is
123
t!1
ð30Þ
and
and the disturbance estimation d^ is obtained from the following disturbance observer
where q^_ represents the estimated velocity, z is the observer state. / is diagonal positive definite matrix. L ¼ lIn , where l [ 0 and In 2 Rnn is an identity matrix. To proceed with the development, the following assumption is required.
!) rffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2Kvm ðMm Lm KvM Þ qm y 2 R3n kyk\ 2Vm Cm qM
( B¼
lim q~_ ðtÞ ¼ 0
ð31Þ
lim Ed ðtÞ ¼ 0
ð32Þ
if the following conditions are satisfied:
2 1. Lm [ 92 ðCKm Vvmm Þ þ KvM Mm1 ,
2 2. Lm [ KvM þ ð//M Þ Mm1 . min
where yT ¼ E_ T q~_ T ET ðF Ed ÞT , q~_ ¼ q_ q^_ . l is diagonal positive definite matrix, with Kp [ l. KpM ¼ Kp and /M ¼ k/k. KvM ¼ kKv k, Lm ; lm ; Kvm ; Kpm and /min denote the minimum eigenvalue of L; l; Kv ; Kp and /, respectively. qM ¼
kmax ðQÞ ¼ max MM ; KpM ; lM and qm ¼ kmin ðQÞ ¼
min Mm ; Kpm ; lm . F is a vector to be determined. Proof The analysis of asymptotic stability is in two parts. In the first part, we demonstrate that the closedloop system is stable. In the second part, we demonstrate that it is semi-globally asymptotically stable. Part 1. _ Let E ¼ qd q, E_ ¼ q_ d q, q~_ ¼ q_ q^_ , ^ q; _ Ed ¼ dðq; _q ¼ q_ q^_ ¼ q~_ þ E, _ tÞ dðq; q; _ q€; tÞ. From (23), (24) and (25) we can eliminate the state z and write
Meccanica
q€^ ¼ Mn1 s Cn ðq; q^_ Þq_ d Gn ðqÞ Kv q~_ Kv E_ d^ þ Lq~_ : ð33Þ From (2), we can write _ q_ Gn ðqÞ d: q€ ¼ Mn1 ½s Cn ðq; qÞ
ð34Þ
Subtracting (33) from (34) and using the Property 4, we obtain _ q~_ Cn ðq; q~_ ÞE_ þ Cn ðq; qÞ _ E_ þ Kv ðE_ Mn q€~ ¼ Cn ðq; qÞ _ _ þ q~Þ Mn Lq~ þ Ed :
1 _ _ E_ Mn ðqÞ Cn ðq; qÞ H_ ¼ E_ T Kv E_ þ E_ T 2 1 _ q~_ þ q~_ T Kv q~_ M_ n ðqÞ Cn ðq; qÞ þ q~_ T 2 T _ _ E_ þ E Cn ðq; q_ d Þq~_ q~_ T Mn Lq~_ þ q~_ T Cn ðq; qÞ
_ q~_ T Cn ðq; q~_ ÞE_ þ ET lF_ ld^
_ þ F T lF_ ld^ þ lE_
_ EdT lF_ ld^ þ lE_ þ E_ q~_ : ð40Þ
ð35Þ Subtracting (2) from (23) and using the Property 4, we have _ E_ Cn ðq; q_ d Þq~_ Mn E€ þ Cn ðq; qÞ _ þ Kv q~ þ Kv E_ þ Kp E ¼ Ed : We define yT ¼ E_ T q~_ T ET consider Lyapunov function
ð36Þ
Hence _ E; q~_ ; Ed Þ ¼ 1 yT Q y HðE; 2
where
Mn 6 0 Q¼6 4 0 0
0 Mn 0 0
H_ ¼ E_ T Kv E_ þ q~_ T Kv q~_ þ E_ T Cn ðq; q_ d Þq~_ q~_ T Mn Lq~_
_ E_ q~_ T Cn ðq; q~_ ÞE_ þ ET lF_ ld^_ þ q~_ T Cn ðq; qÞ
_ _ þ F T lF_ ld^ þ lE_ EdT lF_ ld^ þ lE_ þ E_ q~_ :
ðF Ed ÞT , and
1 1 1 1 H ¼ E_ T Mn E_ þ q~_ T Mn q~_ þ ET Kp E þ ET lðF Ed Þ 2 2 2 2 1 1 T T þ ðF Ed Þ lE þ ðF Ed Þ lðF Ed Þ: 2 2 ð37Þ
2
Using Property 2, we have
ð41Þ
Adding and subtracting F T q~_ , we have H_ ¼ E_ T Kv E_ þ q~_ T Kv q~_ þ E_ T Cn ðq; q_ d Þq~_ q~_ T Mn Lq~_
_ E_ q~_ T Cn ðq; q~_ ÞE_ þ ET lF_ ld^_ þ q~_ T Cn ðq; qÞ
_ þ F T lF_ ld^ þ lE_ q~_
_ EdT lF_ ld^ þ lE_ þ E_ q~_ þ F T q~_ :
ð38Þ
0 0 Kp l
3
0 07 7 l5 l
and
Kp [ l.
Choosing 8 _ 1 > < lF_ ld^ þ lE_ q~_ ¼ / F _ lF_ ld^ ¼ wE > : _ lF_ ld^ þ lE_ q~_ þ E_ ¼ 0
ð43Þ
where l, w and u are diagonal positive definite matrices. Hence
The vector F is to be determined. It follows that 1 1 qm kyðtÞk2 HðyðtÞÞ qM kyðtÞk2 2 2
ð42Þ
F ¼ / E_ ð39Þ
The time-derivative of (37), evaluated along (35), (36) and using the Property 4, and Assumption 2, we obtain
and d^ ¼ p / q^_ p_ ¼ / q€d þ l1 w E :
ð44Þ
ð45Þ
123
Meccanica
2 ! 2Cm Vm þ Cm q~_ E_ H_ Kvm 2ðMm Lm KvM Þ 1 /2 2 / 2 Mm Lm KvM M q~_ min E_ : 2 /min 2
Therefore, we obtain H_ ¼ E_ T Kv E_ þ q~_ T Kv q~_ þ E_ T Cn ðq; q_ d Þq~_ q~_ T Mn Lq~_ _ E_ q~_ T Cn ðq; q~_ ÞE_ E_ T / E_ þ q~_ T Cn ðq; qÞ ET w E þ E_ T / q~_ :
ð50Þ
ð46Þ Using the Properties 1, 3 and Assumption 1, we have 2 2 H_ Kvm E_ ðMm Lm KvM Þq~_ _ q~_ þ E_ T Cn ðq; q_ d Þq~_ E_ T Cn ðq; q~_ Þq~_ þ E_ T Cn ðq; qÞ 2 /min E_ wm kEk2 þE_ T / q~_ : ð47Þ _ ¼ Cn ðq; qÞ _ þ Cn ðq; q_ d Þ Cn ðq; q~_ Þ. Let Tðq; qÞ We note that ! 2Cm Vm þ Cm q~_ T q~_ _ q~_ 2E_ E_ Tðq; qÞ 2 ! 12 2Cm Vm þ Cm q~_ 2 _ 2 E Mm Lm KvM 2 12 Mm Lm KvM q~_ 2 " 2 # 2 2Cm Vm þ Cm q~_ 2 E_ Mm Lm KvM 4 2 Mm Lm KvM þ q~_ 2 ð48Þ
Therefore, we have
123
2 ! 2Cm Vm þ Cm q~_ E_ H_ Kvm 2 Mm Lm K 1 /2M q~_ 2 Mm Lm KvM 2 /min E_ 2 0. because /min 2 We choose Kvm as follows 2 2Cm Vm þ Cm q~_ Kvm [ 2ðMm Lm KvM Þ
ð49Þ
ð51Þ
ð52Þ
thus Kvm [
9 ðCm Vm Þ2 : 2 ðMm Lm KvM Þ
ð53Þ
We obtain ! 9 ðCm Vm Þ2 Lm [ þ KvM Mm1 : 2 Kvm Therefore, we have 1 /2M q~_ 2 : _ Mm Lm KvM H 2 /min If we choose /2M Lm [ KvM þ Mm1 /min
and /M T q~_ _ _ E / q~_ 2 E 2 1 1 /M 2 2 /min 2 E_ _ 2 q~ /min 2 2 " # 2 ð/M Þ2 2 /min 2 q~_ þ E_ : /min 4 2
Hence
ð54Þ
ð55Þ
ð56Þ
then H_ is a negative semi-definite function. This result is not sufficient to demonstrate the asymptotic stability, and we can conclude only the stability of the _ E; q~_ and Ed are bounded. Hence, from system, i.e., E; (35) and (36), we find that q€~ and E€ are bounded. Thus, using lemma 1, the asymptotic stability of the equilibrium can be proved.
Meccanica
Nevertheless, it is straightforward to show that _ _ ¼ E 2 Ln2 ; q~_ 2 Ln2 to conclude that limt!1 EðtÞ 0; limt!1 q~_ ðtÞ ¼ 0Þ, and thereafter we will demonstrate that limt!1 EðtÞ ¼ 0 and limt!1 Ed ðtÞ ¼ 0. Part 2. E_ 2 Ln2 if there exists some constant, c, such that
3
c
EðtÞ _ 2 dt:
qd1 1
Position (rad)
Z1
q1
2
ð57Þ
0
-1
0 -2
From (50), (54) and (56), we can write d / _ 2 _ HðEðtÞ; EðtÞ; q~_ ðtÞ; eðtÞÞ min EðtÞ dt 2
where eðtÞ ¼ FðtÞ Ed ðtÞ. Integrating the two members of (58), we obtain _ ~_ HðEð1Þ;Eð1Þ; Z qð1Þ;eð1ÞÞ
-3
ð58Þ
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
5
_ dHðEðtÞ; EðtÞ; q~_ ðtÞ; eðtÞÞ
4
EðtÞ _ 2 dt:
3
ð59Þ
0
Hence _ HðEð1Þ; Eð1Þ; q~_ ð1Þ; eð1ÞÞ _ HðEð0Þ; Eð0Þ; q~_ ð0Þ; eð0ÞÞ Z1 / _ 2 dt: min EðtÞ 2
Position (rad)
Z1
0.5
Fig. 2 Desired and real positions for 1st joint (Nominal case)
_ ~_ HðEð0Þ;Eð0Þ; qð0Þ;eð0ÞÞ
/ min 2
0
2 1 0 qd2 -1
ð60Þ
-2
0
_ We note that HðEðtÞ; EðtÞ; q~_ ðtÞ; eðtÞÞ is a positive definite function, then _ HðEð1Þ; Eð1Þ; q~_ ð1Þ; eð1ÞÞ 0:
/ _ HðEð0Þ; Eð0Þ; q~_ ð0Þ; eð0ÞÞ min 2
Z1
f
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Z1
q~_ ðtÞ2 dt:
ð63Þ
0
EðtÞ _ 2 dt:
0
ð62Þ _ ~_ 2HðEð0Þ;Eð0Þ; qð0Þ;eð0ÞÞ , /min
0.5
Fig. 3 Desired and real positions for 2nd joint (Nominal case)
ð61Þ
From (60) and (61), we can conclude that
q2 0
then (57) is If we take c ¼ verified. This implies that E_ 2 Ln2 , therefore _ ¼ 0. limt!1 EðtÞ Now, we demonstrate that limt!1 q~_ ðtÞ ¼ 0. q~_ 2 Ln2 if there exists some constant, f, such that
From (55) and (56), we can write 2 d _ HðEðtÞ; EðtÞ; q~_ ðtÞ; eðtÞÞ dq~_ ðtÞ ð64Þ dt
/2 where d ¼ 12 Mm Lm KvM / M [ 0. min We found the same Eq. (58), but E_ and /min 2 are _ replaced by q~ and d, respectively. Therefore, to prove that limt!1 q~_ ðtÞ ¼ 0, we can use the same previous _
_
~ qð0Þ;eð0ÞÞ reasoning. Hence, if we take f ¼ HðEð0Þ;Eð0Þ; , d
123
Meccanica 2
15 First joint
Estimated velocity 10
Real velocity
1
Velocity (rad/s))
Position error (rad)
1.5
0.5 0 -0.5
5 0 -5
-1
-10
-1.5 -2
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
-15
5
Fig. 4 Position error for 1st joint (Nominal case)
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 6 Real and estimated velocities for 1st joint (Nominal case)
2
15 Second joint
Estimated velocity 10
1 0.5
Velocity (rad/s))
Position error (rad)
1.5
0 -0.5 -1 -1.5 -2
Real velocity
5 0 -5 -10
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
-15
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 5 Position error for 2nd joint (Nominal case) Fig. 7 Real and estimated velocities for 2nd joint (Nominal case)
then (63) is verified. This implies that q~_ 2 Ln2 , therefore limt!1 q~_ ðtÞ ¼ 0. _ ¼0 Up to here, we demonstrated that limt!1 EðtÞ _ € and limt!1 q~ðtÞ ¼ 0. In addition limt!1 q~ðtÞ ! 0 and € ! 0. Thus, from (35) and (36), we find limt!1 EðtÞ that limt!1 EðtÞ ¼ 0 and limt!1 Ed ðtÞ ¼ 0. Then, the asymptotic stability is proved. Since kyk [ q~_ , (52) holds if pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2Kvm ðMm Lm Kvm Þ 2Vm : ð65Þ 0\k yk\ Cm From (39), (51) and (65), it follows that if
123
! rffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2Kvm ðMm Lm KvM Þ qm 2Vm : kyð0Þk\ Cm q ð66Þ Then, the closed-loop system is semi-globally asymptotically stable. This completes the proof.
4 Numerical simulation results Consider a two-link manipulator with masses m1, m2, lengths l1, l2 and angles q1, q2. Then the model
Meccanica -3
1
3
First joint
x 10
q1 2
0.8
qd1 1
0.4
Position (rad)
Velocity error (rad/s)
0.6
0.2 0 -0.2
0 -1 -2
-0.4 -0.6
-3
-0.8 -1
-4 0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
-3
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 10 Desired and real positions for 1st joint (True plan)
Fig. 8 Velocity error for 1st joint (Nominal case) 1
0
Second joint
x 10
5
0.8
4
0.4 0.2 0 -0.2 -0.4
q2
2 1 0
-0.6
-1
-0.8 -1
qd2
3 Position (rad)
Velocity error (rad/s)
0.6
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 9 Velocity error for 2nd joint (Nominal case)
_ and G(q) equation can be written as (2). MðqÞ; Cðq; qÞ are given by: m11 ¼ m2 l22 þ 2m2 l1 l2 cosðq2 Þ þ ðm1 þ m2 Þl21 ; m12 ¼ m21 ¼ m2 l22 þ m2 l1 l2 cosðq2 Þ; m22 ¼ m2 l22 : C11 ¼ m2 l1 l2 sinðq2 Þq_ 2 ; C12 ¼ m2 l1 l2 sinðq2 Þq_ 2 ; C21 ¼ m2 l1 l2 sinðq2 Þq_ 1 ; C22 ¼ 0: G1 ¼ m2 l2 g cosðq1 þ q2 Þ þ ðm1 þ m2 Þl1 g cosðq1 Þ; G2 ¼ m2 l2 g cosðq1 þ q2 Þ: ! Cm is given by Cm n2 sup cijk ðqÞ , where cijk ðqÞ i;j;k;q
is the ijk Christoffel symbol [3]:
-2
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 11 Desired and real positions for 2nd joint (True plan)
cijk ¼
1 oMkj ðqÞ oMki ðqÞ oMij ðqÞ þ : 2 oqi oqj oqk
Therefore, we find that Cm ¼ 4:2 ðkgm2 Þ, Vm ¼ 10 ðrad/sÞ and Mm ¼ 1 ðkgm2 Þ . In the following we will compare the simulation results of the two cases (nominal case and true plant). The nominal parameter values are assumed to be: 1 ¼ 0:5 ðkgÞ; m l2 ¼ 1:5 ðmÞ
2 ¼ 0:7 ðkgÞ; m
l1 ¼ 1ðmÞ;
The true plant parameters are assumed to be: m1 ¼ 0:7 ðkg); m2 ¼ 0:9 ðkg); l1 ¼ 1:2 ðmÞ; l2 ¼ 1:7 ðmÞ:
123
Meccanica 15
2
10
1 Velocity (rad/s)
Position error (rad)
Estimated velocity
First joint
1.5
0.5 0 -0.5
5 0 -5
-1 -10
-1.5 -2
0
0.5
1
2
1.5
2.5 3 Time (s)
3.5
4
4.5
-15
5
Real velocity
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 14 Real and estimated velocities for 1st joint (True plan)
Fig. 12 Position error for 1st joint (True plan)
15
2 Second joint
1.5
Estimated velocity
10
Velocity (rad/s)
Position error (rad)
1 0.5 0 -0.5
5 0 -5
-1
-10
-1.5 -2
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
The Coulomb and Viscous friction is considered as an external disturbance. Friction simulation
The external disturbance considered is Coulomb and Viscous friction, given by _ ¼ c1 signðqÞ _ _ þ c2 q: dðqÞ
ð67Þ
The parameters for first and second links in the simulation are given by c1 ¼ ½ 0:54
123
0:176 T Nm
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 15 Real and estimated velocities for 2nd joint (True plan)
Fig. 13 Position error for 2nd joint (True plan)
a.
-15
Real velocity
ð68Þ
c2 ¼ ½ 0:676
0:88 T N m/rad/s:
ð69Þ
There are some problems in using the friction model (67) in simulation directly. One is due to the discontinuity of the friction characteristics at zero velocity, a very small step size is required for testing zero velocity. The other is that when the velocity is zero, or the system is stationary, the friction is indefinite and depends on the controlled torque. In the simulation, to improve the numerical efficiency, a revised friction model, which is modified from [43], is adopted. The revised friction model can be described by
Meccanica -3
1
friction given by (67). In the simulation, l is chosen as 0.01.
First joint
x 10
0.8
b.
Velocity error (rad/s)
0.6
The desired trajectories are chosen as:
0.4 0.2
qd1 ðtÞ ¼ 2 cosð4p t =3Þ þ sinð2p t =3Þ
0
0t5:
qd2 ðtÞ ¼ 1 2 cosð4p t =3Þ sinð2p t =3Þ
-0.2
Simulation parameters:
-0.4 -0.6
Kp ¼ diagf9000; 9000g; Kv ¼ diagf10; 10g;
-0.8 -1
0
0.5
1
2
1.5
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 16 Velocity error for 1st joint (True plan)
-3
1
Second joint
x 10
0.8 0.6 Velocity error (rad/s)
Simulation results
0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
0.5
1
1.5
2
2.5 3 Time (s)
3.5
4
4.5
5
Fig. 17 Velocity error for 2nd joint (True plan)
2
_ Þ dr ¼ d þ ðTr d Þeðq=l
L ¼ diagf2500; 2500g; / ¼ diagf10; 10g; l ¼ diagf10; 10g; w ¼ diagf100; 100g: The simulation results of the proposed scheme on two-link robot manipulator along a trajectory plan are shown in Figs. 2, 3, 4, 5, 6, 7, 8 and 9 for nominal case and in Figs. 10, 11, 12, 13, 14, 15, 16 and 17 for the true plan. Figures 2, 3, 10, 11 show the simulation results for real and desired position trajectories of each joint in both cases, when the velocity given by the observer (24, 25) and the disturbance given by (26, 27) are used in the control law. We can see that the real trajectory follows the desired trajectory without error through time axis. Figures 4, 5, 12 and 13 show the position errors of each joint in both cases. It is clear that the error converges to zero. Figures 6, 7, 14 and 15 show the observer results, where we can see the convergence of the observed velocity to the real velocity of each joint in both cases, in a minimum time. Figures 8, 9, 16 and 17 show the velocity errors of each joint in both cases. It is clear that the error converges to zero. Therefore, it is clear that the control algorithm works well.
ð70Þ
where d is given by (67), dr is the revised friction, l is a small positive scalar, and Tr is given by 8 t[K
5 Conclusion This paper has presented trajectory tracking control problem of rigid robot systems with model uncertainty and subject to external disturbances, using only position measurement. For this purpose, a velocity observer is proposed to estimate the missing velocity, and an updated term presents the estimated disturbance yielded by the disturbance observer has been added in the control law. Using Lyapunov theory, it has been shown that the composite controller consisting of a nonlinear controller, the velocity observer and
123
Meccanica
the disturbance observer is semi-globally asymptotically stable, and an estimate region of attraction has also been given. The developed method is illustrated by the simulation results on two-link manipulator. These results show the effectiveness of controllerobservers scheme. In comparison with other works, the robot dynamics may be uncertain in the proposed method while they should be exactly known in the previous methods [44, 45]. In [26], the controller-observer proposed by the authors has not offered good results from the tracking point of view. In particular, the performances obtained by using the nonlinear observer are quite sensitive to uncertainties in the robot dynamics model. This problem is solved in the present paper by using a disturbance observer. In [14, 42], the authors proposed two disturbances observers for robotic manipulators, unfortunately, the velocities should be measurable. In our work, the velocity is not measurable, and it is given by a velocity observer. Therefore, our method must satisfy the following • • •
Good velocity observer performance. Good trajectory tracking control performance. Good approximation of the uncertain nonlinear part.
References 1. Arimoto S, Miyazaki F (1984) Stability and robustness of PID feedback control of robot manipulators of sensory capability. In: The 1st international symposium of robotics research. MIT Press, Cambridge 2. Luh JYS, Walker MW, Paul RCP (1980) Resolved-acceleration control of mechanical manipulators. IEEE Trans Autom Control 25(3):468–474 3. Ortega R, Spong MW (1989) Adaptive motion control of rigid robots: a tutorial. Automatica 25(6):877–888 4. Slotine JJE, Sastry SS (1983) Tracking control of nonlinear systems using sliding surface with application to robot manipulators. Int J Control 38:465–492 5. Bouakrif F (2011) D-type iterative learning control without resetting condition for robot manipulators. Robotica 29(7):975–980 6. Bouakrif F (2011) Iterative learning control with forgetting factor for robot manipulators with strictly unknown model. Int J Robot Autom 26(3):264–271 7. Bouakrif F (2012) Commande par apprentissage ite´ratif des robots manipulateurs, in French, Editions Universitaires Europe´ennes, Germany. ISBN:978-613-1-50705-2
123
8. Bouakrif F, Boukhetala D, Boudjema F (2008) Passivitybased controller-observer for robot manipulators. Information and communication technologies: from theory to applications, ICTTA 2008, 3rd international conference on, Damascus, pp 1–5 9. Ryu JH, Kwon DS, Hannaford B (2004) Stable teleoperation with time domain passivity control. IEEE Trans Robot Autom 20:365–373 10. Bouakrif F, Boukhetala D, Boudjema F (2010) Passivity based controller-observer for robot manipulators. Int J Robot Autom 25(1):1–8 11. Paden B, Panja R (1988) Globally asymptotically stable’PD?’ controller for robot manipulators. Int J Control 47:1697–1712 12. Dorato P (1987) Robust control. IEEE Press, New York 13. Colbalugh R, Glass K, Seraji H (1995) Performance-based adaptive tracking control of robot manipulators. J Robot Syst 12:517–530 14. Chen WH, Ballance DJ, Gawthrop PJ, O’Reilly J (2000) A nonlinear disturbance observer for robotic manipulators. IEEE Trans Ind Electron 47(4):932–938 15. Chen WH (2004) Disturbance observer based control for nonlinear systems. IEEE/ASME Trans Mechatron 9(4): 706–710 16. Bouakrif F (2016) Iterative learning control for affine and non-affine nonlinear systems. In: Vaidyanathan S, Volos C (eds) Advances and applications in nonlinear control systems, volume 635 of the series studies in computational intelligence, vol 635. Springer, Berlin, pp 555–574 17. Bouakrif F, Zasadzinski M (2016) Trajectory tracking control for perturbed robot manipulators using iterative learning method. Int J Adv Manuf Technol. doi:10.1007/ s00170-016-8550-3 18. Krener AJ, Isidori A (1983) Linearization by output injection and nonlinear observers. Syst Control Lett 3:47–52 19. Lawrence DA (1992) On a nonlinear observer with pseudo-linearized error dynamics. In: Proceedings of 31st IEEE conference on decision and control. Tucson, USA, pp 751–756 20. Krener AJ, Respondek W (1985) Nonlinear observers with linearized error dynamics. SIAM J Control Optim 23(2):197–216 21. Hammami MA (1993) Stabilization of a class of nonlinear systems using an observer design. In: Proceedings of 32nd IEEE conference on decision and control, vol. 3. San Antonio, TX, pp 1954–1959 22. Gauthier JP, Hammouri H, Othman S (1991) A simple observer for nonlinear system: applications to bioreactors. IEEE Trans Autom Control 37(6):875–880 23. Nicosia S, Tornambb A, Valigi P (1990) Experimental results in state estimation of industrial robots. In: Proceedings of 29th IEEE conference on decision and control, pp 360–365 24. Yu W, Li X (2006) PD Control of robot with velocity estimation and uncertainties compensation. Int J Robot Autom 21(1):1–9 25. Bouakrif F, Boukhetala D, Boudjema F (2013) Velocity observer based iterative learning control for robot manipulators. Int J Syst Sci 42(2):214–222 26. Khelfi MF, Zasadzinski M, Rafaralahy H, Richard E, Darouach M (1996) Reduced-order observer-based point-to-
Meccanica
27. 28.
29.
30.
31.
32. 33.
34. 35.
36.
point and trajectory controllers for robot manipulators. Control Eng Pract 4(7):991–1000 Shen Y, Xia X (2008) Semi-global finite-time observers for nonlinear systems. Automatica 45(12):3152–3156 Shen Y, Shen W, Jiang M, Huang Y (2010) Semi-global finite-time observers for multi-output nonlinear systems. Int J Robust Nonlinear Control 20(7):789–801 Perruquetti W, Floquet T, Moulay E (2008) Finite-time observer: application to secure communication. IEEE Trans Autom Control 53(1):356–360 Shen Y, Huang Y (2009) Uniformly observable and globally Lipschitzian nonlinear systems admit global finite-time observers. IEEE Trans Autom Control 54(11):2621–2625 Bouakrif F (2013) Iterative learning control for MIMO nonlinear systems with arbitrary relative degree and no states measurement. Complexity 19(1):37–45 Hong Y, Xu Y, Huang J (2002) Finite-time control for robot manipulators. Syst Control Lett 46(4):243–253 Kelly R, Santiba´n˜ez V, Lorı´a A (2005) Control of robot manipulators in joint space, Advanced textbooks in control and signal processing. Springer, Berlin Berghuis H (1993) Model based control: from theory to practice, Ph.D. thesis, University of Twent, the Netherlands Choi JY, Uh J, Lee JS (2001) Iterative learning control of robot manipulator with I-type parameter estimator. In: Proceedings of the America control conference, pp 646–651 Liuzzo S, Tomei P (2005) A global adaptive learning control for robotic manipulators. In: Proceedings of the 44th
37. 38. 39.
40.
41.
42.
43.
44.
45.
IEEE conference on decision and control, and the European control Conference, Seville, Spain, pp 3596–3601 Lozano R, Taoutaou D (2001) Commande adaptative et application. Hermes Science Publications Slotine JJE, Li W (1991) Applied nonlinear control. Prentice-Hall, Englewood Cliffs Nicosia S, Tomei P (1990) Robot control by using only joint position measurements. IEEE Trans Autom Control 35(9):1058–1061 Berghuis H, Nijmeijer H (1993) A passivity approach to controller-observer design for robot. IEEE Trans Robot Autom 9(6):740–754 Xian B, Queiroz M, Dawson D, McIntyre M (2004) A discontinuous output feedback controller and velocity observer for nonlinear mechanical systems. Automatica 40(4):695–700 Nikoobin A, Haghighi R (2009) Lyapunov based nonlinear disturbance observer for serial n-link robot manipulators. J Intell Robot Syst 55:135–153 Karnopp D (1985) Computer simulation of strick-stip friction in mechanical dynamic systems. ASME J Dyn Syst Meas Control 107:100–103 Lim S, Dawson D, Anderson K (1996) Re-examining the Nicosia-Tomei robot observer-controller from a backstepping perspective. IEEE Trans Control Syst Technol 4:304–310 Canudas de Wit CCC, Fixot N (1992) Adaptive control for robot manipulators via velocity estimated feedback. IEEE Trans Autom Control 37:1234–1237
123