T Chettibi

P Lemoine

Generation of Point to Point Trajectories for Robotic Manipulators under Electro-Mechanical Constraints

Keywords: Robot, DC Motor, Dynamics, Trajectory, Optimization

A simple direct method is applied to solve the problem of optimal trajectory generation for serial manipulators under electro-mechanical constraints. The goal is to increase the robot productivity by using its electric motors outside of their continuous operating range. This is possible only if dynamics of actuators is considered and inherent constraints are included. For this purpose, a general electro-mechanical model for serial robots is first presented. Then, the problem of trajectory generation is cast as a non-linear optimization program using an approximation of joint position variables by means of algebraic polynomial splines which interpolate a set of control points. Finally, the optimization problem is solved using a sequential quadratic programming method for the unknown transfer time and the unknown position of control points, while minimizing a cost function and respecting elecro-mechanical constraints. Numerical and experimental results are presented to illustrate the efficiency of the proposed approach.

lower and upper bounds on the i th joint position F c,i , F v,i coulomb and viscous friction coefficients of the i th joint Kp, Kd, Ki adjustable gains of the controller

I. Introduction

The exploitation of robotic manipulators is based on two fundamental steps, namely: trajectory generation and control design. Trajectory generation can be defined as the process of selecting a motion and the associated optimal input controls from the set of admissible motions and controls while verifying all constraints and minimizing a performance index. This phase is expected to provide a complete and precise description of the robot motion using a suitable robot and environment models. Controls are supposed to carry out the execution of programmed motions despite inevitable modeling errors and existing perturbations.

Steps of robot modeling and motion generation may occupy a large part of the effort required in the system groundwork. Effectiveness of the proposed trajectory planning algorithms depends largely on the accuracy of employed models. By accurate model we mean two things: a model respecting physics laws and a model using precise parameters. The knowledge of the exact robot parameters is very important for both simulation and control. Calibration and identification are the two main procedures which are commonly used in robotics to get good estimation of these parameters [START_REF] Khalil | Modeling, Identification & Control of Robots[END_REF]. Furthermore, the generation of appropriate trajectories requires the development of different mathematical models describing correctly the robot behavior. Several levels of modeling may be involved: i) mechanical dealing with the robot kinematics and dynamics or ii) elector-mechanical where also dynamics of electric actuators is included. In fact, most of robotic manipulators are driven by electrical motors which are subject to electromechanical coupling effects leading to a mutual interaction between electrical parameters (e.g.: voltage and current) and mechanical ones (e.g.: velocity and torques). Electric actuators convert the original electric power into a mechanical one according to a given control law (Fig. 1). Sensors are set at different levels of the control loop to ensure a correct tracking of reference signals for both mechanical and electrical parameters. In robotics, control signals are synthesized in such a way reference trajectories are properly achieved.

For a large number of robots, the phase of trajectory generation is done using simple kinematic motion generators that consider only the kinematic model. In general, this model handles only the robot geometry and limits on joint angles, speeds, and accelerations. In this case, the role of the trajectory generator consists simply in defining the time evolution of kinematic parameters (i.e. position, velocity, acceleration, and, in some cases, jerk) that satisfy some specific kinematic constraints (See for e.g. [2]- [START_REF] Khalil | Génération de mouvements optimaux en robotiques[END_REF]). Moreover, the trajectory is usually chosen such as to minimize the task duration. However, the fact that dynamic effects were neglected makes kinematic trajectory generators inadequate for time-critical high speed robots that are dominated by dynamic forces. For this reason, dynamics should be included and dynamic trajectory generators based on dynamic models are more convenient.

