Abstract
In this paper we consider the tracking control problem of planar robots manipulators via visual servoing in the presence of parametric uncertainties associated with the robot dynamics and the camera parameters. An image–based visual servo control is developed using a Takagi–Sugeno (T–S) fuzzy model. The design includes an image coordinate velocity observer. To the best knowledge of the authors such a proposal remains hitherto unpublished. The new scheme is compared experimentally with two different non–fuzzy algorithms showing the good performance and advantages of the complete system.
1. Introduction
Among the model–based fuzzy control approaches, the Takagi–Sugeno (T–S) is one of the most effective strategies. They proposed their model in 1985 Takagi and Sugeno (1985) and it has emerged as one of the most active areas of research. Basically, a complex dynamic model can be composed in a set of local linear subsystems via fuzzy inference. Hence, it is not surprising that practical applications for control started to appear very quickly after the method had been introduced in different works. On the other hand, in the design of fuzzy controllers a good option is to use parallel distributed compensation (PDC), which offers a procedure to compute a control law from the T–S model. In Kim et al. (2001) a solution to target identification and grasping using a real platform in combination with a vision system is proposed. The task for the robot end–effector is to approach a randomly placed spherical object of known size. The control algorithm is approximated by using an approach based on fuzzy rules that are built in a supervised way, after studying the system behavior. In Wai and Yang (2008) a visual servoing control scheme is proposed for positioning a robot manipulator, divided into two steps: first a fuzzy logic–based visual servoing controller is used to guide the gripper into the neighborhood of the object, and then a local neural network is applied to set the gripper in a desired position. In Fares et al. (2007) a fuzzy logic system and a genetic algorithm are integrated for adaptive visual servoing. Genetic algorithms are employed to optimize the internal parameters of membership functions. In Goncalves et al. (2008) a new uncalibrated eye–to–hand visual servoing based on inverse fuzzy modeling to obtain an inverse relationship of the mapping between image feature variations and joint velocities is proposed. This approach is independent of the robot's kinematic model and camera calibration and avoids the necessity of inverting the manipulator Jacobian online. Different methods can be employed to estimate and identify the internal states of a system when only information from input and output are available, e. g. observer design Tanaka et al. (1998). Fuzzy logic began to be used for the design of observers not long ago, and it is a strategy that is currently under research Zhang and Fei (2006). In Meza (2003) one of the few works on this subject is presented and different designs applied to several nonlinear fuzzy observers are shown with excellent results. In this paper, a fuzzy visual servoing approach for trajectory tracking of planar robot manipulators in the absence of camera parameters, robot dynamics and velocity measurements is introduced. However, on the contrary to the work in Abdelmalek et al. (2007), where a Takagi–Sugeno model based on joint coordinates is employed, in this work we present the model in image coordinates. This strategy is not yet published according to the literature review. Furthermore, an experimental comparison with other well–known algorithms is carried out.
The paper is organized as follows: Section 2 presents the mathematical preliminaries. Section 3 gives the basic concepts about parallel distributed compensation for the Takagi–Sugeno Fuzzy Model and observer design. The control–bserver approach is given in Section 4, while the experimental results are presented in Section 5. Finally, some conclusions are given in Section 6.
2. Preliminaries
The dynamics of a rigid robot arm with revolute joints can adequately be described by using the Euler–Lagrange equations of motion Sciavicco and Siciliano (2000), resulting in
where q ∊ ℝn is the vector of generalized joint coordinates, H(q) ∊ ℝn×n is the symmetric positive definite inertia matrix, C(q,q̇)q̇∊ℝn is the vector of Coriolis and centrifugal torques, g(q) ∊ ℝn is the vector of gravitational torques, D ∊ ℝn×n is the positive semi definite diagonal matrix accounting for joint viscous friction coefficients, τ ∊ E ℝn is the vector of torques acting at the joints, and τp ∊ ℝn represents any bounded external perturbation or friction force.
Throughout this paper, we will assume that the robot is a 2DOF planar manipulator, i. e. it is n = 2 in (1). The direct kinematics is a differentiable map fk(q):ℝ2→ℝ2 relating the joint positions q ∊ ℝ2 to the Cartesian position xR ∊ ℝ2 of the centroid of a target attached at the arm end–effector as xR ∊ fk (q). In this work we used the camera fixed configuration.
The output of the system is the position y ∊ ℝ2 of the image feature, i. e. the position of the target in the computer screen. As shown in Figure 1 the robot workspace is in the x–y plane. The camera is not assumed to be completely parallel to this plane, so that there are two angles of rotation φ,Ψ ∊ ℝ associated to the map from image to workspace coordinates. In order to write y in terms of xR, the image feature y can be computed through transformation and a perspective projections. As shown in the figure, the following coordinates systems are defined: ∊o ∊c·, ∊c·, ∊c, ∊c ∊c ∊

