Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a...

8
1 Development of a computer based controller for PUMA 560 manipulator André Miguel Ribeiro de Azevedo Department of Mechanical Engineering - IDMEC, Instituto Superior Técnico, Technical University of Lisbon (TULisbon) Av. Rovisco Pais, 1049-001 Lisboa, Portugal; e-mail: [email protected] Abstract—The aim of this work is to integrate the Quanser Q8 acquisition card and the AMTI BP400600-1000 force plate with PUMA 560 manipulator. The software to be developed is based on Matlab/Simulink and xPC Target toolbox. This integration allows the identification of PUMA 560 dynamics parameters and the development of a controller based on it. Firstly the importance of the knowledge of the dynamics parameters is presented along with the different estimation techniques. The estimation through identification is detailed and the advantages and disvantages of each identification method are discussed. The hardware used during the work and its main features are present as well as the work done to integrate the different devices. The estimation of dynamic parameters procedure, which include the modeling and identification of the manipulator is presented. The algorithm to formulate the dynamic models is derived from the Newton-Euler equations. The identification tech- nique derived uses the benefits of periodic excitation trajectories, allowing the calculation of joint velocities and accelerations from the measured response in an analytic way. Estimation of dynamic parameters enables the implementation of a inverse dynamics control scheme. The performance of the implemented controller is evaluated. Finally the results are checked, discussed and the conclusions drawn Index Terms—Robot Manipulator, PUMA 560, Identification, Force Plate, Dynamics Parameters, Inverse Dynamics Controller I. I NTRODUCTION Mathematical models are required for various steps in the design, simulation or control design of mechatronic systems. There are mainly two ways to obtain these models, the theoretical modelling based on physical principles and de- sign data, and the experimental modelling (or identification) which builds a model based on measured input and output variables. In many cases the basic model structure is known from theoretical modelling, however, some parameters are not known precisely or change with time. Hence, for obtaining precise mathematical models, generally, identification methods have to be applied. They can be divided into two categories according to the models and the type of sensors they use. In the classical and most widely used identification approach the parameters are estimated from motion data and actuator torques or forces, both measured by internal measurement External PC Quanser Q8 Controller Q8 Terminal Board Analog Servo Amp. PUMA 560 Motors Encoders Original Hardware Figure 1. PUMA 560 hardware configuration for devices. The dynamic model relating these inputs and outputs is called internal model. An alternative approach to identify the inertial parameters makes use of the reaction or external model of the robot. This model relates the motion of the robot to the reaction forces and torques on its base plate and is, therefore, totally independent from internal torques such as joint friction torques. The robot motion is measured by means of joint encoders and the reaction forces and torques are measured by means of an external sensor: a force plate. This two models can be combined into one identifiable minimal model. This model allows to combine the joint torque or force and reaction torque and forces measurements in on parameter estimation scheme. This combined model estimation will yield more accurate parameter estimates, and consequently better actuator torque predictions. In the following section, the experimental procedure that allows the estimation of dynamic parameters is described and as result of the estimation, an inverse dynamics control scheme is implemented. II. HARDWARE I NTEGRATION A. Interfacing the PUMA 560 Robot To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition card and its terminal board are installed, replac- ing the original boards. The original power amplifiers and current/torque controllers remain in the control architecture, as does the arm cable card. The hardware configuration is illustrated in figure 1. B. Interfacing the force plate AMTI BP400600-1000 The force plate used is a BP400600-1000 manufactured by AMTI. A DigiAmp DSA-6 amplifier is provided with force plate that ensures the communication between the force plate and PC. The communication is based on the UDP protocol

Transcript of Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a...

Page 1: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

1

Development of a computer based controller forPUMA 560 manipulator

André Miguel Ribeiro de Azevedo

Department of Mechanical Engineering - IDMEC, InstitutoSuperior Técnico, Technical University of Lisbon

(TULisbon) Av. Rovisco Pais, 1049-001 Lisboa, Portugal;e-mail: [email protected]

Abstract—The aim of this work is to integrate the Quanser Q8acquisition card and the AMTI BP400600-1000 force plate withPUMA 560 manipulator. The software to be developed is basedon Matlab/Simulink and xPC Target toolbox. This integrationallows the identification of PUMA 560 dynamics parameters andthe development of a controller based on it.Firstly the importance of the knowledge of the dynamics

parameters is presented along with the different estimationtechniques. The estimation through identification is detailed andthe advantages and disvantages of each identification method arediscussed.The hardware used during the work and its main features

are present as well as the work done to integrate the differentdevices.The estimation of dynamic parameters procedure, which

include the modeling and identification of the manipulator ispresented. The algorithm to formulate the dynamic models isderived from the Newton-Euler equations. The identification tech-nique derived uses the benefits of periodic excitation trajectories,allowing the calculation of joint velocities and accelerations fromthe measured response in an analytic way.Estimation of dynamic parameters enables the implementation

