Robotic arm joint position control using iterative learning and mixed sensitivity H∞ robust controller

Received Dec 30, 2020 Revised Mar 6, 2021 Accepted Jun 20, 2021 This paper proposes an improved control strategy of a robotic arm joint using hybrid controller consist of H∞ robust controller and iterative learning controller. The main advantage of this controller is the simple structure that made it possible to be implemented on a small embedded system for frugal innovation in industrial robotic arm development. Although it has a simple structure, it is a robust H∞ controller that has robust stability and robust performance. The iterative learning controller makes the trajectory tracking even better. To test the effectiveness of the proposed method, computer simulations using Matlab and hardware experiments were conducted. Variation of load was applied to both of the processes to present the uncertainties. The superiority of the proposed controller over the proportional integral derivative (PID) controller that usually being used in a low-cost robotic arm development is confirmed that it has better trajectory tracking. The error tracking along the slope of sinusoidal trajectory input was suppressed to zero. The biggest error along the trajectory that happened on every peak of the sinusoidal input, or when the direction is changed has been improved from 15 degrees to 4 degrees. This can be conceived that the proposed controller can be applied to control a low-cost robotic arm joint position which is applicable for small industries or educational purpose.


INTRODUCTION
In this era of industry 4.0, maximum efficiency with no downtime production line become the dream of every company [1]. Robot is one good candidate to make it happen. In manufacturing, human labor was said to be less practical than industrial robot [2]. As long as the robots are maintained properly, they can do their job tirelessly, precisely, and consistently. That is why many industries adopt industrial robots in their line of production. The robot market has grown significantly around 15 percent from 2014 to 2017 and predicted it will be more for the next decades [3]. Despite its great contribution to productivity, the cost of a robot system is very expensive. Small to medium industries will not easily employ robots in their production systems. Their problem will be solved if the cost of an industrial robot is not so expensive. If small to medium industries have opportunities to use robots in their production, they will need human resources to operate and maintain the robot. Therefore, low-cost industrial robots for universities or vocational school is also important. Because the schools produce skilled human resources that support the use of the robots in industries. Universities or vocational schools need more low-cost industrial robotic arms in their educational process. It saves more budget if the robot can be provided locally.
There are many published studies about designing and developing low-cost robotic arms. Besides the price that is lower than the commercial one, low-cost robot components are easily found in the market [4]. Due to the constraints from the component availability in the market, a low-cost robot can have a different architecture from time to time [4] and have less performance than the commercial one [5]. The overall performance can be optimized using a better control algorithm. However, since the embedded system being used is also a small and a low-cost controller, the control algorithm should be a low order controller that has a simple structure. A considerable amount of literature has been published on the issue of a simple controller for a small robotic arm.
Some researchers have developed low-cost robotic arm controller using a simple controller such as proportional integral (PI) controller [6], PID [7]- [9], fuzzy logic [10], [11], hybrid PID, and fuzzy [12], [13], optimal controller [14], neural network [15] and model-based controller [16]. A few researchers also tried to use robust control to control robotic arm joints such as sliding mode controller [17]- [20] and hybrid PIDsliding mode controller [21]. However, all of those researches were done on simulation or implemented on a very small robotic arm using small radio control (RC) servo motors. Nothing was done on a real size robotic arm that considerably applicable in small to medium industries. Secondly, mostly their experiment were done with a step command and were not investigated with a specific trajectory for example sinusoidal trajectory. Thirdly, none of them showed robustness among load variation which is commonly happened on a robotic arm that handles many different tasks.
This paper proposes a hybrid controller to control robotic arm joints using reduced order mixedsensitivity H∞ combined with iterative learning controller. To guarantee good trajectory tracking, iterative learning controller (ILC) was implemented. ILC needs a condition that the system should be a stable closedloop system before implementing the ILC. Therefore, to guarantee the stability of the system before implementing the ILC, a reduced-order mixed-sensitivity H∞ robust controller was implemented. Due to the use of a small embedded system such as an 8-bit microcontroller, the controller algorithm was designed to be simple enough to run on the system. A traditional synthesis of an H∞ controller usually generates high order of controller [22]. In this paper, a reduced-order of H∞ controller combined with iterative learning controller is proposed.

RESEARCH METHOD 2.1. Mechanical design
Mechanical design and the prototype of selective compliance assembly robot arm (SCARA) are shown in Figure 1. The SCARA robot has 4 degrees of freedom with 3 rotational joints and 1 prismatic joint. DC motor on the base or 1st actuator is PG45 dc motor, the 2nd actuator uses PG28 dc motor, the 3rd and the 4th actuator use GA125 dc motor, and lastly, the gripper uses RC servo motor. The Denavit Hartenberg of the SCARA robot is shown in Table 1.
The forward kinematic (1)-(3) as well as the inverse kinematic of the SCARA robot, is presented as [23]:

Electronic design
The electronics of the robot consist of microcontrollers using Arduino Uno, dc motor drivers using VNH2SP chip, and power supply 12 V 10 A. The block diagram of the electronic is shown in Figure 2. Each Arduino Uno controls two dc motors. The Unos will receive commands from the Arduino Mega through serial communication. The trajectory command is generated in Arduino Mega. The Arduino Mega also gives commands to the RC servo motor to open or close the gripper.

Controller design
The controller consists of a mixed-sensitivity H∞ robust controller and iterative learning controller. All the algorithm was written, compiled, and uploaded into an Arduino board.