Planar robot system with not parallel camera.
where λ is the focal length, α is a conversion factor from meters to pixels, [uovo]T is the center offset and
3. Parallel distributed compensation for Takagi–Sugeno Fuzzy Model
The parallel distributed compensation (PDC) approach provides a procedure to design a fuzzy controller from a given T–S fuzzy model. The construction of the continuous T–S fuzzy model is based on rules of the form Takagi and Sugeno (1985)
Here Mij(j = 1,2,…,g) are fuzzy sets, r is the number of model rules, x(t) ∊ ℝn is the system state vector, u(t) ∊ ℝm is the input, y(t) ∊ ℝq is the output vector, Ai ∊ ℝn×n, Bi ∊ ℝn×m,Ci ∊ ℝq×n,z(t) = [z1(t),…,zg(t)] are known premise variables that may be functions of the state variables, external disturbances, and/or time. Given a pair of (x(t),u(t)), a standard fuzzy inference method is used, i. e. a singleton fuzzifier, product fuzzy inference and weighted average defuzzifier. The final state of the fuzzy system is inferred as
where
Mij(z(t)) is the grade of membership of zj(t) in Mij. It is assumed that
and
for all t. Therefore
and
For the convenience of notation hi(z(t)) = hi and wi (z(t)) = wi. Then the dynamics of the final state of the fuzzy system can be represented as
The main goal is to determine the local feedback gain Fi in the consequent parts. With PDC we have a simple and natural procedure to handle nonlinear control systems. Other nonlinear control techniques require special and rather involved knowledge. The overall output is given by
The PDC scheme that stabilizes the T–S fuzzy model was proposed by Wang et al. Liu and Lam (2006) as a design framework comprising a control algorithm and a stability test using optimization involving LMI constraints.
3.1 Quadratic Stability Conditions
Consider the following definition.
By substituting (13) in (4), we obtain the Takagi–Sugeno closed loop fuzzy systems as follows Abdelmalek et al. (2007)
which can be rewritten as
where Gij = Ai – BiFj and Gii = Ai – BiFi. The stabilization of a feedback system containing a state feedback fuzzy controller has been extensively considered. The stability conditions corresponding to a quadratic Lyapunov function were derived by Tanaka and Sugeno in Tanaka and Sugeno (1992). The approach requires to find a common positive definite matrix for the r subsystems, which makes it very conservative.
3.2 Stabilization Approach
The stabilization approach used in this paper was introduced by Tanaka et al. in Tanaka et al. (2003), where a fuzzy Lyapunov function is proposed. A candidate Lyapunov function is of the form
where Pi is a positive definite matrix and hi (z(t))≥0, ∊ri=1hi(z(t)) = 1. An interesting advantage is that this form of Lyapunov function takes into account the speed variation of the decision variables, what allows more relaxed stability conditions since this type of functions reduces the global stability of the nonlinear system to the analysis of the local stability of each local linear model (sub–model) separately. The candidate Lyapunov function (18) satisfies the following conditions:
Equation (18) is said to be a fuzzy Lyapunov function for the T–S fuzzy system if the time derivative of V(x(t)) is always negative at x(t) ≠ 0, where Pi is a positive definite matrix. Based on the fuzzy Lyapunov function, we use an approach that gives less conservative stability conditions Abdelmalek et al. (2007), the key assumptions are:
Now consider now the following theorem.
where Gjk = Aj – BjFk and Gjj = Aj – BjFj.
Proof:
The derivative of V(x(t)) in (18) along (17) can be computed after a rather direct but long manipulation as
If Equations (19), (20) and (21) hold, the time derivative of the fuzzy Lyapunov function is negative, i. e. · V(x) ≤ 0, and the closed loop fuzzy system (16) is stable.
Theorem 3.1 is proven by taking into account Assumption 3.1. The constraint imposed on the time derivative of the premise membership functions and hence on the derivative of the premise variables, i. e. the speed of the state variables for the case of z(t) = x(t), is transformed into LMIs of Theorem 3.2 that are solved simultaneously with those of Theorem 3.1 to stabilize the T–S fuzzy systems. The new LMIs that support Assumption 3.1 allow to increase the performance by limiting the displacement rate in the polytope, implying a facility to find the Lyapunov functions and thus a faster stabilization.
∀i,j,ρ ∊ 1,2, …,r and ∀l, where Wijρl = ξρl = (Ai – BiFj).
Proof:
For|̇hp(z)|≤øpand (z = x) one has
where
with νρl ≥ 0 and ∊sl=1 ν ρl(z(t)) = 1. In (26) νρl (z(t)) depends on the number of membership functions. This term represents the maximum value that each input can have when evaluated in the different functions. ξρl depends on the maximum and minimum values that can take a membership function evaluated at the extreme values of the universe of discourse. This term represents the interval that covers each function. Using (26) we obtain LMIs that satisfy (25), from which we can derive
By replacing (16) in (27) it is
If the fuzzy Lyapunov function (18) satisfies
then
so that
and
This last equation can be expressed via LMIs by using the Schur complement as follows:
because
This leads to the LMI condition (24). On the other hand, by considering inequalities (28) and (30), inequality (25) holds if
where
where
3.3 Observer Design
In practice, all states may not be fully measurable and it may be necessary to design an observer to implement (13). If the pairs (Ai,Ci) are observable, the fuzzy system (3) is called locally observable. In this work we will assume that this is the case. The design is based on fuzzy implications, with fuzzy sets in antecedents, and a Luenberger observer in the consequents. Each rule is responsible for estimating the states of a locally linear subsystem. The final outputs are obtained by fuzzy blending the local observers outputs. Based on the PDC structure, the local observers are designed as
where Li with i = 1,2, …, r is the observer gain for the i-th rule. The corresponding PDC fuzzy controller takes form
instead of (13). Note that the same weight wi(z) is used. The dependence of the premise variables on the state makes necessary to consider two cases for fuzzy observer design:
z1, …, zg do not depend on the estimated state
z1,…, zg depend on the estimated state
In the second case in general hi(z) ≠ hi(ẑ) because z ≠ ẑ a priori. Then the premise variables can be the outputs or a combination of the measured states. In this work, we make the following assumption.
After Assumption 3.3, it is proposed
with final output
The design consists in finding the gains Li in the consequent part, for which it is necessary to compute the observer error dynamics. Substitute (5), (37) and (39) in (38) to obtain
On the other hand, by substituting (37) in system (12) one has
Define the observer error as
Then, by subtracting (40) from (41) one gets the observer error dynamics as
Now consider the following theorem.
where
With
Finally, as shown in Abdelmalek (2009), the separation principle holds for system (4)–(5), so that the error dynamics (47) is asymptotically stable.
4. Visual Servoing Fuzzy Controller Design
Consider a two–link robot arm (see Figure 2). In this section we are interested in a T–S fuzzy model by using PDC laws. The fuzzy controller design is to determine the local feedback gains Fi for the closed loop T–S fuzzy system (16).