of a inverse dynamics control scheme. The performance of theimplemented controller is evaluated.Finally the results are checked, discussed and the conclusions

drawnIndex Terms—Robot Manipulator, PUMA 560, Identification,

Force Plate, Dynamics Parameters, Inverse Dynamics Controller

I. INTRODUCTIONMathematical models are required for various steps in the

design, simulation or control design of mechatronic systems.There are mainly two ways to obtain these models, thetheoretical modelling based on physical principles and de-sign data, and the experimental modelling (or identification)which builds a model based on measured input and outputvariables. In many cases the basic model structure is knownfrom theoretical modelling, however, some parameters are notknown precisely or change with time. Hence, for obtainingprecise mathematical models, generally, identification methodshave to be applied. They can be divided into two categoriesaccording to the models and the type of sensors they use.In the classical and most widely used identification approachthe parameters are estimated from motion data and actuatortorques or forces, both measured by internal measurement

External PC

Quanser

Q8

Controller

Q8

Terminal

Board

Analog

ServoAmp.

PUMA 560

Motors

EncodersOriginal Hardware

Figure 1. PUMA 560 hardware configuration for

devices. The dynamic model relating these inputs and outputsis called internal model.An alternative approach to identify the inertial parameters

makes use of the reaction or external model of the robot. Thismodel relates the motion of the robot to the reaction forces andtorques on its base plate and is, therefore, totally independentfrom internal torques such as joint friction torques. The robotmotion is measured by means of joint encoders and thereaction forces and torques are measured by means of anexternal sensor: a force plate.This two models can be combined into one identifiable

minimal model. This model allows to combine the jointtorque or force and reaction torque and forces measurementsin on parameter estimation scheme. This combined modelestimation will yield more accurate parameter estimates, andconsequently better actuator torque predictions.In the following section, the experimental procedure that

allows the estimation of dynamic parameters is described andas result of the estimation, an inverse dynamics control schemeis implemented.

II. HARDWARE INTEGRATIONA. Interfacing the PUMA 560 RobotTo control the PUMA 560 arm using a PC, the TRC004

and TRC006 retrofit cards were removed. The Quanser Q8acquisition card and its terminal board are installed, replac-ing the original boards. The original power amplifiers andcurrent/torque controllers remain in the control architecture,as does the arm cable card. The hardware configuration isillustrated in figure 1.

B. Interfacing the force plate AMTI BP400600-1000The force plate used is a BP400600-1000 manufactured by

AMTI. A DigiAmp DSA-6 amplifier is provided with forceplate that ensures the communication between the force plateand PC. The communication is based on the UDP protocol

Page 2: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

2

External PC DigiAmp DSA-6 Force Plate

Ethernet Card

192.168.0.150

Analog Signal

Ethernet Interface

192.168.0.(150+ID)

AMTI

BP400600-1000

UDP Protocol

Figure 2. AMTI force plate hardware configuration

DigiAmp DSA-6 xPC Target 5.1 Host

Motors

Encoders

Force Plate

AMTI

BP400600-1000

Q8

Terminal

Board

Analog

Servo

Amp.

Controller PUMA 560

Physical Interface

Define ID

Ethernet Interface

192.168.0.(150+ID)

Ethernet Card #1

Ethernet Card #1

192.168.0.149

Ethernet Card #2

192.168.0.150

Quanser Q8

Windows XP

Matlab R2011b

192.168.0.148

Analog

Real-Time UDP

TCP/IP

Analog/Digital

Figure 3. Experimental setup

and the scheme used by the DigiAmp requires that the PChost address be set to 192.168.0.150. A fixed addressingscheme has been chosen because of the desirability to maintaincomplete segregation of the DigiAmp’s data transfer networkfrom all general purpose networks. The hardware configurationis illustrated in figure 2.

C. Experimental setupThe implemented software architecture is based on Matlab

and Simulink running under Windows XP. Simulink enablesrapid design of control algorithms and allows specific func-tions to be implemented in C code as S-functions. In addition,xPC Targer 5.1 is used for real-time execution of the compiledC-code generated by the Real Time Workshop from theSimulink diagram, and to communicate with the Q8 boardand force plate. The experimental setup is illustrated in figure3.

III. MODELING

The dynamic models were formulated using the SymbolicMath toolbox from Matlab. The symbolic modelling avoidsthe worst and most frequent computation errors related withnumerical issues. The generated models were validated withSymMechanics toolbox from Matlab.

A. External ModelThe joint force and torque due to the movement of its own

link can be expressed by simply treating the link as a load andapplying the following equation:

!Fi,i

Mi,i

"=

#p̈ii ! g $̇!i

i +$!ii$!ii 0

0 !g ! p̈ii !̇ii +

$!ii!

ii

%&

'mi

miciiIpi

(

)

(1)more compactly,

Wi,i = Ai"i (2)

