Parameter Optimal Iterative Learning Control with Application to a Robot Arm

In this paper the parameter optimization ILC algorithm is used for trajectory tracking of the robot arm. This control scheme is based on the parameter optimization through a quadratic performance index which its solution will converge in norm to zero. The control design is very simple in the sense that the only requirement is to reduce the error of the movement of the robot arm for picking up the object at the desired target. Forward and Inverse kinematics analysis are applied to find the joint angles at the desired position and it will be compared with the current position to obtain the error value. The ILC algorithm will finally be used to correct the error trial to trial until the position of the robot arm is completely closed to the target.


Introduction
Iterative learning control (ILC) is concerned with trajectory tracking-control problem, where the required trajectory is repeated over a finite duration known as the trial or iteration length. This applies to many industrial applications such as robotics, automated manufacturing plants and food processing, for example [1]. The principle behind ILC is to suitably use information from previous trials, often in combination with appropriate current trial information, to select the current trial input to sequentially improve performance from trial to trial [2]. ILC was initially defined by Arimoto et al. [3]. Since then, there has been significant development of ILC algorithms which now include principles and theory from a wide range of automatic control disciplines. One such algorithm is parameter optimal ILC [4] which was introduced using a simplified form of lower dimensional optimization. In the cost function used, the parameter is selected optimally to ensure that the algorithm results in the monotonic convergence. One possible improvement is to select the parameter by making it iteration varying. The parameter optimal ILC guarantees monotonics reductions in mean-square tracking error and also has advantage of potentially being much simpler than NOILC [5] in terms of implementation.
In this paper POILC is implemented on a robot arm for pick and place task. The position of the object will be known by obtaining the location from image processing operation which the centroid is identified. After that it will be sent to the robot arm's controller to control the direction of the robot arm to reach the desired target. However, approaching to the position of the target is not accurate. There are sometimes errors because the robot arm is operated at the same level of tracking error. Therefore the POILC algorithm is chosen to solve this problem in which the tracking error is corrected every trials of the operation. The robot arm is finally able to reach the target precisely.
The outline of the rest of the paper is as follows: the parameter-optimal ILC problem and matrix representation for dynamic systems are reviewed in section 2. The image processing is roughly described in section 3. The robot arm's structure and also its kinematics are shown in section 4. The operations of the robot arm are presented in section 5. The experimental results are presented in section 6 then the conclusions are given in the last section.

Parameter Optimal ILC
The starting point of the POILC algorithm is to consider the system in the discrete model state-space form, which the states, inputs and outputs are assumed to be sampled at intervals h over a time interval [0,T] and the number of samples N = T/h is known. That discrete model can be written in the form x t Ax t Bu t y t Cx t where A, B and C are constant real n×n, n×l and m×n matrices respectively. It is useful in the analysis to replace the linear plant (1) by a matrix model relating a vector of inputs to a vector of outputs for each trial. Therefore, the plant (1) is described equivalently as y Gu d = + (2) where G is the lifted plant model consisting of the Markov parameters of the plant (1) The input u and the output y are 'super-vector' which the elements are the inputs and the outputs at time interval for each trial shown as follows The index k denotes the iteration number. For simplicity, it is assumed that m = 1. Furthermore, the tracking error at iteration k is defined as e k = r -Gu k -d = (r -d ) -Gu k and hence, without loss of generality, it is possible to replace r by r -d and therefore to assume that d = 0 in what follows. Equivalently, it is possible to assume that x 0 = 0.
The following feedforward control law is chosen significantly for further investigation in the POILC scheme [6], where β k+1 is a scalar gain parameter. The important thing to observe here is that the parameter β k+1 is to be varied from each trial. In order to calculate the control input on the (k + 1)th iteration based on (5), at the end of kth iteration β k+1 is selected to be the solution of the quadratic optimization problem where a suitable performance index J(β k+1 ) is defined as where w > 0 is a weighting parameter introduced to limit the value of β. Using e = r -Gu the tracking error update relation has the form The stationary condition dJ/d β k+1 = 0, a necessary and sufficient condition, gives the optimal β k+1 as 1 2 T k k k k e Ge w Ge This algorithm is the feed-forward type and it has guaranteed monotonic convergence to zero if the original system satisfies a positivity condition. Moreover, because of its computational simplicity, it is potentially straightforward to implement in real-time application.  The image processing method is one of the important operations to find the position of the object. The object will be identified where it is by using the camera attached at the grip of the robot arm. The photo of the object taken by the camera is brought to image processing operation to separate the object from the background. The image acquisition is used to bring the image feature out from the image plane by considering the color of the object.