Experimental test bed.
We define Xi = Pi−1, Fi =MiXi−1, Xi = αijXj for i,j = 1, …, r, where αij ≠ 1 and αij > 0 for i ≠ j, and αij = 1 for i = j. By giving φρ > 0 and αij for i,j,ρ = 1, …, r, we obtain the following LMIs conditions that constitute a stable fuzzy controller design problem:
for each set of i,j,k ∊ {1,…,r} such as j < k
where Wijρl = ξρl (AiXi – αijBiMj). Note that from Xi = αijXj we have Xj = (1/αij)Xi = αijXi, so that αij = 1/ αij ∀i, j ∊ {1, …, r}, and hence, for given i and j, the relation αijαji = 1 is used. Note that Xi and Fi are computed by solving (13), while Mj can be obtained from these two matrices.
The coefficients αij and φρ for i,j,ρ = 1, …, r and i ≠ j, can be chosen heuristically according to the application. In particular, the φρ's are chosen to obtain a fast switching among IF-THEN rules in order to keep the speed of response for a closed–loop system Tanaka and Wang (2001). αij and βij must be different from 1 (for i = j, αij = βij = 1) and selection of ξρl is obtained from hiz(t). Subsequently, we will consider that the premise variables do not depend on the estimated states ○(t). The objective of the tracking control is to make the system outputs follow some predefined trajectories. The inputs are given by the vision system and correspond to the image features, and the output is the torque applied in each joint. The fuzzy observer–based control is summarized as follows
Select the fuzzy rules and membership functions for nonlinear system (3).
Calculate the matrices Ai, Bi and Ci by using model (3).
Establish the reference model or path to follow.
Compute Li.
Solve the LMI to obtain Fi.
Solve the LMI to obtain Pi.
Solve the LMI to obtain P0i.
Construct the fuzzy observer (36).
Construct the fuzzy controller (37).
The system state is given by
where (Δy1, Δy2) represents the robot end–effector position in image coordinates and (Δẏ1, Δẏ2) are the corresponding velocities. Note that it is possible to establish the following limits for the state due to physical restrictions.
To minimize the design effort and complexity, we try to use as few rules as possible. The maximum and minimum values for state variables are defined based on images acquired. x1 and x3 are measurable through the camera. Based on the dynamic model equation which is a function of image coordinates are calculated matrices Ai, Bi and Ci. The T–S fuzzy model is given by the following rules whose membership functions are of triangular form. The premise variables are the tracking error in image coordinates, which is obtained by
where (y1,y2) are obtained through the camera image on the computer screen, and (yd1,yd2) represent the desired trajectories.
Rule 1: If Δy1 is about–10 and Δy2 is about 10 Then Ẋ(t) =
Rule 2: If Δy1 is about – 10 and Δy2 is about 0
Then Ẋ(t) =
Rule 3: If Ay1isabout – 10 and Δy2 is about – 10 Then Ẋ(t) =
Rule 4: If Δy1 is about 0 and Δy2 is about – 10
Then Ẋ(t) =
Rule 5: If Δy1 is about 0 and Δy2 is about 0
Then Ẋ(t) =
Rule 6: If Δy1 is about 0 and Δy2 is about 10
Then ẋ(t) =
Rule 7: If Δy1 is about 10 and Δy2 is about – 10 Then ẋ (t) =
Rule 8: If Δy1 is about 10 and Δy2 is about 0
Then ẋ(t) =
Rule 9: If Δy1 is about 10 and Δy2 is about 10
Then ẋ(t) =
In order to get the matrices (Ai, Bi,Ci), a model of the form (57) is necessary. In Appendix A a sketch of the robot model in image coordinates, as well as and example of a set (Ai,Bi,Ci), with i = 1, are given. The amount of 9 sets was gotten by trial and error. The image coordinates and their corresponding velocities were considered as the system states, which will be stabilized to zero by the T – S fuzzy controller and observer. The experimental results show that tracking errors tend to zero. The tracking errors are considered in the premise of fuzzy rules; the time derivatives are not considered because the trajectories are small and this does not affect the design of the controller. It is noted that the T-S fuzzy model for the controller and observer design is only an approximation of the robot dynamics given in (57). Therefore, asymptotical stabilization of the fuzzy model does not mean that the original robot dynamics can be asymptotically stabilized, unless the T-S fuzzy model is an exact representation of the original robot dynamics. The number of fuzzy rules allow having a robust system that operates correctly in the operation zone defined. Finally, by employing the MATLAB LMI Toolbox, the corresponding gains Fi and Li are computed. The results are also shown in the appendix. Note that the MATLAB LMI Toolbox easily allows to satisfy the conditions given in Theorems 3.1, 3.2 and 3.3 to guarantee asymptotical stability of tracking and observation errors.
5. Experimental Results
In order to test the theory given in Section 4, the robot A465 of CRS Robotics shown in Figure 2 has been used. It has six degrees of freedom, but only joints 2 and 3 (renumbered 1 and 2, respectively) are employed. The visual system consists of a CCD monochrome camera (Pike F–505B). A circular object is attached to the robot end–effector to recognize it. In order to have a point of comparison, two algorithms have also been programmed. Although they are not explicitly designed to cope with two angles of rotation, we consider that the comparison is fair because both of them are robust schemes.
The Comparative Algorithm 1 is an adaptive second order sliding mode global tracking visual feedback controller developed in Parra-Vega et al. (2003). It has been chosen because it is also meant for planar manipulators in a modified image–based approach. Furthermore, the basic assumption is that the robot model parameters are unknown. The Comparative Algorithm 2 is the one given in Zergeroglu et al. (2001). It is an adaptive calibration controller that compensates for uncertain camera parameters and ensures global asymptotic position tracking. The interested reader can see the reference to check out these schemes, omitted here for lack of room.
5.1 Experimental Outcomes
One experiment has been carried out for all control schemes which is considered representative enough to check out tracking performance. It consists in following a circle in the y1 – ?y2 plane described by
With raw eye it was set ø ≈ 45° and Ψ ≈ 25°. Note that the comparative algorithms are only designed for the nominal case Ψ ≈ 0°, thus they rely on their robustness properties to get good results.
In Figure 3, the desired and actual trajectories in the image plane are shown for all approaches. The initial position has been chosen the same in each case and inside the circle. As can be appreciated, the performance appears to be similar in all cases. Note that since the origin (0,0) is in the upper left corner, a minus sign has been added to have the y2 in the right direction even though it is actually a positive value always. To have a better insight, we have computed the Root Mean Square Error (RMSE) as
Root mean square errors [PIXELS].