where Wi,i is the wrench (vector of forces and torques)at joint i due to movement of link i alone. Ai is a dynamicmatrix that describes the motion of link i and "i is the vectorof unknown link inertial parameters.The total wrench Wi at joint i is the sum of the wrenches

Wi,jfor all links j distal to joint i:

Wi =n*

j=i

Wi,j (3)

Each wrench Wi,j at joint i is determined by transmittingthe distal wrench Wj,j across intermediate joints. This is afunction of the geometry of the linkage only. The forces andtorques at neighboring joints are related by

!Fi,i+1

Mi,i+1

"=

#Ri

i+1 0"rii!1,iR

ii+1 Ri

i+1

%!Fi+1,i+1

M i+1,i+1

"(4)

more compactly,

Wi,i+1 = T ii+1Wi+1,i+1 (5)

where Rii+1 is the rotation matrix rotating the link i + 1

coordinate system to the link i coordinate system, "rii!1,i avector from the origin of the link i coordinate system to thelink i+ 1 coordinate system and T i

i+1 a wrench transmissionmatrix.To obtain the forces and torques at the ith joint due to the

movement of the jth link, these matrices can be cascaded:

Wi,j = T ii+1T

i+1i+2 . . . T j!1

j Wj,j = Uij"j (6)

where Uij = T ii+1T

i+1i+2 . . . T j!1

j Aj and Uii = Ai. A simplematrix expression for a serial kinematic chain be derived fromequations 3 and 6:

&

+++'

W1

W2

...Wn

(

,,,)=

&

+++'

U11 U12 · · · U1n

0 U22 · · · U2n

0 0. . .

...0 0 0 Unn

(

,,,)

&

+++'

"1

"2

..."n

(

,,,)

(7)

The wrench measured by the base force sensor is denotedby Wb and can the related with the total wrench at joint 1 by

Page 3: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

3

W1 = T 1b Wb =

-U11 U12 · · · U1n

.

&

+++'

"1

"2

..."n

(

,,,)(8)

where T 1b is a wrench transmission matrix from base to joint

1. Reorganizing the previous equation, the external dynamicmodel can be expressed as:

Wb =/T 1b

0!1

U1" (9)

more compactly,

#e = Ye"e (10)

B. Internal ModelThe equation 7 is linear in the unknown parameters, but

left side is composed of a full force-torque vector at eachjoint. Since only the torque about joint axis can usually bemeasured, each joint wrench must be projected onto the jointrotation axis, reducing the equation 7 to:

&

+++'

#1#2...#n

(

,,,)=

&

+++'

T j11r6

U11 T j11r6

U12 · · · T j11r6

U1n

0 T j22r6

U22 · · · T j22r6

U2n

0 0. . .

...0 0 0 T jn

nr6Unn

(

,,,)

&

+++'

"1

"2

..."n

(

,,,)

(11)more compactly,where T ji

ir6represent the projection of the joint wrench i

onto the joint i rotation axis. The previous equation representsthe internal dynamic model.

#i = Yi"i (12)

C. Combined ModelThe previous internal and external model can be combined

into one identifiable minimal model. This model allows tocombine joint torque or force and reaction forces measure-ments in one parameter estimation scheme.Since the previous models are linear in the desired unknown

parameters, the derivation of a model that combine bothmodels is very simple and can be obtained by:

&

+++++'

Wb

#1#2...#n

(

,,,,,)=

&

+++++'

T b1U11 T b

1U12 · · · T b1U1n

T j11r6

U11 T j11r6

U12 · · · T j11r6

U1n

0 T j22r6

U22 · · · T j22r6

U2n

0 0. . .

...0 0 0 T jn

nr6Unn

(

,,,,,)

&

+++'

"1

"2

..."n

(

,,,)

(13)Besides inertial parameters, parameters that model joint

friction have to be considered in the internal model. It iscommon to model friction in robot joints by means of viscousand Coulomb friction, however in this work only the viscous

term is considered, yielding the following friction model forjoint i:

#fi = fvi q̇i (14)

where fvi represent the viscous friction parameter. Themodelling of the friction always yields parameters that haveto be added to the set of robot inertial model parameters.This parameters however do not influence the external model.Considering that vector "fi contains the friction parameter ofjoint i, the combined model can be expressed as

&

+++++'

Wb

#1#2...#n

(

,,,,,)=

&

+++++'

0 0 0 0q̇1 0 0 0

$ 0 q̇2 0 0

0 0. . . 0

0 0 0 q̇n

(

,,,,,)

&

++++++++++++'

"1

"2

..."n

fv1fv2...

fvn

(

,,,,,,,,,,,,)

(15)

with,

$ =

&

+++++'

T b1U11 T b

1U12 · · · T b1U1n

T j11r6

U11 T j11r6

U12 · · · T j11r6

U1n

0 T j22r6

U22 · · · T j22r6

U2n

0 0. . .

...0 0 0 T jn