Image Processing
To classify the shape of the object, the image is improved by making it blurred in order to reduce the details. The image will then be transferred from RGB pattern to Gray scale and finally to be binary pattern. The condition to identify the shape is the circularity value. For identifying the position of 30 Parameter Optimal Iterative Learning Control with Application to a Robot Arm the object, after the object is separated from the background, the centroid command will be applied. The position of the object is then obtained in term of coordinate x and y which can be shown in Fig1

The Robot Arm Structure and its Kinematics
The robot arm structure is designed to pick and place the low weight object at the desired position. It consists of 4 links connected by 4 revolute joints and the grip at the end of the robot arm. Every joint can be moved freely and their movement is independent. The dc-motors with encoder are used to drive the 4 joints and the grip which are controlled by microcontroller via RS-232 port. Its real structure is shown in Fig.2.

Forward Kinematics
The joint relation can be described in the matrix form which the movement behaviour of the robot arm is completely described in term of the joint offset, the joint angle, the link length and the twist angle parameters. These four parameters are known as the Denavit and Hartenberg (DH) parameters [7]. The coordinate frames to define the DH parameters are shown in Fig.3 and also the DH parameters of this robot arm can be tabulated in table 1.  With the DH parameters evaluated in Table 1 and the calculation using forward kinematics analysis, the forward kinematics relation of the position of the manipulator of the robot arm given by 4×4 matrix can be obtained as

The Robot Arm Operation
For understanding more clearly, the operation of the robot arm can be easily illustrated in the following diagram.  It can be seen in the block diagram shown in Fig.4 that the robot arm is controlled by applying the ILC algorithm which the position of the joint angles of the robot arm are adjusted every trials of the operation. The current position of the joint angles of the robot arm will be the previous data used to calculate the input of the next iteration. The desired input is the position of the object which is obtained from the camera via the image processing. The object position is in the Cartesian coordinate which will be transformed into the relative joint angles from inverse kinematics analysis. The difference of the current and the desired joint angles is used to improve the position of the robot arm to finally reach the object.  For the experiment, the object is selected to be a light-weight cube which its size is 6×6×6 centimeters. The object is placed somewhere in front of the robot arm within the range of the camera's picture frame. The joints and links of the robot arm are firstly set at the initial position which all joints angles are assumed to be at 0°. Therefore, there will be the error distance between the object and the robot arm. The iteration number is chosen to be 15, 20, 50 and 100 in order to see the benefit of the iteration to the convergence. The weighting parameter for the ILC algorithm is chosen as 10 -6 . The results are given in Fig.5 and Fig.6. Fig.5 shows the behavior of the error in norm over 10 iterations. The error is the difference between the joint angles of the robot arm at the object position and at the current position of the robot arm. The graph indicates that the error in norm of the joint angle θ 1 , θ 2 , θ 3 , θ 4 highly decreases in the first iteration. After the first iteration the errors gradually decreases in a small value as they reduce approximately by 86.13, 79.07, 67.47, and 87.45 percent respectively in the tenth iteration. The effect of the number of the iteration to the convergence is shown in Fig.6. It is seen that increasing the iteration number results in improved the convergence rates. After a hundred iteration the choice of θ 1 reduces error norm by 94.96 percent. This also means that the robot arm can reach the object position more precisely.

Conclusions
In this paper, the use of parameter optimal iterative learning control to control the robot arm is presented. It is illustrated an observation that applying the iterative learning control with the optimization is an alternative way to successfully achieve a perfect tracking. The experimental results show that the robot arm can move progressively toward the desired target in a few iterations. The error measured from the difference between the current position of the joint angles and the target position becomes smaller every increasing the iteration. The error also decreases in the acceptable range which is within 5%. This paper suggests that the use of parameter optimal ILC algorithm does have benefits in the real work. However the additional work is needed to improve for the huge task.