Mixed-sensitivity H∞ robust controller synthesis
Mixed sensitivity H∞ shapes the sensitivity function and the complementary sensitivity function of a closed-loop system to get a controller with good performance and robustness. Figure 3 shows a single input single output (SISO) close loop system with multiplicative uncertainty. G(s) is the nominal system, Δ(s) is the system perturbation, K(s) is the controller, r(s) is the reference input, e(s) is the tracking error, n(s) is the external disturbance, and y(s) is the output of the system. The controller was designed for 30% of motor viscous friction and 30% of load inertia uncertainties. The perturbed system is expressed by.
The multiplicative system perturbation is: The mixed-sensitivity H∞ robust controller was synthesized using the Matlab command "Mixsyn". Mixsyn computes a controller that minimizes the H∞ norm of the weighted closed-loop transfer function.
A known stable function Ws(s) upper bound the multiplicative perturbation to attenuate external disturbance. Figure 4 shows the function Ws(s) upper-bounds the perturbations. Using Skogestad's method [24], the sensitivity weights (Ws(s)) was designed is being as: +0.001 (13) Figure 5 shows that |Ws S|<1 and |Wt T|<1 because the singular values of the inverse of the weight functions are larger than the sensitivity and the complementary sensitivity singular values. Matlab control synthesis generate a 3rd order of controller: By using Matlab controller order reducer, a 2nd order of controller was generated from (14) (15) Figure 6 shows by simulation that the proposed controller can control the plant satisfactorily even in the presence of uncertainties from 30% variation of motor viscous friction and 30% variation of load inertia.

Iterative learning control
By learning the error from the previous trajectory track, iterative learning control (ILC) improves the trajectory tracking of the control system. In using the ILC, several conditions must meet these criteria: -The trajectory should be a repetitive task.
-The repetitive track should have the same starting and ending position.
-The system should be a stable system before implementing the ILC.
-The tracking performance is improved from one repetition to the next repetition.
-The system should be stable before the ILC is implemented. This is done by the mixed sensitivy ∞ robust controller. ILC adjusts the manipulated control to follow the trajectory command [25]. The equation of the ILC is determined from.
The variables are: uj: ILC control signal ej: error signal j: iteration number kp: proportional gain of ILC kd: derivative gain of ILC It is a PD type ILC. The structure was chosen because besides simple, according to Xukun [26], this structure is already better than a D type or improved D type ILC. The overall hybrid controller output is the output of mixed sensitivy ∞ robust controller plus the output of ILC. The block diagram of the mixed sensitivy ∞ robust controller-ILC controller is shown in Figure 7. The step-by-step of the overall strategy is shown in Figure 8.

RESULTS AND DISCUSSION
A sinusoidal trajectory was prepared to test the algorithm. The frequency of the signal is 0.5 Hz and has the span of trajectory command from 0 to 200 degrees. The mixed sensitivy ∞ robust controller response for the sinusoidal input trajectory is shown in Figure 9. The output response was recorded using the attached rotary encoder on each motor. The trajectory was tracked properly. However, it has significant errors along the trajectory. This error along trajectory command is common due to the high inertia of the system. But this can not be accepted for a robotic arm. The error along the slopes should be very small or zero. Figure 9. Mixed sensitivity ∞ robust controller response for a sinusoidal input trajectory The tracking performance was improved by adding iterative learning controller. The hybrid controller performance is shown in Figure 10. After several iterations, the system able to improve its tracking performance. Without ILC, the tracking performance showed in Figure 9 was so poor. In Figure 10, the tracking performance to reach the peak of the setpoint which is positive 200 degrees had around 20 degrees of error. On the second attempt, the output had a better trajectory tracking error around 2 degrees. However, on the second repetition, the system response performance swang back to around 10 degrees. From the third repetition onward, the tracking performance of the system began more stable with the average of error tracking around 4 degrees. The system can follow the trajectory command along the slopes of the sinusoidal input. However, there is still around 4 degrees of error on the peak of the trajectory due to the fast change of the direction. Figure 10. Mixed sensitivity ∞ robust controller combined with iterative leaning controller response for a sinusoidal input trajectory The proposed controller performance was compared to the previous robot joint controller which was a PID cascade controller. The PID cascade controller was designed to have a position control loop and speed control loop. Figure 11 shows the performance of the PID cascade loop. The PID cascade loop can adjust its speed besides its position control. Therefore, for a high-frequency sinusoidal input, it can reduce the response lag time and improve the error along the slopes of the trajectory. At the peak of the trajectory command, the PID cascade has a big error around 15 degrees. The cascade controller could be adjusted for higher gain to reduce the error, but consequently, the response became very sensitive to input disturbance. The PID cascade output response is not smooth in higher gain.

CONCLUSION
This study aimed was to design and investigate a hybrid controller of mixed sensitivy ∞ robust controller with iterative learning controller for controlling a joint position of a low-cost robotic arm. The Investigation concluded that the proposed controller was able to track the trajectory better than the previous robot control algorithm which was a PID cascade controller. The relevance of the work is supported by the current findings that the proposed controller has no errors in tracking the sinusoidal trajectory command, except on the fast-changing of the direction, it has around 4 degrees of lagging response. This was due to the fast-changing of the direction of the trajectory command. However, this is still better than the PID cascade controller that has around 15 degrees of similar lagging response and always has error along with the trajectory command. The advancement reaches around 73,33% from 15 to 4 degrees in reaching the positive or negative peak of the setpoint. These findings enhance our understanding that the mixed sensitivy ∞ Robust controller can guarantee stability over the uncertainties for example the load variation and the iterative learning controller will fix the limitation of the tracking performance of the robust controller over time along with the repetition. The tracking performance of the mixed sensitivy ∞ robust controller will not be the best tracking because the controller works as an optimal controller that provides the optimal performance in the range of uncertainties [27]. Therefore, its tracking performance was designed to be improved by the ILC.