nr6Unn

(

,,,,,)

more compactly,

#c = Yc"c (16)

The equation 15 represents the combined dynamic model.

IV. IDENTIFICATION

The dynamic model of a robot is linear in dynamic pa-rameters. After a model reduction, the dynamic model can bewritten as a minimal set of linear equations

# = Y (q, q̇, q̈)" (17)

Robot identification deals with the problem of estimatingthe model parameters " from the measurements during a robotexcitation experiment.

A. Trajectory generation

The generation of an optimal robot excitation trajectoryinvolves nonlinear optimization with motion constraints.The excitation trajectory for each joint is a finite sum

of harmonic sine and cosine functions, i.e., a finite Fourierseries. The angular position qi, velocity q̇i and acceleration q̈itrajectories for joint i are written as

Page 4: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

4

Model ! log!

det!

Y T Y""

Internal !176.0787External !211.5930Combined !202.1715

Table ICOST FUNCTION FOR OPTIMIZED TRAJECTORIES

qi (t) = q0i +Ni*

l=1

ai,l!f l

sin (!f lt)!bi,l!f l

cos (!f lt)

q̇i (t) =Ni*

l=1

ai,l cos (!f lt) + bi,l sin (!f lt) (18)

q̈i (t) =Ni*

l=1

!ai,l!f l sin (!f lt) + bi,l!f l cos (!f lt)

with !f the fundamental pulsation of the Fourier series.This Fourier series specifies a periodic function with periodTf = 2!/"f . The fundamental pulsation is common for alljoints, in order to preserve the periodicity of the overall robotexcitation. Each Fourier series contains 2"Ni+1 parameters,that constitue the degree of freedom for the optimizationproblem: ai,l and bi,l, for l = 1 to Ni, which are theamplitudes of the cosine and sine functions, and q0iwhichis the offset on position trajectory. The offset determines therobot configuration around which excitation will occur. Theparameters for all joints are grouped into vector %.The robot excitation trajectory is optimized according the

criteria ! log/det

/Y TY

00. The optimization problem is for-

mulated as:

% = argmin# ! log/det

/Y TY

00

subject to!2.5089 # &1 # 2.5089 [rad]!1.6760 # &2 # 1.6760 [rad]!2.1049 # &3 # 2.1049 [rad]!1.4312 # &̇1 # 1.4312

-rad s-1

.

!0.9425 # &̇2 # 0.9425-rad s-1

.

!2.1293 # &̇3 # 2.1293-rad s-1

.

!10 # &̈1 # 10-rad s-2

.

!5 # &̈2 # 5-rad s-2

.

!15 # &̈3 # 15-rad s-2

.

(19)The excitation trajectories are five-term Fourier series, yield-

ing 11 parameters for each joint. The fundamental frequency ofthe trajectories is 0.2Hz. The sampling rate for the simulationis 1kHz. The length of the data sequence is 5000 data samples,i.e., one period of the trajectory. The figure 4, 5 and 6show the optimized and the real trajectories for internal,external and combined models respectively. The cost functioncorresponding to optimized and real trajectories are presentedin tables I e II.The classical least-squares method is a well-known method

to solve an overdetermined set of linear equations.

0 2 41.8

2

2.2

2.4

2.6

0 2 4−2

−1.5

−1

−0.5

0

0 2 40

0.05

0.1

0.15

0.2

0 2 4−4

−2

0

2

4

0 2 4−1

−0.5

0

0.5

1

0 2 4−1

−0.5

0

0.5

1

0 2 4−20

−10

0

10

20

0 2 4−2

−1

0

1

2

0 2 4−5

0

5

& 1(t)[rad]

& 2(t)[rad]

& 3(t)[rad]

&̇ 1(t)- rads!

1.

&̇ 2(t)- rads!

1.

&̇ 3(t)- rads!

1.

&̈ 1(t)- rads!

2.

&̈ 2(t)- rads!

2.

&̈ 3(t)- rads!

2.

opt real

Figure 4. Optimal trajectory for internal model

0 2 4−1.5

−1

−0.5

0 2 4−1.8

−1.6

−1.4

−1.2

−1

0 2 4−2.2

−2

−1.8

−1.6

−1.4

0 2 4−2

−1

0

1

2

0 2 4−2

−1

0

1

0 2 4−2

−1

0

1

2

0 2 4−20

−10

0

10

20

0 2 4−10

−5

0

5

10

0 2 4−10

−5

0

5

10

& 1(t)[rad]

& 2(t)[rad]

& 3(t)[rad]

&̇ 1(t)- rads!

1.

&̇ 2(t)- rads!

1.

&̇ 3(t)- rads!

1.

&̈ 1(t)- rads!

2.

&̈ 2(t)- rads!

2.

&̈ 3(t)- rads!

2.

opt real

Figure 5. Optimal trajectory for external model

Model ! log!

det!

Y T Y""

