Exploring force neural controllers in a real

0 downloads 0 Views 565KB Size Report
Fernando Passold. University of Passo Fundo ... 99.001-970 Passo Fundo RS (Brazil) ..... over a line (in XY plan) with approximately 34 centimeters of length up ...
In: PASSOLD, F. . Explorign neural control of force in a real manipulator robot. In: VI CONFERÊNCIA INTERNACIONAL DE APLICAÇÕES INDUSTRIAIS (VI INDUSCON), 2004, Joinville. Proceedings. Joinville : UDESC / FEJ, 2004.

Exploring force neural controllers in a real manipulator Scara robot

Fernando Passold University of Passo Fundo Electrical Engineering BR 285, Km 171 99.001-970 Passo Fundo RS (Brazil) Email: [email protected], [email protected]

Abstract— This paper describes experimental results achieved applying artificial neural networks trying to perform force/position control of a real scara manipulator robot. It was used the hybrid force/positional conventional structure where the force loop controller was performed by an NN running in parallel with an PI conventional controller in an architecture know as ”feedback-error-learning”. It was explored up to four structures of Multilayer of Perceptrons trained in real-time using backpropagation expanded with momentum term. The main purpose was lets the NNs compensates dynamical effects that arises when a manipulator is in contact with an environment. Practical problems related to force loop control, were observed using NNs even with different sets of input data for the NNs.

TABLE I D ENAVIT-H ARTENBERG PARAMETERS OF I NTER /S CARA ROBOT. Joint

αi

ai

di

qi

mli

τmaxi

0

0

250

665

q0

333.0

1

180o

250

0

q1

∼ = 6.3 ∼ 19.5 =

2

0

0

q2

0

*

877.0

3

0

0

0

q3

*

16.7

Notes:

1) 2) 3) 4) 5)

157.0

αi is expressed in degrees; ai and di are expressed in mm. mli are expressed in Kg and ml1 ; ml1 includes the last 2 joints(*). τmaxi are expressed in Nm.

Index Terms— manipulator robots, position-force control, neural networks. Detail: JR3 force sensor

I. I NTRODUCTION

(a) Inter/Scara robot. (b) Robot performing force control.

Fig. 1: The Inter/Scara robot. This paper describes and discusses practical results reached with the use of artificial neural networks (NNs), applied to a complex control problem: the force control of a real manipulator robot. This work was applied to a real scara robot type installed at the Laboratory of Industrial Automation (LAI) of the Federal University of Santa Catarina (UFSC). It was bought in cooperation between the Automation and Mechanical Engineering departments to evaluate new algorithms for force/position control, since this robot were equipped with a force sensor. The Inter/Scara robot (showed in Fig. 1) was manufactured by the Institute of Robotics (IfR) of the ETH (Swiss Federal Institute of Technology, http://www.ifr.mavt.ethz.ch ) and differently from most industrial manipulator robots, this one comes with an open architecture, which allows the freely implementation of any type of control law.

The first two links of the Inter/Scara robot acts like an XY planar robot, and each one has 0.5 meters of length and its mechanical transmissions use harmonic drives (HD) to reduce motor-joints frictions at a minimal level. The last two joints use a ball-screw-spline mechanical scheme that allows movement in Z direction and the definition of the final orientation of these robot (angle θ). This robot could be manipulated in the Z direction between 18.45 (cm) and 44.55 (cm). Its JR3 sensor force (homonymous manufacturer) allows these robot to deal until 200 (N) of force in Z direction and 100 (N) in the other ones (X and Y axis). Tab. I shows the Denavit-Hartenberg parameters among others of this robot. The problem stated here involves force control besides the position control to accomplish a simple task where the robot slides over a smooth surface, maintaining an specified force

Exploring force neural controllers in a real manipulator Scara robot

contact as in a polishing task. The challenge involved in this kind of task involves the imprecise localization of the mechanical part that is in contact with the robot, unpredictable surface finish, unpredictable friction effects coming from the joints of the robot and from the contact with the environment, unknown environment stiffness and compliances involved in the system robot-environment. This categorizes a non-linear and time variant system where controllers with adaptation capabilities to deal with this kind of difficulties are desirable justifying the adoption of NNs. NNs are biologically inspired on real neural networks which exhibit a very powerful mechanism to deal with a massive number of data elements in a non-linear and complex way and beyond these facts, it also owns the ability of learning. NNs have been applied to several cases of control systems, showing special adequacy when we have to deal with complexity, nonlinearity or uncertainty even for real-time compensations [1]. The neural approach is interesting notably in the cases where: a) Mathematical models of the process are poor or do not even exist and linear models are inadequate to represent the system with sufficient accuracy. It is clearly the case here where it is very difficult to estimate a model to the joint friction and contacts frictions effects. b) The system works satisfactorily with an existing controller but its performance deteriorates substantially when high performances (e.g. speeds) are required, so non-linear controllers become necessary. NNs have been proved their ability to approximate arbitrary nonlinear maps and the availability of methods for adjusting their parameters on basis of input and output data makes them particularly attractive when unknown nonlinearities are present in a system [2], [3]. They could be used to: map non-linear functions; perform operations between multiple inputs / output variables (exceeding the correlation capability of traditional statistic methods); become a part of an adaptive control schema (in this case, the nets are trained on-line); or to identify systems in real-time. In the control systems area, a few neural models have been proved to be more suitable than others, mainly: 1) Multilayer Perceptron networks (MLP), and; 2) Radial Base Function networks (RBF). Katic and Vukobratovic [4] and Morris and Khemanissia [5] underlie two learning architectures that seems to be the most appropriate and promising: a) Feedback-error learning architecture; b) Adaptive learning architecture. In this work the feedback-error learning architecture was explored into the force control loop. The feedback error learning approach is characterized by the NN inserted in the feedback path to capture the nonlinear characteristics of the system The NN weights are tuned on-line with no off-line learning phase and, when compared with adaptive conventional techniques, it does not require any knowledge of the robot dynamics, linearity in the unknown system parameters or the tedious computation of a regression matrix [6]. Thus, this approach is

