EXPERIMENTAL IMPLEMENTATION OF ACTIVE FORCE CONTROL AND ITERATIVE LEARNING ALGORITHM TO CONTROL A ROBOT ARM

Musa Mailah

Faculty of Mechanical Engineering

Universiti Teknologi Malaysia

81310 Skudai

Email:

11

ABSTRACT

The paper describes a practical approach to designing and developing a robot force control scheme. An experimental rig was developed to demonstrate the effectiveness of the proposed control strategy which employs the Active Force Control (AFC) method plus iterative learning algorithm embedded in its control loop. The estimated inertial parameter of the arm that is required to effect the AFC strategy is automatically and continuously computed on-line via the iterative learning algorithm. This estimated parameter together with the measured values of the arm’s acceleration and torque are instrumental for the effective compensation of the disturbances. The experiment was carried out on a single link robot arm with a tension spring of unknown stiffness attached at the end of the link providing a force-controlled environment in which the system has to accommodate. Consequently, the performance of the control system was evaluated considering the trajectory tracking control of the arm given specific desired trajectories. Some of the results obtained were compared to an equivalent system employing PID and the traditional AFC methods.

I.  Introduction

Robot force control is an important area of study as it involves the interaction of the robot’s end effector with the outside world in the form of applied external forces or constrained environment. It is especially critical in application where precise trajectory tracking control is required in the presence of disturbances or uncertainties. A number of force control strategies has been proposed [1-4]. However, most of these methods are confined to rigorous simulation works and analytical studies. Hewit et. al. [5-8] proposed a practical force control technique in which the disturbance compensation action is accomplished through physical measurement and estimation of identified robot parameters. The technique was further complimented by the addition of a learning control mechanism embedded in the overall control strategy as described in [9].

The paper presents a practical and novel method of robot force control using active force control (AFC) and iterative learning algorithm. The robustness of the scheme is tested considering a disturbance element acting at the end of a robot arm. The paper is structured as follows; the first part deals with the underlying principle of AFC and iterative learning concepts followed by a narrative ‘mechatronic’ description of the experimental rig and procedure. The experimental results were later presented and discussed. Finally, a conclusion was derived and the direction for future works pointed out.

II.  Active Force Control and iterative learning

A. Active Force Control

Active force control is a method in which the disturbances (internal or external) can be compensated or eliminated by the physical measurement of the force/torque acting on the physical system and the acceleration of the moving part. In addition to that, an approximation of the inertial parameter should be obtained before the disturbances could be effectively estimated and compensated. Fig. 1 shows an AFC scheme applied to robot control.

Fig. 1: AFC scheme applied to robot control

The symbols used in the diagram are :

H is inertia matrix of the robot arm

Ia is the compensated current vector

Ic is the current command vector

IN is the estimated inertia matrix

It is the armature current for the torque motor

Kp and Kd are the controller gains

Kt is the motor torque constant

q is a vector of positions in joint space

and are reference acceleration vectors in joint and Cartesian spaces respectively

Td is the disturbance torque

Td* is the estimate of all the disturbance torques

Tq is the applied control torque

x and xbar are vectors of actual and desired positions respectively in Cartesian space

At the extreme left hand side of the schematic is a Proportional-Derivative (PD) control component which utilises the Resolved-Motion-Acceleration-Control (RMAC) law defined by the following equation:

(1)

the above equation is then transformed into by means of the inverse Jacobian manipulation and fed forward into the AFC control loop.

From the diagram, it can be seen that two transducers, i.e., the torque sensor and accelerometer are utilized. IN is the inertial parameter to be estimated by suitable means. The important equation for the AFC mechanism is as follows:

Td* = Tq - IN (2)

where and Tq are measured variables related to the acceleration and torque of the robotic arm respectively and IN is an approximated quantity of the inertial parameter. Equation (2) can be further simplified as

Td* = Kt It - IN (3)

where

Tq = Kt It (4)