Methods devoted to the treatment of optimal trajectory generation problems under dynamic constraints are numerous. They can be classified into two categories: indirect and direct methods. Indirect methods make use of calculus of variation and lead to a solution of a multi-point boundary value problem [START_REF] Geering | Time-optimal motions of robots in Assembly tasks[END_REF]- [START_REF] Bessonnet | Optimal dynamics of actuated kinematic chains. Part 1: Dynamic modelling and symbolic differentiations[END_REF]. Although such methods may converge to precise solutions, they suffer from many drawbacks (mainly small convergence range) making their application inadequate for general trajectory generation problems, involving in particular path inequality constraints [START_REF] Betts | Survey of numerical methods for trajectory optimization[END_REF] [START_REF] Stryk | Direct and indirect methods for trajectory optimization[END_REF]. On the other hand, direct methods are widely used in robotics community and have been applied successfully for numerous hard trajectory problems [START_REF] Stryk | Direct and indirect methods for trajectory optimization[END_REF]- [START_REF] Chettibi | Generating optimal dynamic motions for closedchain robotic systems[END_REF]. In a direct method, one has first to cast the original problem as a non-linear constrained optimization problem (or NLP) by discretizing some or all robot's dynamic variables: states and/or controls [25] [26]. Then, an efficient deterministic or stochastic optimization algorithm can be applied to solve this new problem. Unfortunately, the majority of these works do not explicitly account for electromechanical coupling effects inside electric drivers and inherent constraints. Generally, authors account for the motor effect as an applied torque or force. The resulting movement will not be precise unless the electric drivers and the associated controllers have enough driven power and responsiveness to guarantee a linear relationship between electrical input and delivered torques [START_REF] Moojin | Dynamic simulations of electromechanical robotic systems driven by DC motors[END_REF].

R i rotor U i (t) L i I i i , m  i  Robot arm U bemf N i +V Mechanical Structure

Electric actuator

DC Motor Amplifier

Trajectory generator

Control Law

High power Low power

Information processing Sensors Fig. 1. Schematic representation of a robot arm driven by an electric actuator. This fact is confirmed by Shiller et al. in [START_REF] Shiller | The practical implementation of time-optimal control for robotic manipulators[END_REF], they demonstrated the significance of unmodeled motor/driver dynamics for the most of tracking errors and proposed a linear model called "friction model" to account for motor/driver dynamics and then enhance the robot tracking capacities. An et al. [START_REF] An | Model Based Control of a Robot Manipulator[END_REF] proposed the reduction of the motor non-linear effects by implementing an additional torque feedback loop at each joint.

There are few papers that treat directly the trajectory generation problem under electro-mechanical constraints. Hollerbach [START_REF] Hollerbach | Dynamic Scaling of Manipulator trajectories[END_REF] introduced the idea of solving the problem of trajectory generation while taking into account the actuator dynamics. He made the assumption of low-inductance DC motors and defined the dynamic scaling property. With this property and under voltage motors constraints, one can find the faster admissible trajectory from an initial infeasible trajectory. Tarkiainen and Shiller [START_REF] Tarkiainen | Time optimal motions of manipulators with actuator dynamics[END_REF] proposed an indirect method (via Pontryagin maximum principle) to solve the problem of minimum-time trajectory generation with a prescribed path. It was shown that the optimal trajectory is bang-bang in the new control variables along the prescribed path. The problem was also solved under voltage constraints only. In references [START_REF] Plédel | Actuator constraints in point to point motion planning of manipulators[END_REF]- [START_REF] Plédel | Polynomial motion generation of Manipulators with technological constraints[END_REF], authors studied particularly the problem of minimum-time point to point trajectory generation under technological constraints. The formulation of the problem is more general and includes various electromechanical constraints. Fifth order polynomial functions have been used to model the time evolution of configuration parameters. The problem was then solved for the unique variable that is the transfer time T f using a simple quasi-analytic method. Authors demonstrated that, in case of numerous generators, the commonly adopted constant limits on joint accelerations and torques are not realistic and lead to an underexploitation of the robot.

In the present paper, we extend the use of the direct method proposed in Ref. [START_REF] Chettibi | Minimum cost trajectory planning for industrial robots[END_REF] and [START_REF] Chettibi | Generating optimal dynamic motions for closedchain robotic systems[END_REF] initially to solve the problem of point-to-point trajectory generation under mechanical constraints to that under electromechanical constraints. First, we introduce a general electro-mechanical model for serial robots where dynamics of electric actuators is considered. Then, in order to transform the problem of trajectory generation into a NLP, we proceed to an approximation of joint position variables q(t) by means of algebraic polynomial splines interpolating a set of control points. Finally, the optimization problem is solved using a sequential quadratic programming method, for the unknown transfer time T f and the unknown position of control points. A cost function J that is a weighted form of T f and consumed electric power is minimized under various elecro-mechanical constraints. Both numerical and experimental results are presented to illustrate the efficiency of the proposed approach.

