Vous êtes sur la page 1sur 9

576

IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 11, NO. 5, OCTOBER 2006

Rapid Prototyping of a Model-Based Control With Friction Compensation for a Direct-Drive Robot
Basilio Bona, Member, IEEE, Marina Indri, and Nicola Smaldone
AbstractThe development and application of the most recent model-based control schemes for robots require the investigation and solution of problems concerning various aspects, from the real-time (RT) simulation and control issues, to the necessity of determining a robot model suitable for control, and of experimentally testing the control performances. In this paper, different aspects are investigated for a planar, two-link direct-drive manipulator, with particular attention to the joint friction compensation within the control loop. A real-time architecture, based on the RT-Lab software by Opal-RT, is developed and used to carry out all the design phases, from the identication of the robot model, including joint friction torques, to the application of the inverse dynamics control schemes, with different solutions for the robot dynamics and friction compensation. The performances of such schemes are investigated executing various trajectories, suitable to check the effectiveness of the friction compensation. Index TermsFriction compensation, model-based control, rapid prototyping, robotics.

I. INTRODUCTION OINT-INDEPENDENT proportional-differential (PD) or proportional-integral-differential (PID) control algorithms are often well-suited to execute traditional tasks in industrial robots. In the recent years, the use of robots for advanced applications, from spatial exploration to services and entertainment, requires better performances, which can be attained using advanced model-based control solutions, especially when parasitic phenomena (mainly joint friction) have to be compensated. Particularly, in robotic manipulators with direct-drive actuators, where the positive effects of reduction gears are absent, simple wideband stiff PD controllers may work [1] at low velocities, where stiction and the Stribeck effect are conspicuous; conversely, instabilities may occur due to various reasons, the principal one being the neglected elastic dynamics. At high velocities, where the effects of nonlinear coupling torques become noticeable, linear PID controllers become inefcient and other algorithms, such as the inverse dynamics controllers, must be used. The development and application of model-based controllers require the investigation and solution of problems concerning almost every implementation aspect, from the real-time (RT) simulation and control issues, to the necessity of determining a robot model suitable for control purposes, i.e., a sufciently

accurate dynamic model, not too burdening to be implemented in an inverse dynamics control scheme. All these aspects are related, and none of them can be considered in isolation. The application of an inverse dynamics control scheme requires the knowledge of the robot inertial parameters: If their nominal values are not available, it is necessary to identify them by a proper dynamic calibration procedure (see [2] and the references therein), which generally requires the execution of suitable trajectories exciting the robot dynamics, and the possibility of acquiring long data sessions. If signicant nonlinear friction phenomena are present, an explicit friction compensation action must be included in the control scheme. Several control solutions have been proposed in the literature (see, e.g., [1], [3][12], for a general overview), offering different advantages and drawbacks, and presenting different requirements for their successful application. The model-based friction compensation techniques require that a suitable model is chosen to represent friction for the considered manipulator (see, e.g., [3], [13][19]), and that its parameters are accurately identied, thus implying the use of proper sensors to collect the data. Moreover, the computational burden relative to the online friction compensation action must be adequate for the hardware/software (HW/SW) architecture. This paper experimentally investigates these aspects, using a planar direct-drive manipulator, available in our Robotics Laboratory. An overall solution is presented, including the denition of a complete HW/SW architecture for RT simulation and control (Section II), the identication of the manipulator dynamic model with different friction approximations (Section III), and the experimental application of an inverse dynamics control scheme for the execution of various trajectories (Section IV). On the basis of the obtained performances, conclusion is drawn in Section V. II. ENVIRONMENT FOR RAPID PROTOTYPING In order to allow fast and systematic interactions between the algorithmic design phase and the experimental testing, together with the possibility of acquiring all the data necessary for the model identication and for the evaluation of the control performances, it is necessary to have a PC-based rapid prototyping environment. Here, different controller blocks are implemented, with easily modiable structure and parameters, to be tested on the simulated plant and to be downloaded on the target hardware platform for real-time validation. In this section, after a brief description of the considered robotic system, the main characteristics of the real-time architecture recently developed for our manipulator is illustrated and compared with the previous solutions.

Manuscript received October 11, 2005; revised February 10, 2006. Recommended by Technical Editor M. Meng. B. Bona and M. Indri are with Dipartimento di Automatica e Informatica, Politecnico di Torino, Torino 10129, Italy (e-mail: basilio.bona@polito.it; marina.indri@polito.it). N. Smaldone is with Engineering, Robotics & Control System Applications S.r.l., Turin 10149, Italy (e-mail: n.smaldone@libero.it). Digital Object Identier 10.1109/TMECH.2006.882989

1083-4435/$20.00 2006 IEEE

BONA et al.: RAPID PROTOTYPING OF A MODEL-BASED CONTROL FOR A DIRECT-DRIVE ROBOT