Internal !184.4263External !220.9290Combined !257.0924

Table IICOST FUNCTION FOR REAL TRAJECTORIES

Page 5: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

5

0 2 4−2.6

−2.4

−2.2

−2

−1.8

0 2 4−1.8

−1.6

−1.4

−1.2

−1

0 2 41

1.1

1.2

1.3

1.4

0 2 4−2

−1

0

1

2

0 2 4−2

−1

0

1

2

0 2 4−1

−0.5

0

0.5

1

0 2 4−20

−10

0

10

20

0 2 4−10

−5

0

5

10

0 2 4−10

−5

0

5

10

& 1(t)[rad]

& 2(t)[rad]

& 3(t)[rad]

&̇ 1(t)- rads!

1.

&̇ 2(t)- rads!

1.

&̇ 3(t)- rads!

1.

&̈ 1(t)- rads!

2.

&̈ 2(t)- rads!

2.

&̈ 3(t)- rads!

2.

opt real

Figure 6. Optimal trajectory for combined model

The LS estimator supposes that the measurements arecorrupted with Gaussian white noise and that the standarddeviation is equal for all channels. In practice, this conditionis not satisfied which leads to a bias on parameter estimates.However, due to its simplicity, is often used. As the dynamicmodel is linear in dynamic parameters the least square solutionis

"̂LS =/Y TY

0!1

Y T # (20)

The internal, external and combined parameters estimatesare presented in tables III, IV and V respectively.

# Internal Model (!̂i)Physical Meaning Value

1 Ixz3 0.15672 Iyz3 !0.03323 Ixy3 + a3m3cy3 !0.14834 m3cz3 0.81205 m3cx3

! a3m3 !0.01706 Ixy2 !0.56267 Izz3 ! Ixx3

! a23m3 0.2339

8 Iyz2 0.06729 Iyy3 ! a2

3m3 0.5939

10 Ixx3+ Iyy1 + Iyy2 ! a2

2m2 !

!

a22! d2

3

"

m3 + 2d3m3cy32.1246

11 m2cy2 !0.5532

12 Ixz2 !

!

a23+ d2

3+ 2a3

"

m3 !

a2 (m3cy3 +m2cz2)!0.3193

13 a2(m2 +m3) +m2cx22.1131

14 fv3 10.197015 fv1 9.346716 fv2 20.508417 Ixx2

+ Ixx3+ Iyy1 + d2

3m3 +2d3m3cy3 1.9853

18 Izz2 ! a22(m2 +m3) 3.5732

Table IIIINTERNAL MODEL PARAMETERS ESTIMATES

# External Model (!̂e)Physical Meaning Value

1 m3cx3! a3m3 !0.1364

2 m3cz3 0.50433 Iyz3 0.13154 Ixy3 + a3m3cy3 0.24065 Ixz3 0.01886 m2cx2

! a2m1 !27.91987 m2cy2 !0.05328 Izz3 ! Ixx3

! a23m3 0.7745

9 Ixy2 !0.129310 Iyy3 ! a2

3m3 0.1728

11 m1cx11.0338

12 Iyz2 !0.057313 d3m3 +m1cz1 +m2cz2 +m3cy3 6.706014 Ixz2 + a2m1cz1 2.231215 m1 +m2 +m3 70.965816 Ixx2

! Iyy2 ! a22m1 !12.3473

17 Ixy1 !1.941718 Iyz1 0.2769

19 Iyy1 + Iyy2 + Ixx3+ a2

2m1 + d2

3m3 +

2d3m3cy314.1570

Table IVEXTERNAL MODEL PARAMETERS ESTIMATES

# Combined Model (!̂c)Physical Meaning Value

1 m3cz3 !0.40842 a3 (m1 +m2) +m3cx3

0.98983 Ixz3 0.41504 Iyz3 !0.16695 Ixy3 + a3m3cy3 0.57756 m2cx2

! a2m1 !28.01797 m2cy2 2.45318 Izz3 ! Ixx3

+ a23(m1 +m2) !1.2549

9 Iyy3 + a23(m1 +m2) 1.0551

10 Ixy2 1.190611 m1cx1

0.120412 m1cz1+m2cz2+m3cy3!d3 (m1 +m2) !1.502913 Iyz2 !0.469514 !Ixx2

+ Iyy2 + a22m1 14.1836

15 Ixz2 + a2m1cz1 4.266516 Ixy1 !0.880817 m1 +m2 +m3 70.900118 Iyz1 !1.4964

19 Iyy1 + Ixx2+ Ixx3

! d23(m1 +m2) +

2d3m3cy3!0.0007

20 Izz2 + a22m1 13.1517

21 fv1 9.502322 fv2 20.243423 fv3 9.7488

Table VCOMBINED MODEL PARAMETERS ESTIMATES