II. Robot dynamic modeling

The model developed hereafter is based on the following assumptions: the robot is driven by permanent magnet DC motors; the links are rigid and connected by inelastic revolute or prismatic joints with a single degree of freedom, forming an open chain multibody system. Generally, the robot task is specified in the Cartesian space. However, point-to-point trajectories are typically generated in the joint space. The inverse geometric model allows to transform the initial and final configurations from the Cartesian space to the joint space. It is worth noting that the resulting configurations qi and qf must belong to the admissible range of joints' motion defined by inequalities [START_REF] Khalil | Modeling, Identification & Control of Robots[END_REF].

n ..., , i q t q q i i i 1 ) (    (1)
where i q and i q are lower and upper bounds corresponding to mechanical stops disposed at each joint.

Knowing (qi, qf) and limit robot's kinodynamic performances, the trajectory generator should provide reference signals to the robot control system in terms of position, velocity, acceleration, torque, current, and/or voltage. To achieve that, an electro-mechanical model of serial robots driven by DC-motors is needed. In this section, a dynamic mechanical model of serial robots is first introduced. Then, dynamics of actuators is considered. Finally, the complete electro-mechanical model is elaborated. Relevant technological constraints are discussed in parallel.

II.1. Dynamic mechanical modeling

It leads to dynamic motion equations that relate joints torques (or forces) Γ to joints' position q , velocity and acceleration q . In the specialized literature, we can find a large number of methods to establish these equations [START_REF] Khalil | Modeling, Identification & Control of Robots[END_REF] [37] [38]. In one form or another, the necessary torques to drive the manipulator can be written in the following matrix-vector equation form:

q        q G q q C q q M Γ        , ( 2a
)
where M(q) is the inertia matrix, C(q, ) is the vector of centrifugal and Coriolis forces, and G(q) is the vector of potential forces.

q 

Because of friction efforts that are present in all mechanical joint components, robot performances are reduced [START_REF] Khalil | Modeling, Identification & Control of Robots[END_REF] [39] [40]. They are commonly modeled by a combination of Coulomb friction and viscous friction:

  i i v i i c i f q F q sign F      i=1, … , n (2b)
In consequence, relation (2a) becomes as follows:

           q q q G q q C q q M Γ      v c F diag sign F diag ,      (2c)
where diag(F c ) and diag(F v ) are diagonal matrices whose elements are respectively the Coulomb and a viscous friction coefficients F c,i and F v,i i=1, … , n.

Generally, the transmission of motion between actuators and the robot's arms is guaranteed by mechanical transmission systems (e.g. gears). This transmission reduces the motor speed by a factor N i , equals to the gear ratio, and amplifies the motor torque by the same factor as follows:

i , m q  i m      t q N t q i i i , m    (3a),     t N t i , m i i    (3b)
If the actuator rotor inertia is taken into account, the necessary motor torques to drive the manipulator according a kinematics defined by (q, , q ) can then written as follows:

q                               q q q G q q C q q M N q J Γ m m m        v c F diag sign F diag , 1 (4)
where:

 N is a diagonal matrix whose elements are , i=1, … , n i N  J m is a diagonal matrix whose elements are the actuators rotor inertia.

Relation (4) can also be written as follows:

           q q q G q q, C q N J q M Γ m      v c F diag sign F diag       2  (5).
In papers dealing with trajectory generation problems under dynamic mechanical constraints, authors adopt generally the following constraints:

i i q t q    ) ( (6a), i i t    ) ( (6b),
where i q  and i  are constant bounds estimated using motor data-sheets given by the motor constructors and taking into account relations (3a, 3b). Bounds i q  and i  are generally inside the continuous operating range (Fig. 2). The robot's capacities, and consequently productivity, can be increased only if limit values i q  and i  are enlarged. However, any modification of these values involves taking into account proper motor dynamics and inherent technological constraints.

II.2. Motor dynamics

For the n permanent magnet DC motors equipping our robot, the Kirchoff's voltage law is applied around the armature windings of each one [START_REF] Moojin | Dynamic simulations of electromechanical robotic systems driven by DC motors[END_REF] [40] [41]. For the i th motor, it yields:

i , m i , bemf i i i i i q K I R I L U      (7a),
where L i and R i are: motor inductance and armature resistance, respectively. K bemf,i is the back electromotive force constant of the i th motor.

In a permanent magnet DC motor, the torque developed at the motor shaft is supposed to increase linearly with the armature current according to:

i i i , m I K   ( 7b
)
K i is called the motor-torque constant and it is equal to K bemf,i (due to the power conservation).

The operating range of a DC motor (Fig. 2) is theoretically unlimited and there is no intrinsic stability problem [40] [41]. It is rather limited due to technological factors that are mainly: commutation, motor heating, demagnetization, and mechanical wear.

In fact, the maximum permissible speed is primarily limited by the commutation system. The commutator and brushes wear more rapidly at very high speeds.

Practically, the maximum permissible speed m q  is calculated using the service life considerations of the ball bearings at the maximum residual unbalance of the rotor. In consequence, for each motor the following constraint must hold every time:

i , m i , m q t q    ) ( i=1, .. n (8).
forbidden operating area short-term operating range

Speed continuous operating range q N   1 N m q  p bemf I K Torque Fig. 2.
Operating ranges of a DC motor Furthermore, due to the maximum winding temperature, a maximum current must not be exceeded in continuous operation. The heat produced must be dissipated so that the maximum rotor temperature is not exceeded. This results in a maximum continuous current C I , at which the maximum winding temperature is attained under standard conditions. So, the following constraint is introduced:

i , C i I t I  ) ( , i=1, .. n (9a).
For a safe use of the motor, each constructor specifies what is called a permanent operation range. Operating points within this range are not critical thermally and do not generally cause increased wear of the commutation system. So, the motor may only be loaded with the maximum continuous current for thermal reasons. However, temporary higher currents (torques) are allowed. As long as the winding temperature is below the critical value, the winding will not be damaged [START_REF] Plédel | Motion planning of industrial robots with technological constraints[END_REF] [40] [41]. In order to guarantee a harmless overtaking of permanent operating range, the following constraints should be satisfied:

i , p i I t I  ) ( i=1, .. n (9b), i , c f T i f I dt t I T   0 2 ) ( 1 i=1, .. n (9c),
where i , p I is the maximum admissible armature pulse current avoiding demagnetization of permanent magnets [START_REF] Plédel | Génération de mouvement optimaux pour un robot manipulateur[END_REF].

Inequality (9c) is deduced from thermal equilibrium equation of a braked motor [START_REF] Chedmail | Synthèse de robots et de sites robotisés[END_REF]. It is obtained under the assumption of low power loses due to mechanical frictions and using a first order thermal model. The relation (9c) permits to check for a periodic current I i (t) if the produced heat is dissipated correctly to the environment via the stator. In practice, for a nominal feeding voltage U nom , constructors define maximum admissible currents by a curve in the plan (torque, speed) specifying maximum admissible speed and torque values. The delimited area is commonly called short-term operating range (Fig. 2). It is larger than continuous operating range and offers more important capacity for the motors. However, it represents thermal risks that must be carefully controlled by satisfying at each instant inequalities ( 8), (9b) and (9c).

In general, a servo amplifier is used to convert lowpower command signal, which comes from the controller, to levels that can be used to drive the joint motor (Fig. 1). For DC-motors, linear amplifiers and pulse width modulated (PWM) amplifiers are generally used. Theses amplifiers have their own technological constraints that lead to the following restrictions:

i , A i I t I  ) ( ( 10a
) i , A i U t U  ) ( (10b) i , A i dI dt t dI  ) ( (10c)
where i , A I and i , A U are respectively the maximum admissible current and voltage of the i th amplifier defined by the limit capacities of internal components. Obviously Note that the third inequality (10c) is introduced to account for the fact that the current control loop of each actuator has a limited bandwidth [START_REF] Plédel | Actuator constraints in point to point motion planning of manipulators[END_REF] [35] [START_REF] Plédel | Polynomial motion generation of Manipulators with technological constraints[END_REF].

II.3. The electromechanical model

The Electro-mechanical model for an n d.o.f. robot equipped with n permanent magnet DC motors can now be stated by coupling relations (4), (7a) and (7b). It is given here in the following compact matrix-vector system:

m m m 1 m m m 1 m m m q K Γ K R Γ K L U        (11)
Using this model and by making motors working in a larger operating range than the continuous one (but inside the short-term operating range), we intend to ameliorate the robot productivity. Of course, this idea should be applied while taking into account technological constraints inherent to the motors and associated amplifiers. Mathematical optimization offers a good framework for solving such a problem.

III. Formulation of the optimization problem

We are interested in minimizing the following objective function:

      dt I U t I t U T J f T n i i i i i f               0 1 2 1   (12)
where:

  i , A i , nom i U , U min U  ,   i , A i , p i I , I min I  .
The objective function J is a balance between the transfer time T f and the electric power consumed during the transfer. The case corresponds to the minimum time transfer problem.

The minimization process will be done under the following constraints:

 Boundary conditions:

f q T qi f   ) ( (0) q q (13a) 0 ) ( 0 (0)   f T q q   (13b) (13c) 0 ) ( 0 (0)   f T q q    
Constraints (13b) and (13c) guarantee smooth starting and ending motions.

 Technological constraints:

for i=1, …, n i i i q t q q   ) ( (14a) m m q t q    ) ( ( 14b
) i i I t I  ) ( ( 14c
) i i U t U  ) ( ( 14d
) i , A i dI dt t dI  ) ( ( 14e
) i , C f T i f I dt t I T   0 2 ) ( 1 (14f)
It is worth noting that if i I is less than i , c I then inequality (14e) is systematically verified and can be removed.

The problem stated by ( 12), (13a, b, c) and (14a, …, f) is a generic optimal control problem. It is transformed hereafter into a parametric optimization problem as follows. The reference joint trajectories, i.e. q(t), are approximated using n algebraic polynomial splines of degre m (Fig. 3). Each spline interpolates a set of (l+1) control points (t 0 ,  0 ), (t 1 ,  1 ), … , (t l ,  l ), with t 0 = 0 < t 1 < … < t l = T f and ( 0 = qi,  l = qf). Then, a joint trajectory q(t) is writen as follows:

        m j j i ji i t t a t f t q 0 1 ) ( ) ( if (15) l .., , i , t t t i i 1 1    
Coefficients a are calculated using boudary, interpolation, and continuity conditions. Once a ji are available, vectors q(t), , and are deduced through simple algebraic operations. Consequently, all elements of the optimization problem at hand (i.e., objective function and constraints) are calculable. The position of control points, which determines the values of a ji , is varied inside a non-linear optimization program until an optimal solution is reached. The choice of algebraic spline functions can be justified by the interesting characteristics of such functions: high continuity class, minimum computing effort, minimum norm property, … [START_REF] Chettibi | Application of algebraic polynomial splines for trajectory generation problems, 5 èmes journées de Mécanique[END_REF]- [START_REF] Simon | Data Smoothing and Interpolation Using Eighth-order Algebraic Splines[END_REF].

) (t q  ) (t q  ) (t q  
The resulting parametric optimization problem can be now solved using different techniques. As in references [START_REF] Chettibi | Minimum cost trajectory planning for industrial robots[END_REF] and [START_REF] Chettibi | Generating optimal dynamic motions for closedchain robotic systems[END_REF], we use a Sequential Quadratic Programming (SQP) method. The SQP based methods solve the Kuhn-Tucker (KT) equations which are the necessary conditions of optimality for a constrained optimization problem [START_REF] Powell | Algorithm for non-linear constraints that use Lagrangian functions[END_REF]- [START_REF] Barclay | SQP Methods and their application to numerical optimal control[END_REF]. Such a method guarantees a super-linear convergence by accumulating second order information regarding the KT equations and using a quasi-Newton updating schedule.

IV. Simulations

The proposed method was implemented in MATLAB and simulations were performed considering parameters of a direct driven SCARA robot available at IRCCyN (Fig. 4).

The inertial parameters of this robot were identified in a previous work [START_REF] Pressé | Identification des paramètres dynamiques des robots[END_REF] and are used to write the following inverse dynamic model: q sign q q q sin q cos q . q q sin q cos t q sign q q q q q sin q cos q q sin q cos q q sin q cos t

                                               ) ( 0.
                 (16) q i (t)  3 =qf f 3

Segments of the algebraic spline

Fig. 3. Elements of an algebraic polynomial spline for l=3.

t t 3 =T f  0 = qi  2 A control point f 2  1 1 st Motor 2 nd Motor Knots f 1 t 0 =0 t 1 t 2
Fig. 4. Photo of the IRCCyN SCARA robot.

According relation (7a), the voltage around the armature windings of each motor is given by:

               2 2 2 2 1 1 1 1 135 1 8 2 006 0 447 1 63 1 002 0 , m , m q . I . I . t U q . I . I . t U     (17)
After analyzing the characteristics of elements constituting the control loop of each axis, we obtained technological limitations reported in table 1. A series of simulations has been conducted for three different transfers (Table 2) and using two algebraic spline models: a cubic spline model according to the scheme proposed in ref. [2] and a quintic spline model. In the first one, each segment of the spline is of third degree (m=3) while in the second model it is of fifth degree (m=5). However, in the first case two extra control points are systematically added in order to account for the acceleration boundary conditions (13c). This means that the minimal number of segments to be used for this model is three. Furthermore, the coefficient takes three different values to get different combinations for J. It is important to mention that the discontinuous friction terms in ( 14) should be smoothed before optimizing in order to be able to use SQP that supposes a second order continuity of both objective function and constraints.

U (volt) A dI (A.s -1 ) C I (A) q q   (rd) m q  (rd. s -
The simulations are conducted on a notebook (Intel Celeron M Processor 370, 1.5GHz) and the corresponding results are reported in tables 3 and 4. These tables summarize best results obtained using different number of control points (7). On figures 5-8 are given some selected trajectories.

Final configuration (rad)

Task 1

[0, -/4] [2/3, /4] Task 2 [0, 0] [, 0] Task 3 [0, /6] [/4, 0]
From these simulations we note that:

 Best results are not inevitably obtained using the maximum number of free control points. In contrast good results are obtained using a fewer number of free control points. This reduces considerably the computation time.  . This permitted to get controls near of bounds and hence made the movement faster. On figures [START_REF] Khalil | Génération de mouvements optimaux en robotiques[END_REF][START_REF] Geering | Time-optimal motions of robots in Assembly tasks[END_REF] we see that the shape of currents for the first axis is quasi bang-bang which is compatible with optimal control results [10] [START_REF] Formal'skii | The time-optimal control of the bending of a plane two-link mechanism[END_REF].

 Transfers corresponding to problems with  <1 are executed in more time than those corresponding to minimum time problems in order to make the movement less power consuming.  The final results are sensible to the initial solution; we get different results with different initial solution guesses. Results given in tables 3 and 4 are obtained from different trials using different starting solutions.  Both models, cubic and quintic, lead to the same value order of J and T f although they offer different smoothness degree. However, the quintic model involves generally less number of segments to get the same order result.

Simulated accelerations axis 1 axis 2

Fig. 6. Optimal trajectory using a quintic spline for =0.6 (task 1). q  (rad s -1 ) q  (rad s -2 ) Fig. 8. Optimal trajectory using a quintic spline for =1 (task 3). q  (rad s -1 ) q  (rad s -2 ) Fig. 9. Optimal trajectory using a cubic spline for =0.6 (task 1).

2  q (rad.s -1 )

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -8 -6 -4 -
 1 (Nm) 1 q  (rad.s -1 )

V. Experiments

Trajectories planned previously have been implemented on the two degrees of freedom SCARA robot of IRCCyN (Fig. 4). The robot is controlled by a dSPACE digital signal processing board interfaced with an axis control card. An open architecture real-time operating system based on a Texas Instrument TRS320C31 CPU is used for implementing the control algorithm, reading the pre-planned trajectories and feeding them to the control loop at the controller frequency (200Hz). It is worth noting to mention here the facility of using spline functions to rebuild reference trajectories. In fact, they are stored through only control points and evaluated at any sampling instant using equation [START_REF] Betts | Survey of numerical methods for trajectory optimization[END_REF].

As a control law, we used a computed torque control such as the input control is [START_REF] Khalil | Modeling, Identification & Control of Robots[END_REF]:

            q , q C dt q q Ki q q Kp q q Kd q q M t d d d d                      



where :

and M ˆC ˆare estimations of M and C (see Rel. (2a). Here, gravity is null).

q, , are desired position, velocity and acceleration found using the optimization process. -Kp, Kd and Ki are gains adjusted so that we get a critical damping.

Experimental results, corresponding to trajectories of figures 5-8, are given on figures 9-12. We observe that, despite the fact that reference trajectories are obtained in an open loop form, we get a good tracking of the references values. In particular, for low  values we get the smallest tracking errors. This is due to the fact that the robot is going slowly relatively to the minimum time transfer. Furthermore, we note that errors tend quickly to zero for t > T f because of low overshooting recorded at the end of the transfer.

VI. Conclusion

In this work, the problem of generating optimal trajectories for robotic manipulators under various electro-mechanical constraints, was studied. First, an electro-mechanical dynamic model was proposed for serial robots driven by DC motors. Various technological constraints inherent to motors and power amplifiers were also discussed. Then, the problem of generating optimal trajectories under electro-mechanical constraints was formulated initially as an optimal control problem. In order to set up it for a numerical solution we proposed to approximate joint trajectories using algebraic polynomial spline functions interpolating a set of free control points. Finally, the new NL parametric optimization problem was solved using a sequential quadratic programming method.

Various simulations and experimentations were conducted successfully for the case of a two degree of freedom robot.

Using the proposed approach, it is possible to exploit the robot motors in an operating range larger than the continuous one that is traditionally used in others trajectory generators. This is possible since the most significant technological constraints inherent to the motors and associated amplifiers (ensuring their protection) are included in the optimization program. Consequently, we think that the robot productivity can be enhanced considerably.

Results of the present study can be also exploited at a design level. In fact, it is possible to select adequate motors for the projected robot in regard of a desired set of tasks. The proposed approach allows us to evaluate the maximum robot performances using different motors data, consequently to choose the best one.

  1] vector of motors torque N [n  n] matrix of gear transmission ratio Γ [n  1] vector of joints torque 1] vectors of joints acceleration and jerk q m [n  1] vector of motor configuration variables M [n  n] robot inertia matrix C [n  1] vector of Coriolis forces G [n  1] vector of gravity forces J m [n  n] motors inertia matrix U nom [n  1] vector of motors feeding voltage K m [n  n] matrix of motors constant torque qi, qf [n  1] vector of initial and final configurations J i th joint torque l number of spline segments L i inductance of the i th motor R i resistance of the i th motor K bemf,i back electromotive force constant of the i th motor K i torque constant of the i th motor I current in the motor armature C I maximum continuous armature current p I maximum continuous armature pulse current A I maximum continuous amplifier current  i a spline control point a ji the j th coefficient of the i th spline segment n number of the robot degrees of freedom f i polynomial function of the i th spline segment i q , i q

U

  must be less than or equal to i , p I and U nom,i .

Fig. 5 .

 5 Fig. 5. Optimal trajectory using a cubic spline for =0.6 (task 1).

Fig. 10 .

 10 Fig. 10. Optimal trajectory using a quintic spline for =0.6 (task 1).

TABLE 1 .

 1

		ELECTRO-MECHANICAL PERFORMANCES OF THE
		SCARA ROBOT
	Axis	I (A)

TABLE 2

 2

	.
	ROBOT TRANSFERS
	Initial configuration
	(rad)

TABLE 3

 3

	.

Copyright © 2006 Praise Worthy Prize -All rights reserved International Review of Mechanical Engineering, Vol. 1, n. 2

Acknowledgements

Authors would like to thank Prof. W. Khalil, Dr. H. E. Lehtihet and Dr. M. Haddad for their numerous suggestions and useful discussions.

Author's information

[37] F. C. Park