In this case, instead of measuring torque directly, we measure the torque current It and then multiply it with the torque constant Kt which of course gives the value of the required actuated torque. While the measurement part is obvious, the inertial parameter is not so. It can be obtained by using a number of methods such as crude approximation, reference of a look-up table [5-8] or intelligent means using neural network and iterative learning algorithms [9]. The last method was chosen and implemented in the paper.

B. Iterative Learning

One of the early proposer of the iterative learning method applied to robotic control is Suguru Arimoto who proposed a number of learning algorithms and at the same time provided analytical proof for their convergence, stability and robustness [10-14]. Arimoto et al. showed that tracking error effectively converges to zero with time when an iterative learning scheme is applied to the control of a robot arm. A typical learning algorithm is given by the following equation:

yk+1 = yk + (f + G d/dt) ek (5)

where

yk+1 is the next step value of the output

yk is the current output value

ek is the current positional error input, ek=(xd - xk)

f, and G are suitable positive definite constants (or

learning parameters)

We employ a slightly modified learning algorithm to suit our application. Instead of using the absolute positional track error e, we use a sum-squared track error TE. Equation (5) becomes

yk+1 = yk + (f + G d/dt) TEk (6)

where TEk is the current sum-squared positional track error, TEk = Ö(xd-xk)2.

In the study, we let the estimated inertia matrix IN (to be computed) as the output while the sum-squared track error TE as the input to the learning algorithm. Thus, the relevant equation is expressed as follows:

INk+1 = INk + (f + G d/dt) TEk (7)

It is obvious that IN should be positive definite - the sum-squared error which will produce positive definite value fulfils this criteria and hence the proposed modification. Since we use a ‘proportional’ constant f and a ‘derivative’ constant G, the algorithm is described as a PD-type learning algorithm as shown in Fig. 2.

Fig. 2: A PD-type learning algorithm

III. The Proposed Control Scheme

The proposed scheme is called AFCAIL, an acronym for Active Force Control And Iterative Learning. Since we use a PD-type learning algorithm in the study, the control scheme is known as AFCAIL-PD. The implementation of the PD-type learning algorithm in AFC is shown in Fig. 3. The box (shown by dashed lines) represents the most important part of the proposed scheme which integrates AFC and the learning algorithm.

Fig. 3: The AFCAIL-PD control scheme

Note that the learning algorithm is easily embedded into the parent AFC scheme with the track error TE as the input and the estimated inertia matrix IN as the output of the learning algorithm. A flow chart showing the logical flow of the main control algorithm is illustrated in Fig. 4.

Fig. 4: The learning algorithm applied to the robot arm

An experimental study based on the above integrated scheme is performed considering a number of varying parameters. The robot arm chosen is a rigid single link arm operating in the horizontal plane.

IV. THE EXPERIMENTAL SET-UP

A. The Robot Arm

The experimental robot arm comprises of mechanical, electronics and computer control parts. The mechanical part is made up of several machined parts and assembled using bolts. The electrical and electronics components were selected based on the arm dynamics. For example, the motor was selected according to the torque required to accommodate the motion caused by the loads and masses of the arm at the joint. A servo amplifier was required to drive the motor via computer control. Signal conditioning and noise filter circuits are essential for the proper functioning and accurate readings of the rotary encoder and accelerometer and thus these circuits together with the appropriate power supplies were used. The choice of selecting the interface or I/O card greatly depends on the input and output devices to be employed. In the study, a DAS-20 I/O [15] card was used and considered more than adequate to cater for the input and output facilities. The final section was the computer control involving the programming of the I/O card using a selected ‘C’ language to command the robot arm to move according to the required task using the proposed control strategy. The robot arm is shown in Fig. 5.

Fig. 5: A schematic of the robot arm