In order to validate the estimated parameters a new setof data were measured during a trajectory different fromthe one optimized. The match of predicted and measuredtorques and reaction forces determines the quality of theestimation. In figure 7, 8 and 9 are presented the validation ofinternal, external and combined dynamic parameters estimatesrespectively.The least mean square error between the predict and mea-

sured torque and reaction are presented in tables VI, VII andVIII.

Page 6: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

6

0 2 4−50

−40

−30

−20

−10

0

10

20

30

40

0 2 4−30

−20

−10

0

10

20

30

40

50

60

70

0 2 4−20

−15

−10

−5

0

5

10

15

# 1

(t)[Nm]

# 2(t)[Nm]

# 3(t)[Nm]

Yi"̂i real

Figure 7. Internal model parameters validation

0 2 4−100

−50

0

50

100

0 2 4−150

−100

−50

0

50

100

0 2 4−150

−100

−50

0

50

100

150

0 2 4−140

−120

−100

−80

−60

−40

−20

0

0 2 4640

660

680

700

720

740

760

0 2 4−60

−40

−20

0

20

40

60

Fx(t)[N]

Fy(t)[N]

Fz(t)[N]

Mx(t)[Nm]

My(t)[Nm]

Mz(t)[Nm]

Ye"̂ereal

Figure 8. External model parameters validation

0 2 4−200

−100

0

100

200

0 2 4−150

−100

−50

0

50

0 2 4−100

−50

0

50

100

0 2 4−200

−100

0

100

0 2 4−100

0

100

200

0 2 4−20

0

20

40

60

0 2 4600

650

700

750

0 2 4−100

−50

0

50

100

0 2 4−20

−10

0

10

20

Fx(t)[N]

Fy(t)[N]

Fz(t)[N]

Mx(t)[Nm]

My(t)[Nm]

Mz(t)[Nm]

# 1(t)[Nm]

# 2(t)[Nm]

# 3(t)[Nm]

Yc"̂creal

Figure 9. Combined model parameters validation

MSE "1#

N2m2$

"2#

N2m2$

"3#

N2m2$

Value 22.6737 53.1213 11.2793

Table VILEAST MEAN SQUARE ERROR FOR INTERNAL MODEL VALIDATION

MSE Fx

#

N2$

Fy

#

N2$

Fz

#

N2$

Value 106.4345 244.3708 110.4701

MSE Mx

#

N2m2$

My

#

N2 m2$

Mz

#

N2m2$

Value 207.4052 45.0013 44.8581

Table VIILEAST MEAN SQUARE ERROR FOR EXTERNAL MODEL VALIDATION

V. CONTROLGood estimates for internal model parameters were ob-

tained, as determined from the match of predicted torquesto measured torques. This allows the implementation of aninverse dynamics control scheme based on internal model asshown in figure 10.

&̈d +KD

1&̇d ! &̇r

2+KP (&d ! &r) Yi

1&r, &̇r, '

2"̂i PUMA 560

ddt

' # &r

&̇r

&d

&̇d

&̈d

Figure 10. Inverse dynamics control scheme

The desired and real trajectories of the robot are shownin figure 11. The error between desired and real trajectory isshown in figure 12. Once again the results shown in figure 11and 12 prove that the estimates of dynamic parameters of theinternal model are good.As the results of estimates of dynamic parameters of

combined model are not satisfactory it was impossible toimplement a inverse dynamics controller based on this model.

VI. CONCLUSIONSThe integration of the hardware was necessary because the

previous acquisition cards are based in bus ISA. This bus wasreplaced by bus PCI in computers. The integration of QuanserQ8 acquisition card enables the total connectivity between alldevices needed for the identification of dynamic parameters.The results shown proves that estimates of dynamic pa-

rameters of internal model are good as determined from the

MSE Fx

#

N2$

Fy

#

N2$

Fz

#

N2$

Value 323.9356 548.3285 167.1399

MSE Mx

#

N2m2$

My

#

N2 m2$

Mz

#

N2m2$

Value 719.1653 1355.7726 79.4018

MSE "1#

N2 m2$

"2#

N2 m2$

"3#

N2m2$

Value 52.2090 314.0778 104.0090

Table VIIILEAST MEAN SQUARE ERROR FOR COMBINED MODEL VALIDATION

Page 7: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

7

0 2 4−2.6

−2.4

−2.2

−2

−1.8

0 2 4−2

−1

0

1

2

0 2 4−10

−5

0

5

10

0 2 4−2

−1.5

−1

−0.5

0 2 4−1

0

1

2

0 2 4−4

−2

0

2

4

0 2 4−1

0

1

2

0 2 4−4

−2

0

2

0 2 4−20

−10

0

10

20

& 1(t)[rad]

& 2(t)[rad]

& 3(t)[rad]

&̇ 1(t)- rads!

1.

&̇ 2(t)- rads!

1.

&̇ 3(t)- rads!

1.

&̈ 1(t)- rads!

2.

&̈ 2(t)- rads!

2.