model-free and represents an improvement over other adaptive techniques [7]. Narendra [1] also comments that it seems to be valuable to keep linear and non-linear components working in parallel, where the neural networks represent the non-linear components. He also mentions the brief learning time periods and the increasing of accuracy that results from this kind of integration. II. I NTEGRATED P OSITION -F ORCE C ONTROLLER To accomplish the position-force controller required for this kind of task, it was implemented an hybrid controller [6]. The hybrid controller divides the space spanned by the total d.o.f. of the robot into one subspace in which position control is employed, and another in which the force control is employed. A diagonal matrix called selection matrix (S) allows selecting the appropriate control actions for each degree of freedom of the task. Fig. 2 shows the basic structure of an hybrid force-position control. So, the manipulator is force controlled in directions constrained by the environment interaction (in this case, over the Z direction) and position controlled in all remained orthogonal directions (X, Y and θ). Direct Kinematics

I-S

xd xd

Position Controller

τ Pos

I-S +

xd

τ Final

q



q Robot

+

hd

Force Controller

S

S

τ Force

h

f Sens

Force Transformation

Fig. 2: General block scheme of an hybrid force/position control structure. As its formalism does not specify what particular type of force and position controllers should be used, it was assigned a PD controller (acting in the joint space) for the position loop: £ ¤ ˆ τP os = B(q) Kp q˜ + Kd q˜˙ (1) and an PI controller in the force loop: Z ˜ + Ki h ˜ dt τF orce = Kp h

(2)

ˆ refers to the estimated inertia matrix of the robot where: B(·) (based in parameters given by the robot’s manufacturer), q refers to the actual joint positions, q˜ refers to joint positions errors, q˙ refers to the joint velocities, q˜˙ refer to joint velocities errors; Kp , Kd and Ki respectively representes the propor˜ refers tional, derivative and integrative controller’s gains, h ˜ to the force contact error and is defined as: h = h − hd , where h refers to the actual contact force expressed in the operational space (robot base coordinatings) and finally hd

Exploring force neural controllers in a real manipulator Scara robot

refers do the desired contact force. Note that it is necessary to take a transformation to translate the raw data captured by the force sensor (fSens ) to the operational space of the robot as indicated by the fig. 2. Also, it is necessary to take the direct kinematic transformation to translate the data acquired by the joints encoders (q plus its numerical differentiation to have q) ˙ to positions over the operational space (x) and so one with the velocity (x) ˙ and desired acceleration (¨ xd ). Note that the PI conventional force controller performs in parallel with an MLP NN an approach called here as “integrated force controller”. The integrated force controller was based on the “feedback-error-controller” [8]. In this approach (see Fig. 3), during the on-line learning step of the NN, the conventional controller dominates the action control. As the NN learns about the dynamic behaviour of the system, it gradually takes the control over the conventional controller, at least, this is the expected behavior. This approach allowed reaching excellent results when used in combination with a PD or PID controller to perform position control for this exactly robot [9]. Neural Network

yd

+

-

uNN δ

~ y Conventional + Controller u FB

+

u

Robot

y

Fig. 3: Feedback-error-learning NN controller approach. The MLP NN implemented in this works uses the conventional back-propagation algorithm to update its synaptic weights connections (∆wij (t)) enhanced with the momentum term (α) [2]: ∆wij (t) = η · δj · oi + α · ∆wij (t − 1)

(3)

where: wij refers to the matrix of synaptic weights from unit i to unit j, η defines the learning rate parameter, δj corresponds to the local gradient related to the j th -neuron of the next layer, oi refers to the output value of an neuron i of the actual layer, α defines the momentum term parameter, ∆wij (t − 1) defines the old weight change and ∆wij (t) defines the actual weight change to be applied over the NN. The momentum term was introduced to accelerate the decent steepest back-propagation algorithm and also prevent the net to get paralyzed into a local minimum of its error surface (undesirable) [2], [10] The gradient error signal is defined as:  (L) (L)  ϕ0 (v ) · ej (a)   j j (l) δj = (4) P (l+1)  (l) (l+1)   ϕ0j (vj ) · δk · wjk (b) k

where: (a) is applied if unit j is from the output layer (L) and (b) if unit j came from the hidden-layer l, k is an index to an unit of the sucessor layer, ϕ0 (·) refers to the derivative result for the transfer function ϕ(·) reached by the neuron j

(l)

of the current layer being processed, vj corresponds to the activation function reached by the j th -neuron of the lth -layer (sum of all signals getting into this unit). As activation function was used the bipolar logistic function with input and output bounded between [−1, 1]: oj = ϕj (vj ) =

2 −1 1 + exp(−2 · vj )

(5)

(L)

The error signal, ej used for the neurons of the output layer L was the output torque computed by the conventional controller (uF B as showed in fig. 3). III. E XPERIMENTAL R ESULTS It was evaluated up to four different NNs for the force controller loop since that the first one (RNf-1) does not achieve fine results as can be seen en fig. 4. They vary on the input vetor used: 1) RNf-1: xN N =

[q

2) RNf-2: xN N = 3) RNf-3: xN N = 4) RNf-4: xN N =

[hz [hz [hz

fSens ˜ z ]; h

hd ];

hz z −1 z˜z

... q˙2 ];

hz z −5

hdz ];

were q ∈

Suggest Documents