Trajectory in the image plane (y1,y2). Desired trajectory (…). Proposed Algorithm (—). Comp. Algorithm 1 (– –). Comp. Algorithm 2 (- – -).
Finally, the observation errors for the proposed algorithm are shown in Figure 4. While the error s˜2 becomes zero, s˜1 has a value of 1[pixel] during more than half the experiment to become zero in the end.

Observer errors for the proposed algorithm. a) s˜1. b) s˜2.
6. Conclusions
This paper presents a new fuzzy tracking control scheme for visual servoing applied in a robot manipulator. Based on the T-S model, a fuzzy observer and a fuzzy controller are developed to reduce the tracking errors arbitrarily. Furthermore, the stability of the closed-loop nonlinear system is discussed. The advantage of the proposed tracking control design is that only a simple fuzzy controller is used without feedback linearization or an adaptive scheme. A state space model for a robot manipulator with two degrees of freedom in image coordinates has been suggested which can be employed with other controllers. Experimental results are shown by comparing the proposed scheme with well-known adaptive control laws. The outcomes clearly show the good performance of the algorithm introduced in this work.
Footnotes
Acknowledgment
This work was supported by the
Appendix A
In order to implement the schemes for the experiments shown in Section 5, the dynamic model of robot A465 is necessary for implementation. By considering (1) as two degrees of freedom manipulator and computing the derivative of (2) one gets the differential perceptual kinematic model given by ẏ = αλRφ ẋ R, with ẋR =J(q)q̇ J(q) = ∂fk(q)/∂q is the so–called geometrical Jacobian matrix of the robot Sciavicco and Siciliano (2000). As long as the robot is not in a singularity, one gets
where
The parameters of model (57) can be found in Pérez et al. (2009) and the references cited there. Note that it is exclusively used to generate the state space representation (Ai,Bi,Ci) for the Takagi–Sugeno model. Because of lack of room, we write down only the matrices for the operation point p1. In this case one has
Achieving the conditions given in Theorem 3.1 can be readily done by using the MATLAB LMI Toolbox, so that the control–observer gains are found to be