577

Fig. 1.

Sketch of the IMI planar manipulator.

A. Robotic System A two revolute-link planar manipulator by Integrated Motion Inc., Greensboro, NC, moving in a horizontal plane, as sketched in Fig. 1, has been used as an experimental test bed. Each joint is moved by a direct-drive (i.e., no gear boxes) brushless NSK megatorque motor, actuated by a power drive that handles all the various functions of the motor itself, and makes available the angular resolvers measurements, having a resolution of 8 105 rad. The analog signals coming from the controller are considered as torque or velocity reference commands for the motors, according to the selected operating mode, and are called torque mode or velocity mode, respectively. The torque mode, where an inner current loop controls the joint torque, is the default mode used in the reported experimental tests. In this mode, the actuator model can be approximated by a proportional gain KV between the command input voltage Vm , and the command torque c supplied by the motor. The velocity mode will not be considered here. B. RT-Lab Architecture: Structure, Features, and Advantages RT-Lab is a software tool from Opal-RT1 allowing the distribution of the simulation from a Simulink project on a multiprocessor hardware architecture. It requires the presence of at least two computers: a command station, and one or more target nodes, classied as one master and more than one slaves. In this paper, RT-Lab 6.2 version with only one master target node has been used. The target runs the QNX real-time operating system, and hence, a hardware-in-the-loop simulation can be easily performed, in which the controller is dened within a Simulink model, interacting with the controlled plant through input output (I/O) boards. Only some unrestrictive requirements have to be fullled by the Simulink model, regarding the simulation step (which must be xed), the model structure, and the presence of OpComm blocks for signal exchange. More details can be found in [20]. The RT-Lab supplies a library of Simulink blocks relative to the most common I/O boards, including those used in this paper, for the RS-232 serial communication. The following simple phases are to be performed in the developed HW/SW architecture:

1) creation of a Simulink model for the command station, where each target subsystem is substituted by an RT-Lab block for signal receiving and transferring; 2) automatic generation of the C code; 3) transfer to the master node and the compilation of the C les to generate the nal QNX executable le; 4) launch of the executable le on the QNX target, and the activation of the network communication: A real-time simulation is performed thanks to the software synchronized mode (see [20] for details). The IMI robot plant was previously controlled by means of a prototyping system, named OpenDSP [21], [22], based on a digital signal processor (DSP). The proposed RT-Lab architecture offers the following advantages with respect to the OpenDSP environment: 1) automatic code generation, not only for the control algorithm, but also for all of the real-time interaction software architecture; 2) organization of the Simulink model in groups of timesynchronized tasks with different priority levels; 3) possibility of long data acquisitions on the target hard disk; 4) bearing of heavy computational burdens thanks to the characteristics of the central processing unit (CPU) of the PC (generally having better performance than a DSP); 5) easy denition and change of the control-loop algorithm using Simulink blocks. In particular, the model-based controllers developed and applied in Section IV have an innerouter loop structure, characterized by an inverse dynamics algorithm with a PID outer loop. The inverse dynamics part has been implemented by the Matlab S-function builder, whereas the standard Simulink PID block has been used for the outer loop. A modied version of the reference trajectory nonlinear lter [23] has been used for the automatic determination of the joint reference trajectories, satisfying a set of constraints set by the user, such as maximum joint velocities and accelerations. III. ROBOT DYNAMIC MODEL AND FRICTION IDENTIFICATION A model-based controller guarantees satisfactory performances, only if the dynamic model used in the control loop is sufciently accurate. The dynamic behavior of the manipulator can be described by the usual second-order nonlinear differential equation ) = c )q + f (q, q M(q) q + C(q, q (1)

1 http://www.opal-rt.com/

, and q are the vectors of the joint angles, angular where q, q velocities, and angular accelerations, respectively, M(q) is the )q is the Coriolis and centrifugal torques inertia matrix, C(q, q term, f is the friction torque vector, and c is the command torque vector (see a robotics textbook, e.g., [24], for details). The gravitation effects are neglected, since the motion plane is horizontal. The complete knowledge of all the terms in (1) is necessary to implement model-based controllers, such as the inverse dynamics control scheme, which will be considered in the next section.

578

IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 11, NO. 5, OCTOBER 2006

Two main basic issues dene such an identication problem: the knowledge of the robot inertial parameters in M(q) and )q , and the choice and identication of a proper friction C(q, q ). model to represent f (q, q The structure of the inertial part of the robot dynamic model is assumed to be correct, as it often happens in the case of directdrive motors. In fact, the major uncertainties are related to the possible presence of elasticity and backlash in the gear boxes, that are not present in such actuators. The dynamic model (1) can be rewritten in the following form: ,q ) d + f (q, q ) = c Dd (q, q (2)

tact, whereas the behavior of the microscopical contact points between the surfaces is also considered by the dynamic models, which handle presliding displacements. The well-known LuGre model [7] [14] (with some modications in [17] and [25]) takes into account both the steady-state friction curve and the presliding phase by means of exible bristles, representing the contact points of the moving surfaces. According to such a model, the behavior of the friction torque f i on the ith joint of a manipulator can be described by the following equations: i z i = q |q i | 0i z i gi (q i ) (4) (5)

where the contributions of the inertial, centrifugal, and Coriolis ,q ) d that is torques have been regrouped in the term Dd (q, q linear with respect to the vector d of the identiable inertial parameters (see [24], for details on the robot model (2), and [2] and the references therein, for the determination of the minimum identiable inertial parameters set). In particular, for the considered manipulator, it results in ,q ) = [Dd (i, j )] 2, 4 , d 4 , with Dd (q, q Dd (1, 1) = q 1 Dd (1, 2) = L1 [cos q2 (2 q1 + q 2 ) sin q2 q 2 (2q 1 + q 2 )] Dd (1, 3) = L1 [ sin q2 (2 q1 + q 2 ) cos q2 q 2 (2q 1 + q 2 )] Dd (1, 4) = q 1 + q 2 Dd (2, 1) = 0
2 Dd (2, 2) = L1 (cos q2 q 1 + sin q2 q 1 ) 2 Dd (2, 3) = L1 ( sin q2 q 1 + cos q2 q 1 )

f i = 0i z i + 1i z i + fi (q i )

where q i is the angular velocity of the joint, zi is a state variable representing the average bristle deection for joint i, 0i and 1i are model parameters assumed to be constant, and gi (q i ) and i ) model the Stribeck effect and the viscous friction. For fi (q constant velocity, the steady-state friction torque is then given by f i ss = gi (q i ) sgn(q i ) + fi (q i ). (6)

Dd (2, 4) = q 1 + q 2 d = [(1z +
2 m2 l1 )

(3a) m2 s2x m2 s2y 2z ]


T

(3b)

2 where (1z + m2 l1 ) and 2z are the overall inertia moments of the two links with respect to the z0 -axis (axis perpendicular to the motion plane), and m2 s2x and m2 s2y are the rst-order moments of the second link. Nominal values of the inertial parameters, coming from data sheets and/or direct measurements, can be used both in the friction identication phase (if needed), and in the expression of the model-based control law. In such a case, the differences between the actual inertial, centrifugal, and Coriolis torques, and the computed ones will affect both the friction torques data, used to identify the friction parameters, and the performances of the implemented model-based controller. Otherwise, a complete dynamic calibration of the robot can be performed, including both the inertial part of the model and the friction torques. Both procedures will be investigated in the paper. Several choices are possible for the representation of the fric ), as different models have been proposed tion torques f (q, q in literature (see e.g., [3], [7], [13][18]). A basic classication of the friction models is relative to their static or dynamic characteristics [7]. The classical static models describe friction as a function of the current relative velocity of the bodies in con-

Different parameterizations are possible for functions gi (q i ) and i ): the rst one is a nonlinear function of velocity, generally fi (q expressed by means of exponential terms, while the second one can be given by a simple linear viscous function or by a higher order polynomial function. In the later sections, two different choices are made for the identication of the complete robot dynamic model. In the rst one, the inertial parameters are dened by their nominal values, whereas the static, nonlinear part of the LuGre model is used to compute the friction torques, assuming different parameter values when negative or positive velocity values are involved. In the second one, a simpler polynomial function of the joint velocity is considered to approximate each friction torque (independently of the velocity sign), but its parameters are identied together with the inertial ones, on the basis of the data acquired while the robot executes a trajectory that optimizes, to some extent, the excitation of the manipulator dynamics. No dynamic component is considered for friction, since the identication of its parameters would require high-precision sensors, which are not available in the present experimental setup. A. Identication of the Static Part of the LuGre Friction Model As stated before, different parameterizations are possible for i ) and fi (q i ). In previous papers [26], [27], more functions gi (q complex expressions were used for such functions, instead of the standard ones considered in [14] and [7], to try to obtain a better tting of the acquired experimental data. The improved prototyping architecture, described in Section II-B, has made possible a new series of tests at different constant joint velocities, with a previously developed independent joints PD control law, implemented with 1-ms sampling time.

BONA et al.: RAPID PROTOTYPING OF A MODEL-BASED CONTROL FOR A DIRECT-DRIVE ROBOT

579

Fig. 2. Friction torque (Nm) on joint 1: acquired (stars), static LuGre model (solid line), and third-order polynomial function (dashed line).

Fig. 3. Friction torque (Nm) on joint 2: acquired (stars), static LuGre model (solid line), and third-order polynomial function (dashed line).

The friction torque data have been derived from the manipulator dynamic equation (1) as ) + err = c Dd (q, q ,q ) d f (q (7)

TABLE I ESTIMATED STATIC PARAMETERS OF THE LUGRE FRICTION MODEL

where err is a torque vector that contains all the neglected modeling errors including dynamic friction phenomenon. The following nominal inertial parameter values (in proper SI units) were used d = d, nom = [3.69 0.97 0 0.27]T . (8)

Experimental friction data, collected at both low and high velocities, and indicated by stars in Figs. 2 and 3, have been tted using the standard expressions [7], [14] for the Stribeck i ) and the viscous friction fi (q i ), for i = 1, 2 curve gi (q gi (q i ) = 0i + 1i e
(
qi s,i

)2

(9) (10)

i ) = 2i q i . fi (q

A better data tting has been obtained by considering, for each joint, different values for parameters s,i , and 0i , . . . , 2i when positive or negative velocities are involved. A least-squares algorithm has been applied to estimate the parameters for each joint by considering, in subsequent iterations, tentative values of s,i between 0.10 and 0.35 rad/s. This range has been chosen by inferring the Stribeck region from the acquired data, in which friction decreases as the velocity increases. An alternative solution could be found using a nonlinear estimation technique, for the simultaneous identication of all the parameters. The estimated values are reported in Table I. Figs. 2 and 3 compare the friction torques (solid line), computed by (6), (9), and (10) using the values reported in Table I, with the acquired friction data indicated by stars. As the gures show, although satisfying results have been obtained for the rst joint (Fig. 2), an adequate data tting has not been achieved for the second joint (Fig. 3). It must be considered that the acquired

friction torque data do not come from direct measurements, but are actually derived from the manipulator dynamic model, as illustrated earlier. Such data are affected 1) by errors in the com,q ), due to parameter uncertainties, putation of matrix Di (q, q to measurement noise in the joint positions, and to computation errors in the determination via software of the joint velocities and accelerations and 2) by modeling errors and disturbances, generically collected in the err term in (7). It is evident, from Fig. 3, that the samples obtained when the velocity of the second joint is greater than 4 rad/s are affected by relevant errors and/or disturbances. Better performances could be possibly obtained by a more accurate robot dynamic model (e.g., including the presence of parasitic elastic terms for the second joint, which is smaller and lighter than the rst one), by the identication of the robot inertial parameters (to eliminate or reduce the inuence of parameter uncertainties in the torque computation), and by the application of a different friction model, possibly on the basis of a different data acquisition procedure. In the following section, an overall robot dynamic parameter calibration is implemented by using optimal trajecto,q ) as ries for identication [2], by considering matrix Dd (q, q in (3a) (i.e., without introducing other dynamic contributions), and representing the friction torques by a third-order velocity polynomial.

580

IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 11, NO. 5, OCTOBER 2006

B. Dynamic Calibration With Polynomial Friction Function Let the friction torque on the ith joint be described by the following third-order polynomial function:
2 3 i ) + a1i q i + a2i sign(q i )q i + a3i q i . f i = a0i sign(q

parameter estimates are collected in = [3.65 1.16 0.98 0.47 0.0012 2.35 0.29 6.84 2.62 0.12]T . (15) 0.34

0.31

(11)

It is then possible to rewrite the manipulator dynamic model (1) in the following form: ,q ) c = D(q, q (12)

,q ) = [Dd (q, q ,q )Df (q )] 2, 12 , = [ d f ]T where D(q, q ) = [Df (j, k )] 2, 8 , f 8 , with 12 , where Df (q Df (1, 1) = sgn(q 1 ), Df (1, 3) =
2 sgn(q 1 )q 1 ,

Df (1, 2) = q 1
3 Df (1, 4) = q 1

Df (1, 5) = Df (1, 6) = 0, Df (2, 1) = Df (2, 2) = 0, Df (2, 5) = sgn(q 2 ), Df (2, 7) = f = [a01


2 sgn(q 2 )q 2 ,

Df (1, 7) = Df (1, 8) = 0 Df (2, 3) = Df (2, 4) = 0 Df (2, 6) = q 2


3 Df (2, 8) = q 2

(13a) (13b)

a11

a21

a31

a02

a12

a22

a32 ]T .

Equation (12) is linear with respect to vector , that contains all the parameters dening the manipulator model. According to the method developed in [2], parameter identication has been performed by means of a least-squares algorithm, collecting data on an optimal trajectory [i.e., a trajectory that optimally excites the robot dynamics described by model (12)] of the following type:
na

qi (t) =
j =1

j,i sin(j,i t)

(14)

for the ith joint. Different optimality criteria can be applied: One choice is to minimize the bias of the estimates due to unmodeled dynamics errors, and their sensitivity to variations of the measured torque vector. Another choice is to minimize the uncertainty bound of the parameter estimates. The rst goal can be obtained minimizing the so-called Jk index, whereas the second one is performed by the maximization of the so-called Jd index (details can be found in [2] and the references therein). Since a somewhat simplied model has been used (especially for friction), and no deeper investigation has been performed on possible unmodeled dynamics, the Jk optimality criterion has been preferred. The four-harmonics function thus obtained (see details in [27]) was supplied as a reference trajectory to the manipulator, and repeated ten times, in order to investigate the system repeatability and to estimate the measurement noise. The joint position and torque data have been collected, whereas velocities and accelerations have been computed via software (with the insertion of a proper ltering action). The least-squares algorithm described in [2] has been used for the ofine parameter estimation, collecting more than 2500 equally spaced samples for each trajectory repetition. The nal

The order of magnitude of their variances is between 107 and 105 for the estimates of the inertial parameters, and between 104 and 102 for the friction ones. The comparison with the nominal values (8) of the inertial parameters conrms the validity of the estimates, at least for the inertial part of the model. The estimated friction parameters have been used to compute the friction torques on the joint according to (11): Figs. 2 and 3 show such torques (dashed line); the velocity range is the same as that considered in the static term identication of the LuGre model in Section III-A. It is interesting to note that a quite satisfactory correspondence with the previously acquired friction data (stars) and the LuGre static model (solid line) is obtained only at low velocities: this is due to the fact that the optimal trajectory corresponds to a joint velocity range between 1.5 and 1 rad/s, and it is just within this range that the estimated polynomial friction model can be considered as valid. Again the estimate for the second joint (Fig. 3) is more critical, suggesting the possible presence of nonnegligible modeling errors (i.e., the considered friction term is not given by pure friction!). It must be stressed that, since our main goal is the development of a manipulator dynamic model suitable for control purposes, the actual validity of the identied models must be judged by evaluating their capacity to approximate the overall robot dynamics, given by the torque vector c in (12). As detailed in [27], the comparison of the reconstructed [computed from (12) with the estimated pa c = D torques rameters given in (15)] with the measured ones leads to signicant relative errors, both in the case of the four-harmonics trajectory and for a Cartesian circular trajectory (performed with joint velocities not greater than 2 rad/s). Since the torque computation, using the nominal values of the inertial parameters together with the friction static LuGre model (identied in Section III-A), leads to similar or marginally worse results, it becomes fundamental to experimentally apply the identied models into an inverse dynamics control scheme, to check their actual validity from the control point of view. IV. EXPERIMENTAL APPLICATION OF THE MODEL-BASED CONTROLLERS Inverse dynamics control schemes, including the models identied earlier, are applied to the manipulator for the execution of trajectories at different velocities, in order to investigate the performances of different friction models in the control loop. The considered innerouter loop control scheme is given by the following inverse dynamics control law: d + ,q r vc ) f (q, q ) c = Dd (q, q (16)

d and r is the reference acceleration vector, and where q ) are the estimates of the inertial parameter vector d f (q, q ), respectively. The term vc repand the friction torques f (q, q resents the command vector of the outer loop, obtained by a

BONA et al.: RAPID PROTOTYPING OF A MODEL-BASED CONTROL FOR A DIRECT-DRIVE ROBOT

581

Fig. 4. LV test: velocity of joint 2 with C1 (solid line), C2 (bold, dashed line), and C3 (thin, dash-dotted line) model-based control schemes.

Fig. 6. LV test: Cartesian reference (dashed line) and the executed (solid line) trajectory with the three model-based control schemes. TABLE II LV TEST RESULTS: JOINT AND CARTESIAN ERRORS

Fig. 5. LV test: joint tracking errors with C1 (solid line), C2 (bold, dashed line) and C3 (thin, dash-dotted line) model-based control schemes.

standard PID control algorithm, identical in all the tests. Three d and f (q, q ): different solutions have been considered for f (q, q ) = 0. Only the 1) d = d, nom , given in (8), and inertial part of the robot dynamics is compensated by the inner loop, on the basis of the nominal parameter values, without any friction compensation (C1); d = d, nom and the friction torques f ,i on each joint 2) given by the static LuGre friction model (6), (9), and (10), using the estimated values reported in Table I (C2); d given by the rst four entries of the estimated vector 3) in (15), and the friction torques f ,i on each joint computed from the third-order polynomial (11), using the estimated in (15)] (C3). parameter values [the last eight entries of The effectiveness of the different inverse dynamics solutions has been tested by considering the same Cartesian circular trajectory described in [27], centered in x = 0.4 m, y = 0.2 m, with radius of 0.12 m. The circle has been cyclically tracked at different velocities, to evaluate the friction compensation performances. The results obtained in two extreme cases are reported and discussed: the rst one, denoted as LV, corresponds to low joint velocities (the maximum values are less than 2 rad/s), while the second one, denoted as HV, corresponds to high joint velocities (values greater than 4 rad/s are reached).

The results obtained in the LV test are reported in Figs. 46 and summarized in Table II, which shows the maximum and the rms values of the joint and the Cartesian errors. The second joint reveals stick-slip phenomena, due to stiction at low velocities. Fig. 4, which compares the time-history of the velocity of this joint with the three control solutions, shows that without friction compensation (solid line), the joint briey stops when the velocity changes sign. Such a behavior is completely eliminated by the C2 solution (bold, dashed line), and strongly reduced by C3 (thin, dash-dotted line): The best friction reconstruction at very low velocities was in fact provided by the static LuGre friction model, as is shown in Fig. 3. The torque reconstruction performed by C2 leads to the best control performances: As shown by Table II and Fig. 5, a strong reduction of the tracking errors is obtained in this case (an entire order of magnitude for the second joint) with respect to C1, so that the circular trajectory is practically perfectly tracked, while the executed trajectory was macroscopically bad with C1 (see Fig. 6). The performances obtained by C3 are only marginally worse than those of C2 (see Table II), so that a satisfactory tracking of the circular trajectory is obtained: As shown by Fig. 6, the difference between the executed trajectory and the reference one can be appreciated only in some limited regions of the circumference. The test has been repeated also by considering an inner feedforward compensation loop, i.e., by using the reference position r , instead of q and q , respecand the velocity values qr and q ,q r vc ) and f (q, q ) in (16). While the tively, in Dd (q, q

582

IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 11, NO. 5, OCTOBER 2006

TABLE III HV TEST RESULTS: JOINT AND CARTESIAN ERRORS

Fig. 7. HV test: joint tracking errors with C1 (solid line), C2 (bold, dashed line), and C3 (thin, dash-dotted line) model-based control schemes.

TABLE IV REGULATION TEST RESULTS: JOINT ERRORS

Fig. 8. HV test: Cartesian reference (dashed line) and executed (solid line) trajectory with the three model-based control schemes.

control performances obtained by C1 and C3 do not signicantly change, the maximum error of the second joint becomes a little worse for C2, passing from 3.2 to 4.7 mrad, which anyway does not lead to an appreciable worsening of the Cartesian error. The results obtained in the HV test are reported in Figs. 7 and 8, and are summarized in Table III, which shows the maximum and the rms values of the joint and the Cartesian errors (similar to Table II for the LV test). Due to the higher joint velocities involved in this test, stickslip phenomena do not occur. Nevertheless, the trajectory executed by C1 is macroscopically bad (Fig. 8, rst plot), as a result of the signicant joint errors reported in Fig. 7 by a solid line. Comparing the Cartesian errors in Tables II and III, it is seen that the rms Cartesian error obtained by C1 is a little worse in this high-velocity test. Friction compensation is fundamental in this case, too. The application of the C2 control scheme, including the friction compensation provided by the identied LuGre static model, does not lead to the extremely good results that were achieved in the LV test: only a small reduction of the second joint error (Fig. 7; bold, dashed line), and consequently of the Cartesian one (Table III) is obtained. The execution of the circular trajectory is quite poor, as shown by the second plot of

Fig. 8. The application of the C3 control solution determines a little degradation of the tracking error of the rst joint, but the reduction of the rms value of the second joint error leads to a reduction of the Cartesian error, as reported in Table III. In the velocity range relative to the HV test, the friction torque computed from (11) gives better results than the LuGre model, at least for the second joint: the resulting circular trajectory, executed by the robot with the C3 control solution, is the best one for the HV test, as is clearly shown in Fig. 8. The results obtained by repeating the HV test with the three control solutions, with a feedforward inner compensation loop, are similar to those obtained when feedback is used: there is a little further reduction of the errors in the C3 case, probably due r instead of the to the use of better, noiseless signals qr and q . In particular, the resulting Cartesian error shows actual q and q a maximum value of 4.3 mm (instead of 4.9 mm), and a rms value of 2.7 mm (instead of 2.9 mm). A nal test has been performed to check the effectiveness of the three control solution in a regulation task: starting from an initial condition corresponding to q1 (0) = 2 rad and q2 (0) = 2 rad, a similar reference trajectory has been assigned to both the joints to lead their nal positions to q1, n = q2, n = 2 rad. In particular, the reference trajectory has been computed as a sequence of two bang-bang proles, from 2 to 0 rad and from 0 to 2 rad, crossing the zero position without stopping completely. No velocity sign change occurs, and a maximum joint velocity of 3 rad/s is reached. Table IV summarizes the obtained results, showing that the C3 solution allows the best tracking results for the second joint, and the smallest nal errors for both the joints. Besides, it is interesting to note from the second plot of Fig. 9 that for C1 and C2 negative peaks are reached, before the second joint error settles down to its nal value: the desired nal position is then signicantly exceeded, before the nal settling. When C3 is applied, no negative peak error is present for the second joint (thus, reducing the corresponding Cartesian peak error, if the imposed nal joint position corresponds to a desired Cartesian position for the end-effector), whereas the negative peak of the rst joint error remains quite unchanged with the three control solutions, but its amplitude is limited to about 7 mrad.

BONA et al.: RAPID PROTOTYPING OF A MODEL-BASED CONTROL FOR A DIRECT-DRIVE ROBOT

583

possible to dene some general accuracy performances that can be guaranteed independent of the particular trajectory executed. REFERENCES
[1] P. Tataryn, N. Sepehri, and D. Strong, Experimental comparison of some compensation techniques for the control of manipulators with stick-slip friction, Control Eng. Pract., vol. 4, no. 9, pp. 12091219, 1996. [2] G. Calaore, M. Indri, and B. Bona, Robot dynamic calibration: Optimal excitation trajectories and experimental parameter estimation, J. Robot. Syst., vol. 18, no. 2, pp. 5568, 2001. [3] B. Armstrong-H elouvry, P. Dupont, and C. C. de Wit, A survey of models, analysis tools and compensation methods for the control of machines with friction, Automatica, vol. 30, no. 7, pp. 10831138, 1994. [4] D. Kosti c, B. de Jager, M. Steinbuch, and R. Hensen, Modeling and identication for high-performance robot control: An RRR-robotic arm case study, IEEE Trans. Control Syst. Technol., vol. 12, no. 6, pp. 904 919, Nov. 2004. [5] G. Liu, A. Goldenberg, and Y. Zhang, Precise slow motion control of a direct-drive robot arm with velocity estimation and friction compensation, Mechatronics, vol. 14, pp. 821834, 2004. [6] Z.-Q. Mei, Y.-C. Xue, and R.-Q. Yang. (2005, Nov.). Nonlinear friction compensation in mechatronic servo systems. Int. J. Adv. Manuf. Technol. [Online]. 17. Available: http://www.springerlink.com/content/ y369026831242436/fulltext.pdf om , C. Canudas de Wit, M. G [7] H. Olsson, K. Astr afvert, and P. Lischinsky, Friction models and friction compensation, Eur. J. Control, vol. 4, pp. 176195, 1998. [8] D. Putra, L. Moreau, and H. Nijmeijer, Observer-based compensation of discontinuous friction, in Proc. 43rd IEEE Conf. Decision Control, 2004, pp. 49404945. [9] E. Papadopoulos and G. Chasparis, Analysis and model-based control of servomechanisms with friction, in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2002, vol. 3, pp. 21092114. [10] W. Martono, K. Sato, and A. Shimokohbe, Robustness evaluation of three friction compensation methods for point-to-point (ptp) positioning systems, Robot. Auton. Syst., vol. 52, pp. 247256, 2005. [11] H. S. Kim, Y. M. Cho, and K.-I. Lee, Robust nonlinear task space control for 6 dof parallel manipulator, Automatica, vol. 41, pp. 15911600, 2005. [12] B. Bona and M. Indri, Friction compensation in robotics: An overview, presented at the 44th IEEE Conf. Decision Control Eur. Control Conf. (CDC-ECC 2005), Seville, Spain. [13] B. Armstrong-H elouvry, Control of Machines With Friction. Boston, MA: Kluwer, 1991. om, and P. Lischinsky, A new [14] C. Canudas de Wit, H. Olsson, K. Astr model for control of systems with friction, IEEE Trans. Autom. Control, vol. 40, no. 3, pp. 419425, Mar. 1995. [15] G. Ferretti, G. Magnani, and P. Rocco, Single and multistate integral friction models, IEEE Trans. Autom. Control, vol. 49, no. 12, pp. 2292 2297, Dec. 2004. [16] R. Hensen, M. van de Molengraft, and M. Steinbuch, Frequency domain identication of dynamic friction model parameters, IEEE Trans. Control Syst. Technol., vol. 10, no. 2, pp. 191196, Mar. 2001. [17] V. Lampaert, J. Swevers, and F. Al-Bender, Modication of the leuven integrated friction model structure, IEEE Trans. Autom. Control, vol. 47, no. 4, pp. 683687, Apr. 2002. [18] J. Swevers, F. Al-Bender, C. Ganseman, and T. Prajogo, An integrated friction model structure with improved presliding behaviour for accurate friction compensation, IEEE Trans. Autom. Control, vol. 45, no. 4, pp. 675686, Apr. 2000. [19] F. Al-Bender, F. Lampaert, and J. Swevers, The generalized Maxwell-slip model: A novel model for friction simulation and compensation, IEEE Trans. Autom. Control, vol. 50, no. 11, pp. 18831887, Nov. 2005. [20] RT-LAB v6.2 Users Manual, Opal-RT Technol. Inc., Montr eal, QC, Canada, 2003. [21] B. Bona, M. Indri, and N. Smaldone, Open system real time architecture and software design for robot control, in Proc. IEEE/ASME Int. Conf. Adv. Intell. Mechatron. (AIM 2001), pp. 349354. [22] , An experimental setup for modelling, simulation and fast prototyping of mechanical arms, in Proc. IEEE Conf. Comput.-Aided Control Syst. Des., 2002, pp. 207212. [23] R. Zanasi, C. G. L. Bianco, and A. Tonielli, Nonlinear lter for the generation of smooth trajectories, Automatica, vol. 36, pp. 439448, 2000.

Fig. 9. Regulation test: joint tracking errors with C1 (solid line), C2 (bold, dashed line), and C3 (thin, dash-dotted line) model-based control schemes.

The best regulation results, obtained by the third-order polynomial friction compensation with respect to the LuGre model, could be explained by analyzing the different procedures followed to collect data for friction identication in the two cases. As explained in Sections III-A and III-B, the friction torque data were collected for the LuGre static model by moving the joints at assigned constant velocity values, whereas the data for the identication of the parameters of the third-order polynomial function (together with the inertial one) were acquired during the execution of an assigned, optimal trajectory. The procedure followed in the rst case could be more sensitive to hysteresis effects not included in the model, i.e., different friction torque values could be evaluated at the same joint velocity, if such a velocity is reached starting from different conditions (increasing or decreasing the velocity). The hysteresis effects, if present, are particularly critical at low velocities, so that the friction compensation performed by C2 when the joints are going to stop, could be inadequate, because the data used in the identication of the included friction model could be inconsistent with the condition occurring in the performed test. The compensation obtained by C3 seems to be more robust, since the data used in the identication were collected during the execution of a trajectory of the type given in (14), which includes various passages through zero velocity, under different conditions. V. CONCLUSION When the effectiveness of a model-based controller must be experimentally tested on different manipulator tasks, it is fundamental to pass rapidly from the design to the experimental testing phase, with the possibility of acquiring large sessions of data, as in the case of our RT-Lab architecture. The choice of the dynamic model to be used in a model-based control scheme is crucial for the attainable performances of the particular tasks to be executed, and is greatly affected by the actual identication stage based on the available sensors. As the experimental results have shown, the choice of an accurate friction model (as in the C2 control scheme) has led to the best results at low velocities (LV test), when friction is particularly signicant, but not in the high-velocity range (HV test) and in the regulation one. These results lead to the conclusion that the tracking performances are strongly dependent on the executed task. Then, from the control point of view, the polynomial friction model could be preferred, since the quality of the achieved tracking results are comparable in all the tests. In this case, it becomes

584

IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 11, NO. 5, OCTOBER 2006

[24] L. Sciavicco and B. Siciliano, Modelling and Control of Robot Manipulators, 2nd ed. Berlin, Germany: Springer-Verlag, 2000. [25] P. Dupont, V. Hayward, B. Armstrong, and F. Altpeter, Single state elasto-plastic friction models, IEEE Trans. Autom. Control, vol. 47, no. 5, pp. 787792, May 2002. [26] B. Bona, M. Indri, and N. Smaldone, Nonlinear friction phenomena in direct-drive robotic arms: An experimental set-up for rapid modelling and control prototyping, in Proc. 7th IFAC 2003 Symp. Robot Control, pp. 5964. [27] , Nonlinear friction estimation for digital control of direct-drive manipulators, presented at the Eur. Control Conf. (ECC03), Cambridge, U.K.

Marina Indri received the Laurea degree in electronic engineering, and the Ph.D. degree in systems engineering, in 1991 and 1995, respectively, both from Politecnico di Torino, Torino, Italy. She is an Associate Professor of Automatic Control at Politecnico di Torino. Her current research interests include industrial and mobile robotics, including rapid prototyping of robot controllers, interaction and impact control, friction identication and compensation, and vision control. Dr. Indri has been an Associate Editor of the Conference Editorial Board of the IEEE Control System Society, since 2001.

Basilio Bona (S70M72) received the Laurea degree in electrical engineering from Politecnico di Torino, Torino, Italy, in 1971. He is currently a Full Professor of Industrial Robotics at Politecnico di Torino, where he is the Chair of the Center for Systems Prototyping. He is also the In-Charge of the Robotics Research Group, Dipartimento di Automatica e Informatica, Politecnico di Torino. His current research interests include real-time architectures for rapid prototyping of robotic control systems, vision and force control, and mobile robots.

Nicola Smaldone received the M.S. degree in computer engineering, and the Ph.D. degree in mechatronic engineering, in 1999 and 2003, respectively, both from Politecnico di Torino, Torino, Italy. He is currently an Application Engineer with Engineering, Robotics & Control System Applications S.r.l., Torino, Italy. His research has been concerned with rapid prototyping of robot controllers.

Vous aimerez peut-être aussi