&̈ 3(t)- rads!

2.

desreal

Figure 11. Inverse dynamics controller validation

0 2 40

1

2

3

4

5

6

7x 10−3

0 2 40

0.005

0.01

0.015

0.02

0.025

0 2 40

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

|&1r!& 1

d|rad

|&2r!& 2

d|rad

|&3r!& 3

d|rad

Figure 12. Error between real and desired trajectory

match of predicted torques to measured torques and the matchof desired trajectory to real trajectory. The biggest trackingerrors were observed at highest velocities, meaning that thefriction model considered is insufficient. In order to improvethe results a complex friction model has to be considered.The results for estimates of dynamic parameters of combinedmodel are not satisfactory so it was impossible to implementan inverse dynamics controller based on this model. Thisunsatisfactory results can result from the induced momentaround z by tightening the screws and induced moment aroundx by the robot cable. The match of predicted reaction forcesand measured reaction forces determines the good estimates ofdynamic parameters of external model. Both data measured foridentification and validation of the parameters of this dynamicmodel are corrupted by the same induced moments referencedabove.

REFERÊNCIAS[1] G. Liu, K. Iagnemma, S. Dubowsky, and G. Morel, “A base force/torque

sensor approach to robot manipulator inertial parameter estimation,” in

Robotics and Automation, 1998. Proceedings. 1998 IEEE InternationalConference on, pp. 3316–3321, 1998.

[2] H. West, E. Papadopoulos, S. Dubowsky, and H. Cheah, “A methodfor estimating the mass properties of a manipulator by measuring thereaction moments at its base,” in Robotics and Automation, 1989.Proceedings., 1989 IEEE International Conference on, pp. 1510–1516,1989.

[3] “A new approach to the dynamic parameter identification of roboticmanipulators,”

[4] “A parameter identification approach using optimal exciting trajectoriesfor a class of industrial robots,”

[5] P. Corke and B. Armstrong-Helouvry, “A search for consensus amongmodel parameters reported for the PUMA 560 robot,” in Robotics andAutomation, 1994. Proceedings., 1994 IEEE International Conferenceon, pp. 1608–1613, 1994.

[6] G. Antonelli, F. Caccavale, and P. Chiacchio, “A systematic procedurefor the identification of dynamic parameters of robot manipulators,”Robotica, vol. 17, pp. 427–435, 1999.

[7] “Additional remarks related to the paper: Optimal robot excitation andidentification,” Mar. 2011.

[8] H. Mayeda, K. Yoshida, and K. Osuka, “Base parameters of manipulatordynamic models,” Robotics and Automation, IEEE Transactions on,vol. 6, no. 3, pp. 312–321, 1990.

[9] S.-Y. Sheu and M. Walker, “Basis sets for manipulator inertial para-meters,” in Robotics and Automation, 1989. Proceedings., 1989 IEEEInternational Conference on, pp. 1517–1522, 1989.

[10] X. Chenut, J. C. Samin, J. Swevers, and C. Ganseman, “Combining inter-nal and external robot models for improved model parameter estimation,”Mechanical Systems and Signal Processing, vol. 14, pp. 691–704, Sept.2000.

[11] J. Feio, Controlo da Impedância de Rôbos Manipuladores para Aplica-ções em Cirurgia Ortopédica. PhD thesis, Instituto Superior Técnico,Sept. 2004.

[12] M. Grotjahn and B. Heiman, “Determination of dynamic parameters ofrobots by base sensor measurements,” in 6th IFAC Symposium on RobotControl, Syroco, 2000, pp. 277–282.

[13] M. Gautier and W. Khalil, “Direct calculation of minimum set ofinertial parameters of serial robots,” Robotics and Automation, IEEETransactions on, vol. 6, no. 3, pp. 368–373, 1990.

[14] C. H. An, C. G. Atkeson, and J. M. Hollerbach, “Estimation of inertialparameters of rigid body links of manipulators,” in Decision and Control,1985 24th IEEE Conference on, pp. 990–995, 1985.

[15] M. Gautier and W. Khalil, “Exciting trajectories for the identificationof base inertial parameters of robots,” in Decision and Control, 1991.,Proceedings of the 30th IEEE Conference on, pp. 494–499, 1991.

[16] P. Dutkiewicz, K. Kozlowski, and W. Wroblewski, “Experimental identi-fication of robot and load dynamic parameters,” in Control Applications,1993., Second IEEE Conference on, pp. 767–776, 1993.

[17] J. Swevers, C. Ganseman, J. DeSchutter, and H. VanBrussel, “Ex-perimental robot identification using optimised periodic trajectories,”Mechanical Systems and Signal Processing, vol. 10, no. 5, pp. 561–577, 1996.

[18] W. Verdonck, J. Swevers, and J.-C. Samin, “Experimental Robot Identi-fication: Advantages of Combining Internal and External Measurementsand of Using Periodic Excitation,” Journal of Dynamic Systems, Mea-surement, and Control, vol. 123, no. 4, p. 630, 2001.