From the diagram, we can see that the signals from the sensors are fed to the PC via DAS-20 board from the PC to be processed (analogue to digital (A/D) conversions). The signals are then sent to the I/O board again where they are subject to amplification and conversion from digital to analogue (D/A). The signals are later conveyed to the motor driver block which drives the link according to the control algorithm set in the software. The description of the essential components of the rig is given in the following sections.

A.1 The mechanical arm

The proposed experimental robot arm comprises a rigid link of suitable length driven by a DC torque motor at the joint. The material used for the mechanical parts were made from light aluminium which provide sufficient strength and rigidity. An orthographic view of the mechanical robot arm is shown in Fig. 6.

Fig. 6: An orthographic drawing of the main robot arm

The 10 mm diameter through hole was to accommodate the motor shaft while the middle straight 2 mm slot passing through this hole was to cater for the clamping of the arm to the shaft by means of a set of nut and screw. The threaded blind holes at the tip of the arm was to facilitate the mounting of the accelerometer and the spring. The housing of the motor and the encoder support bracket were again made from aluminium material.

B.1 The electrical and electronic components

a. The I/O Interface Card

A single input/output (I/O) card was used. This is basically an electronic interface device which provide the Analogue-to-Digital and Digital-to-Analogue (ADDA) conversions necessary for the communication between the electro-mechanical components and the microprocessor to take place. The I/O card used was a DAS-20 board which has 16 digital channels and two output ports was fitted into one of the expansion slots in the PC. The output from the board is a continuous signal ranging between +10 V and -10 V (bipolar setting). The motor driver servo-amplifier, rotary encoder and the accelerometer were connected to this card.

b. DC Torque Motor and DC Servo Amplifier

A DC torque motor was used to drive the arm. The choice of the motor was largely based on the amount of torque required for the actuation of the arm after taking into consideration the physical masses, loads and disturbances. The motor was driven by a 28 V DC supply through a DC servo amplifier, model EM1802 [16] connected to the computer. Fig. 7 shows a schematic diagram of the PSUs (power supply units) and the DC motor servo amplifier used in the experiment.

Fig. 7: The power supply units and the DC servo motor amplifier used in the experiment

It should be noted that the motor driver comprises the HVOPAMP (High Voltage Operational AMPlifier - a Voltage to Voltage (V/V) amplifier) and the Voltage to Current (V/I) linear DC servo amplifier. The gains for both the amplifiers were adjusted so as not to cause overloading of the torque motor. The gain for the V/I amplifier was factory set at 0.5 V/A. For the V/V amplifier, the gain should be set to give the maximum permissible output torque. For a maximum torque of 2.06 Nm (1.52 lb-ft from the datasheet) the HVOPAMP gain can be set to give a peak current of 6.0 A. However, as a precautionary measure, the maximum value was set at 90% of the peak current endurable by the motor. Thus, the effective torque considered was within the range of +1.83 Nm and -1.83 Nm. Accordingly, the gain of the HVOPAMP was set to a value of 1.08. In this way, the maximum signal coming from the DAS-20 board was amplified from 10 V to 10.8 V in the HVOPAMP then was converted to a maximum current value of 5.4 A by the DC amplifier which constitutes about 90% of the peak value.

The characteristics of the motor can be found in the technical data sheet for the motor model TM-4412 [17]. An important relationship that was used in the study was,

Tq = Kt It (8)

where the torque Tq is proportional to the motor current It and from the data sheet, the torque constant, Kt for the selected winding was found to be 0.3387 Nm/A (0.25 lb-ft/A for H winding constant in the data sheet). As mentioned earlier, it is essential that the saturation value of the torque current should not be exceeded during the actual operation which would otherwise can cause serious damage to the motor. For this reason, a limiting current resistor of high dissipative power rating was fitted into the circuit. Two 0.2 ohm resistors were placed in series for this purpose. In addition to that, a safety factor was normally included in the robot control program such that the maximum limit was set to a suitable percentage of the actual saturation values. Any computed value which exceed this saturation limit was accordingly reset to a value which can either be a maximum positive or negative torque.