[19] M. Gautier and P. Poignet, “Extended Kalman filtering and weightedleast squares dynamic identification of robot,” in Control EngineeringPractice, pp. 1361–1372, CNRS, UMR 6597, Inst Rech Commun &Cybernet Nantes, F-44321 Nantes 03, France, 2001.

[20] P. A. P. L. T. N. A. R. P. L. C. Nuno Moreira, “First steps towards anopen control architecture for a PUMA 560,” 1998.

[21] J. Fraden, Handbook of Modern Sensors: Physics, Designs, and Appli-cations. Springer, 4th ed. ed., Sept. 2010.

[22] S. Tafazoli, P. Lawrence, and S. Salcudean, “Identification of inertial andfriction parameters for excavator arms,” Ieee Transactions on Roboticsand Automation, vol. 15, no. 5, pp. 966–971, 1999.

[23] B. Raucent, G. Campion, G. Bastin, J. Samin, and P. Willems, “Iden-tification of the Barycentric Parameters of Robot Manipulators FromExternal Measurements,” Automatica, vol. 28, no. 5, pp. 1011–1016,1992.

[24] M. Farooq and D.-b. Wang, “Implementation of a new PC basedcontroller for a PUMA robot,” Journal of Zhejiang University SCIENCEA, vol. 8, pp. 1962–1970, Nov. 2007.

[25] P. I. Corke, “In situ Measurement of Robot Motor Electrical Constants,”1996.

Page 8: Development of a computer based controller for PUMA 560 ... · To control the PUMA 560 arm using a PC, the TRC004 and TRC006 retrofit cards were removed. The Quanser Q8 acquisition

8

[26] J. J. Craig, Introduction to Robotics: Mechanics and Control (3rdEdition). TBS, 2004.

[27] W. Khalil and É. Dombre, Modeling, identification & control of robots.Butterworth-Heinemann, July 2004.

[28] Modelling Identification and Control of Flexible Manipulators. PhDthesis, Instituto Superior Técnico, Apr. 2007.

[29] M. Gautier, “Numerical calculation of the base inertial parameters ofrobots,” in Robotics and Automation, 1990. Proceedings., 1990 IEEEInternational Conference on, pp. 1020–1025, 1990.

[30] B. Armstrong, “On finding ’exciting’ trajectories for identificationexperiments involving systems with non-linear dynamics,” in Roboticsand Automation. Proceedings. 1987 IEEE International Conference on,pp. 1131–1139, 1987.

[31] B. Raucent, G. Campion, G. Bastin, J. C. Samin, and P. Willems, “Onthe identification of the barycentric parameters of robot manipulatorsfrom external measurements,” in Robotics and Automation, 1991. Proce-edings., 1991 IEEE International Conference on, pp. 1169–1174, 1991.

[32] M. Gautier, “Optimal motion planning for robot’s inertial parametersidentification,” in 31st Conference on Decision and Control, pp. 70–73,Ecole Centrale de Nantes/Université de Nantes, Dec. 1992.

[33] J. Swevers, C. Ganseman, D. Tukel, J. DeSchutter, and H. VanBrussel,“Optimal robot excitation and identification,” Ieee Transactions onRobotics and Automation, vol. 13, no. 5, pp. 730–740, 1997.

[34] F. Pfeiffer and J. Holzl, “Parameter identification for industrial robots,”IEEE International Conference os Robotics and Automation, pp. 1468–1476, May 1995.

[35] P. K. Khosla and T. Kanade, “Parameter identification of robot dy-namics,” in Decision and Control, 1985 24th IEEE Conference on,pp. 1754–1760, 1985.

[36] C. G. Atkeson, C. H. An, and J. M. Hollerbach, “Rigid body loadidentification for manipulators,” in Decision and Control, 1985 24thIEEE Conference on, pp. 996–1002, 1985.

[37] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: Model-ling, Planning and Control (Advanced Textbooks in Control and SignalProcessing). Springer, 2nd printing. ed., Feb. 2011.

[38] A. Mukerjee and D. Ballard, “Self-calibration strategies for robotmanipulators,” in Robotics and Automation, pp. 1050–1057, Mar. 1985.

[39] B. S. O. Khatib, Springer Handbook of Robotics (text only) byB.Siciliano.O. Khatib. with DVD-ROM, and 84 tables, Springer, 2008.

[40] B. Armstrong, O. Khatib, and J. Burdick, “The explicit dynamic modeland inertial parameters of the PUMA 560 arm,” in Robotics and Automa-tion. Proceedings. 1986 IEEE International Conference on, pp. 510–518,1986.

[41] P. I. Corke, “The unimation puma servo system,” 1995.[42] C. A. C. de Wit, B. Siciliano, and G. Bastin, Theory of robot control.

Springer Verlag, 1996.