<<

ARTICLE IN PRESS

Control Engineering Practice 13 (2005) 145–157

Trajectory planning and feedforward design for electromechanical systems Paul Lambrechts*, Matthijs Boerlage, Maarten Steinbuch Control Systems Technology Group, Faculty of Mechanical Engineering, Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands Received 14 February 2003; accepted 28 February 2004

Abstract

This paper considers trajectory planning with given design constraints and design of a feedforward controller for single-axis motion control. A motivation is given for using fourth-order feedforward with fourth-order trajectories. An algorithm is given for calculating higher-order trajectories with bounds on all considered for point-to-point moves. It is shown that these trajectories are -optimal in the most relevant cases. All required equations for fourth-order trajectory planning are derived. Implementation, discretization and quantization effects are considered. Simulations and hardware-in-the-loop experiments show superior effectiveness of fourth-order feedforward in comparison with lower-order feedforward. r 2004 Elsevier Ltd. All rights reserved.

Keywords: Trajectory planning; Feedforward compensation; Motion; Point-to-point control; Industrial control; Numerical methods

1. Introduction * system compensation: to reduce or remove unwanted behaviour like measured disturbances or non-linear- Feedforward control is a well-known technique for ities, high-performance motion control problems as found in * feedback control: the processing of available measure- industry. It is, for instance, widely applied in robots, ments and calculation of input signals for actuation pick-and-place units and positioning systems. These devices to compensate for unknown disturbances and systems are often embedded in a factory automation unmodelled behaviour, scheme, which provides desired motion tasks to the * internal checks, diagnostics, safety issues, commu- considered system. The current trend is to leave nication, etc. the details of planning and execution of the motion to the computer hardware dedicated to the control of the This shows that the burden for the motion controller system: one or more motion controllers. The tasks of can be quite high, while usually also a high sampling such a dedicated motion controller will then consist of: rate is required to achieve the desired performance. To simplify these tasks, trajectory planning, profile generation and feedforward control are usually done for * trajectory planning: the calculation of an allowable each actuating device separately, relying on system trajectory, compensation and feedback control to deal with * profile generation: the representation of the trajectory interactions and non-linearities. In that case, each in appropriate form(e.g. a timesequence with a given actuating device is considered to be acting on a simple sample time), object, usually a single , moving along a single * feedforward control: the calculation of input signals degree of freedom. The feedforward control problem is for actuation devices with the intention to obtain the then to generate the required to performthe trajectory, of the mass in accordance with the desired *Corresponding author. Tel.: +31-40-2472839; fax: +31-40- trajectory. Conversely, the desired trajectory should be 2461418. such that the required force is allowable (in the sense of E-mail address: [email protected] (P. Lambrechts). mechanical load on the system) and can be generated by

0967-0661/$ - see front matter r 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.conengprac.2004.02.010 ARTICLE IN PRESS 146 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

Nomenclature d of jerk (profile) (m=s4 or rad=s4) F actuator force, feedforward force (N) or x% bound on jxj ðNmÞ x# maximum value obtained by jxj if bound is not m mass (kg) or ðkgm2Þ considered c spring (N/mor Nm =rad) x0 initial value k viscous coefficient (Ns=mor tx% time interval during which jxj obtains its bound Ns m=rad) ti; iAN switching time instances q1?4 feedforward parameters x , (profile) (m or rad) Ts sampling time (s) v (profile) (m/s or rad/s) s Laplace transformvariable a acceleration (profile) (m=s2 or rad=s2) z shift operator ; jerk (profile) (m=s3 or rad=s3)

the actuating device. For obvious reasons, this approach However, it may also lead to a considerable increase is often referred to as ‘mass feedforward’ or ‘ in execution time of the trajectory, often without feedforward’. It allows a simple and practical imple- a clear mechanism for finding a time optimal mentation of trajectory planning and feedforward solution. Various examples of this approach can control. be found in Dijkstra, Rambaratsingh, Scherer, The disadvantage of this approach is its dependence Bosgra, Steinbuch, and Kerssemakers (2000), on feedback control to deal with unmodelled behaviour Meckl, Arestides, and Woods (1998), Murphy and as mentioned before. The resulting problem formulation Watanabe (1992), Paganini and Giusto (1997) and can be split into two. Singer, Singhose, and Seering (1999). (2) Feedforward control based on plant inversion: This (1) During execution of the trajectory the position attempts to take the effect of unmodelled behaviour errors are large, such that feedback control actions into account by either using a more detailed model are considerable. Actual velocity and acceleration of the motion system or by learning its behaviour (hence: actuator force) may therefore be much larger based on measurements. An important practical than planned. This may lead to undesired and even disadvantage is that they do not provide an dangerous deviations fromthe planned trajectory approach for designing an appropriate trajectory. and damage to actuator and system. Various examples of this can be found in Boerlage, (2) When arriving at the desired endpoint, the position- Steinbuch, Lambrechts, and van de Wal (2003), ing error is large and the dynamical state of the Devasia (2000), Hunt, Meyer, and Su (1996), Park, controlled systemis not settled. Although the Chang, and Lee (2001), Roover (1997), Roover and trajectory has finished, it is often necessary to wait Sperling (1997), Tomizuka (1987), Torfs, Swevers, for a considerable time before the position error is and De Schutter (1991) and Torfs, Vuerinckx, settled within some given accuracy bounds before Swevers, and Schoukens (1998). subsequent actions or are allowed. A (3) Feedback control optimization (possibly aided by practical consequence is the need for a complex test system compensation improvement): By improving to determine whether settling has sufficiently the feedback controller, the positioning errors can occurred. Furthermore, it is a source of time be kept smaller during and at the end of the uncertainty that may be undesirable on the factory trajectory. Furthermore, settling will occur in a automation level. shorter time. Also in this case the design of an appropriate trajectory is not considered. Obviously, To improve on this, many academic and practical any feedback control design method can be used for approaches are possible. These can roughly be categor- this. Some references given above also include a ized in three. discussion on the effect of feedback control on (1) Trajectory smoothing or shaping: This can be done trajectory following e.g. see Roover (1997), Roover by simply reducing the acceleration and velocity and Sperling (1997), Torfs et al. (1998). bounds used for trajectory planning, but also by smoothing or shaping the trajectory and/or applica- This paper will provide a method for higher-order tion of force (higher-order trajectories, S-curves, trajectory planning that can be used with all of the input shaping, filtering). The result of this can be approaches given above. Furthermore, ‘fourth-order very good, especially if the dynamical behaviour of feedforward’ will be presented as a clear and well the motion system is explicitly taken into account. implementable extension of ‘rigid body feedforward’. It ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 147 will be shown that the combination of fourth-order x trajectory planning and fourth-order feedforward is well F matched with the general behaviour of electromechani- m cal motion systems and obtains time optimality within given physical bounds (actuator device and motion system limits). Next, the effect of discrete time k implementation will be considered: this includes the Fig. 1. Simple motion system: a single mass. planning of a fourth-order trajectory in discrete time and the optimal compensation of time delays in the feedforward control signal. Finally, some simulation results and hardware-in-the-loop experiments are given order trajectory profiles to further motivate the use of fourth-order feedforward. 5 ] 2 The next section will review rigid body feedforward, ta tv mostly with the purpose of introducing some notation 0 [m/s ta (see also Nomenclature). Next, Section 3 will consider a -5 the extension of rigid body feedforward to fourth-order 0 0.2 0.4 0.6 0.8 1 feedforward, based on an extended model of the motion 1.5 system. A general algorithm for higher-order trajectory 1 planning will be considered in Section 4, after which the [m/s] 0.5 relevant equations are derived for fourth-order trajectory v 0 planning in Section 5. Next, implementation aspects are 0 0.2 0.4 0.6 0.8 1 1 considered in Section 6, followed by simulations and

experiments in Section 7, and conclusions in Section 8. [m] 0.5 x 0 0 0.2 0.4 0.6 0.8 1 2. Rigid body feedforward time [s] Fig. 2. Second-order trajectory determination. The specifics of planning a trajectory and calculating a feedforward signal based on rigid body feedforward are fairly simple and can be found in many commercially Hence, this algorithmhas calculated two timeinterval available electromechanical motion control systems. In durations ta% and tv% such that this section, a short review is given as an introduction to 2 tx% ¼ 2ta% þ tv%; x% ¼ at% % þ vt% v%: ð2Þ a standardized approach to higher-order feedforward a calculations. Note that tv% automatically reverts to 0 if the velocity Consider the configuration of Fig. 1 with m denoting bound is not obtained. Construction of the acceleration the mass of the motion system, F the force supplied by profile a from a%; ta% and tv% is straightforward. Fromthis, the actuating device, x the position and k a viscous the desired trajectory can be determined by integrating it damping term. The equation of motion for this simple once to obtain the velocity profile v; and integrating it configuration is of course twice to obtain the position profile x; see Fig. 2. As the position profile thus establishes the trajectory as a mx. þ kx’ ¼ F: ð1Þ sequence of polynomials in time with a degree of at most Now consider the planning of a point-to-point move 2, rigid body feedforward is also referred to as ‘second- for this systemover a denoted as x%; while order feedforward’. restricted by given bounds on maximal velocity v% and The actual implementation of the trajectory planner maximal acceleration a%: and feedforward controller is indicated in Fig. 3. Note pffiffiffiffiffiffiffiffi that the feedforward force F is simply calculated from 1. t% ¼ x%=a%; preliminary acceleration/deceleration a Eq. (2) and the profiles in Fig. 2 as time interval to obtain x%: 2. v# ¼ a% Á ta%; maximal velocity obtained during move. F ¼ ma þ kv: ð3Þ 3. v# > v%; test whether velocity violates bound:

3 if true: ta% ¼ v%=a%; 3 if false: no . 3. Higher-order feedforward

2 4. xa% ¼ at% a%; distance covered during acceleration and The previous section shows that rigid body feedfor- deceleration. ward is based on a simple single-mass model of the 5. tv% ¼ðx% À xa%Þ=v%; constant velocity time interval. motion system. This implies that the performance of ARTICLE IN PRESS 148 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

x x a m 1 2 c Acceleration F k m1 m2 F k12 1 1 1 PD x s s ms2 + ks k k Velocity Position Controller Plant 1 2

Fig. 3. Rigid body feedforward implementation. Fig. 4. Extended motion system: double mass.

rigid body feedforward is determined by how much the between the two , k12 the viscous damping actual motion system deviates from this single-mass between the two masses, k1 the viscous damping of the model. On the other hand, the performance of the actuator towards ground and k2 the viscous damping of motion system as a whole is also determined by the the load towards ground. The for quality of systemcompensation and/or feedback con- this configuration are trol. It can be stated that the success of feedback control m x. ¼Àk x’ À cðx À x ÞÀk ðx’ À x’ ÞþF; is such that in many cases the rigid body feedforward 1 1 1 1 1 2 12 1 2 . ’ ’ ’ approach is considered sufficient, given that an appro- m2x2 ¼Àk2x2 þ cðx1 À x2Þþk12ðx1 À x2Þ: ð4Þ priate feedback controller is required anyway for Laplace transformation and substitution then results in disturbance reduction and stabilization. the following expression: However, when considering further improvement of 4 3 2 motion control system performance, the use of higher- q1s þ q2s þ q3s þ q4s F ¼ x2 ð5Þ order feedforward is often a very effective approach in k12s þ c comparison with improved feedback control. The first with effect is that higher-order trajectories inherently have a lower content at higher , which results q1 ¼ m1m2; in a lower high- content of the error signal, q2 ¼ðm1 þ m2Þk12 þ m1k2 þ m2k1; which in turn enables the feedback controller to be more q3 ¼ðm1 þ m2Þc þ k1k2 þðk1 þ k2Þk12; effective. The second effect is that higher-order trajec- q ¼ðk þ k Þc: ð6Þ tories have less chance of demanding a motion which is 4 1 2 physically impossible to perform by the given motion This implies that if some fourth-order trajectory has system, e.g. most amplifiers exhibit a ‘rise time’ been planned for x2; fromwhich the corresponding effect, such that it is impossible to produce a step-like profiles for velocity v; acceleration a; jerk ; and change in force. derivative of jerk d can be derived, the feedforward These effects are commonly referred to as ‘smoothing’ force F can be calculated as and result in a decrease of positioning errors during 1 execution of the trajectory and a reduced settling time. F ¼ fq1d þ q2; þ q3a þ q4vg: ð7Þ k s þ c The disadvantage of higher-order trajectories, i.e. the 12 increase in trajectory execution time, is usually more Analogous to the implementation given in Fig. 3, this than compensated by the reduced settling time. Because feedforward scheme can readily be implemented as given of this, many high-performance motion systems are in Fig. 5. Note that it is convenient to specify the already equipped with a third-order trajectory planner trajectory by means of the derivative of jerk profile d; as a direct extension of rigid body feedforward. In this such that all other profiles can easily be obtained by section, it will be determined that a fourth-order integration. An algorithmfor obtaining d will be the trajectory planner and feedforward calculation gives a subject of the next sections. significant further improvement. The main argument is that an electromechanical motion system will usually have some compliance 4. Higher-order trajectory planning between actuator and load, and that both actuator and load will have a relevant mass. Support for this can Planners for second- and third-order trajectories are for instance be found in Steinbuch and Norg (1998). fairly well known in industry and academia and there Based on this, it is natural to extend the single mass are many approaches for obtaining a valid solution. model of Fig. 1 to the double-mass model of Fig. 4. Here Extension to fourth-order trajectory planning is how- m1 denotes the mass of the actuator, m2 the mass of the ever not trivial. In this section, the main objectives of load, F the force supplied by the actuating device, x1 the trajectory planning, in general, will be reviewed and an actuator position, x2 the load position, c the stiffness algorithmwill be set up for obtaining these objectives ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 149

d q1 Derivative of Jerk q2 Rigid Body Feedforward

q3

q4

1 k12 s+c

F 1 1 1 1 Motion s s s s PD System x Jerk Acceleration Velocity Position Controller 4th order plant

Fig. 5. Fourth-order feedforward implementation. more or less irrespective of the order of the resulting minimal, given the bounds a% and v%: Next, actuator effort trajectory. is immediately taken into account by means of the given A trajectory planner for a point-to-point move will be bounds, accuracy is precise, complexity is low and considered, although the resulting algorithmcan be reliability is high (no iteration loops that can adjusted for relevant alternative objectives like for hang up, algorithmonly fails if a non-positive bound instance control instead of position control, is specified). The implementation problem is considered scanning motions or speed change operations. The later. objectives that are important for applicability of any Given the advantages of this algorithm, it is desirable trajectory planning algorithmare given below: to generalize it for planning higher-order trajectories. The position displacement x% and bounds on all * Timing: Time optimality should be obtained; at least derivatives of the trajectory up to the highest-order it must be clear what the consequences are for the derivative d (indicated as d%) are assumed to be given. trajectory execution time when considering the effect Furthermore, all derivatives are required to be equal to of boundary conditions. zero at the start and end positions. * Actuator effort: This is usually the basis for the selection of bounds for velocity, acceleration and d jerk, although they may also be related to bounds on (1) Determine a symmetrical trajectory that has d% Àd% or safety issues. equal to either or at all and obtains x% * Accuracy: For point-to-point moves, the planned end displacement : (2) Determine t %: the shortest time that d remains position of the trajectory must be equal to the desired d end position (within measurement accuracy). constant (always the first period). v# * Complexity: Usually, trajectory planning is thought (3) Calculate the maximal value of velocity obtained of as being done off-line. In practice, however, the during this trajectory. v# v% desired end position often becomes available at the (4) Test > : 3 if true re-calculate t % based on v% (t % decreases), moment the trajectory should start. Hence, the time d d 3 required for planning the trajectory is lost and should if false continue. a# be minimized. (5) Calculate the maximal value of acceleration * Reliability: The planning algorithmshould always obtained during this trajectory. a# a% come up with a valid solution. (6) Test > : 3 if true re-calculate t % based on a% (t % decreases), * Implementation: Trajectory planning is done in d d 3 computer hardware, and is therefore subject to if false continue. discretization and digitization. (7) Continue these tests and possible recalculations until d; the last test is performed on ;; defined as

These objectives, except the final one, are all met by the highest derivative before d: The resulting td% will the simple algorithm given in Section 2. Obviously, not be changed anymore. timing is minimal if the bound v% is discarded and only (8) Extend the trajectory symmetrically with periods of acceleration occurs at the maximal allowable a%: Intro- constant ; whenever ; reaches the value ;% or À;%: ducing v% always leads to a reduction of ta% (easily this must be done such that the required displace- verified). The result will be that v ¼ v% is obtained in the ment x% is obtained. shortest possible time, and is continued for as long as (9) Determine t;% : the shortest time that ; remains possible. Hence, the trajectory execution time is always constant. ARTICLE IN PRESS 150 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

(10) Starting with velocity and ending with the deriva- Fourth order trajectory profiles tive before ;; calculate the maximal value and re- 1000 ] 4 calculate t;% if the appropriate bound is violated t2 t 3t 4 t 5 t8 t 9 t14t 15 0

(each re-calculation can only decrease t;% ). [m/s t0t 1 t6 t 7 t10t 11t 12t 13 (11) The resulting t;% will not be changed anymore. d -1000 0 0.2 0.4 0.6 0.8 1 1.2 (12) Extend the trajectory symmetrically with periods of 50 ] constant next lower derivative; again such that the 3 required displacement x% is obtained. Determine the 0 [m/s j associated time interval and do the tests and -50 recalculations resulting in a final value for it. 0 0.2 0.4 0.6 0.8 1 1.2 5 ]

(13) Continue until v: the constant speed phase duration 2

tv% is calculated such that the required displacement 0 % [m/s x is obtained (i.e. the displacement ‘left to go’ a -5 divided by v%). 0 0.2 0.4 0.6 0.8 1 1.2 (14) Finished: td%; t;% ; etc. until tv% completely determine 1.5 the trajectory. 1

[m/s] 0.5 v The properties of the resulting trajectories (in the sense 0 of the objectives given above) appear to depend partly 0 0.2 0.4 0.6 0.8 1 1.2 1 on the order of the trajectory planner. Obviously, the required calculations become more complex with [m] 0.5 x increasing order. Time-optimality is still automatically 0 obtained with third-order trajectories, but not necessa- 0 0.2 0.4 0.6 0.8 1 1.2 rily for fourth-order trajectories (this can be obtained time [s] but costs much complexity at a small gain with respect Fig. 6. Fourth-order trajectory planning. to a good sub-optimal solution). In principle, higher than fourth-order trajectories can also be planned by means of this algorithm, but this is considered im- practical due to the large increase in complexity. It is bound on the derivative of jerk will be considered. This noted here that all calculations for third- and fourth- implies tv% ¼ 0; ta% ¼ 0 and t;% ¼ 0 and it is clear that this order planning can be done analytically with fairly basic will provide a lower bound for the trajectory execution mathematical functions. time tx% ¼ 8  td%: % To obtain td% (step 2), the relation between td% and x with given d% is needed. For this the constant value of 5. Fourth-order trajectory planning derivative of jerk of þd% or Àd% during each interval will be used. If the time instance of derivative of jerk change This section will provide the derivations and calcula- is set to 0, it is easily verified that for any time t during tions necessary to ‘fill in’ the algorithmdeveloped in the the constant derivative of jerk interval the fourth-order previous section for fourth-order trajectory planning. profiles for acceleration, velocity and position can be Again it will be assumed that a symmetrical trajectory expressed as follows: must be planned for a point-to-point move over a ;ðtÞ¼d t þ ; ; distance x%: Bounds are defined on velocity (v%), accelera- 0 0 % 1 2 ; tion ða%Þ; jerk (;%) and derivative of jerk (d). The trajectory aðtÞ¼2 d0t þ 0t þ a0; planning algorithmwill be based on the construction of 1 3 1 ; 2 vðtÞ¼6 d0t þ 2 0t þ a0t þ v0; a derivative of jerk profile that can be integrated four xðtÞ¼ 1 d t4 þ 1 ; t3 þ a t2 þ v t þ x : ð8Þ times to obtain the fourth-order position trajectory. A 24 0 6 0 0 0 0 symmetrical trajectory is completely determined Because the bounds on jerk, acceleration and velocity by four time intervals: the constant derivative of jerk are assumed to be not violated, t;% ¼ 0; ta% ¼ 0 and tv% ¼ 0; t % t;% interval d; the constant jerk interval ; the constant and consequently from Fig. 6: t2 ¼ t1 ¼ td%; t4 ¼ t3 ¼ 2td%; % acceleration interval ta and the constant velocity interval t6 ¼ t5 ¼ 3td% and t8 ¼ t7 ¼ 4td%: Hence, tv%: The resulting profiles are given in Fig. 6. Note that % ;ðt Þ¼dt %; there are 16 time instances at which the derivative of jerk 1 d 1 % 2 changes, including the starting time of the trajectory aðt1Þ¼2 dtd%; at t : 1 % 3 0 vðt1Þ¼ dt %; For step 1 of the algorithm, the bounds on jerk, 6 d ð Þ¼ 1 % 4 ð Þ acceleration and velocity will be discarded, and only the x t1 24 dtd% 9 ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 151 and for the next period in which d ¼Àd% now implies ; % ; ; % ðt3Þ¼Àdtd% þ ðt1Þ¼0; ðt2Þ¼dtd%; 1 % 2 % 2 1 2 ð Þ¼À þ ;ð Þ % þ ð Þ¼ % % % ;% a t3 2 dtd% t1 td a t1 dtd%; aðt2Þ¼2 dtd% þ dtdt ; 1 % 3 1 2 % 3 1 % 3 1 % 2 1 % 2 vðt Þ¼À dt þ ;ðt Þt þ aðt Þt % þ vðt Þ¼dt ; ;% % 3 6 d% 2 1 d% 1 d 1 d% vðt2Þ¼6 dtd% þ 2 dtd%t þ 2 dtdt;% ; 1 % 4 1 % 3 1 % 2 2 1 % 3 4 3 2 xðt Þ¼ dt % þ dt %t;% þ dt %t þ dt %t : ð19Þ 1 % 1 ; 1 % 2 24 d 6 d 4 d ;% 6 d ;% xðt3Þ¼À 24 dtd% þ 6 ðt1Þtd% þ 2 aðt1Þtd% þ vðt1Þtd þ xðt1Þ 7 % 4 ¼ dt %: ð10Þ Again using Eq. (8) it is possible to calculate jerk, 12 d acceleration, velocity and position at the consecutive Again using Eq. (8), the results of the subsequent time instances. Note, that maximal acceleration is periods can be calculated: obtained at t3 and maximal velocity at t7: Now, it can ; % ; ðt5Þ¼Àdtd%; ðt7Þ¼0; be derived that the position obtained at the end of the aðt Þ¼1 dt% 2; aðt Þ¼0; move can be calculated as 5 2 d% 7 % 4 % 3 % 2 2 % 3 5 % 3 % 3 ð11Þ ð Þ¼ þ ;% þ þ % ð Þ vðt Þ¼1 dt ; vðt Þ¼2dt ; x t15 8dtd% 16dtd%t 10dtd%t;% 2dtdt;% : 20 5 6 d% 7 d% 1 % 4 % 4 By setting x% ¼ xðt15Þ; it is then possible to solve t;% from xðt5Þ¼2 24 dt %; xðt7Þ¼4dt % d d the following: and due to symmetry of the profile: xðt Þ¼2xðt Þ¼ 15 7 % 3 % 2 2 % 3 % 4 % 4 ð2dt %Þt þð10dt %Þt þð16dt Þt;% þð8dt % À x%Þ¼0 8dt : Fromthis t % can be calculated as required by steps d ;% d ;% d% d d% d  1 and 2 of the trajectory planning algorithm: 3 2 2 3 x% rffiffiffiffiffi % ;% ) t;% þð5tdÞt;% þð8td%Þt þ 4t % À ¼ 0: ð21Þ d % % 4 x% 2dtd td% ¼ %: ð12Þ 8d This is a third-order polynomial equation in t;% ; which To continue with step 3, note that the maximal velocity has one positive real root that can be calculated as is obtained at time instance t7: Hence, fromEq. (11) follows (see Bronshtein & Semendyayev, 1973): follows 1 2 p :¼À t %; # % 3 9 d v ¼ vðt7Þ¼2dtd%: ð13Þ 1 3 x% # q :¼À t % À ; If v > v% it is necessary to recalculate td% as d % rffiffiffiffiffi 27 4dtd% 3 v% 3 2 t % ¼ ; ð14Þ D :¼ p þ q ; d 2d% qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffipffiffiffiffi 3 which establishes step 4. Next, step 5 follows fromthe r :¼ Àq þ D; calculation of maximal acceleration obtained at time p 5 t;% ¼ r À À td%: ð22Þ instance t3: FromEq. (10) follows: r 3 # % 2 a ¼ aðt3Þ¼dtd% ð15Þ After this, step 10 of the algorithmintroduces the # % velocity and acceleration bounds again; the maximal and if a > a it is necessary to recalculate td% as rffiffiffi velocity is obtained at t7: a% % 3 % 2 % 2 t % ¼ ; ð16Þ v# ¼ vðt7Þ¼2dt % þ 3dt %t;% þ dt %t;% : ð23Þ d d% d d d # % which establishes step 6. In this case, one further test is If v > v the bound is violated and it is necessary to required (step 7) to do on the maximal jerk obtained at recalculate t;% fromthe second-order polynomial 2 2 v% t1: % ;% t;% þ 3tdt þ 2td% À % ¼ 0: ð24Þ ;# ; % dtd% ¼ ðt1Þ¼dtd% ð17Þ ;# ;% The positive real solution for this is and if > it is necessary to recalculate td% as sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ;% t2 % 1 d% v td% ¼ : ð18Þ t;% ¼À1 t % þ þ : ð25Þ d% d % 2 4 dtd% Hence, this establishes a value for td% that complies with Next, the maximal acceleration is obtained at t3: all of the bounds ;%; a% and v%: Fromthis point on, t % can d 2 # % % % ;% be considered a constant. a ¼ aðt3Þ¼dtd% þ dtdt : ð26Þ The next thing to do is to calculate t;% under the If a# > a% it is necessary to recalculate t;% as assumption that bounds a% and v% are not violated (steps 8 a% and 9). To do the necessary calculations, assume that t;% ¼ À t % ð27Þ ;% d t;% > 0; such that t2 > t1 and t6 > t5 (from Fig. 6). Eq. (8) and the fact that d ¼ 0 during the period from t1 to t2 and step 11 of the planning algorithmis established. ARTICLE IN PRESS 152 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

In accordance with step 12, there is a further 6. Implementation aspects extension of the trajectory required for the calculation of ta%: To do the necessary calculations, assume that ta% > 6.1. Switching times 0; such that t4 > t3 (from Fig. 6). Eq. (8) and the fact that d ¼ 0 and ; ¼ 0 during the period from t3 to t4 can now Fromthe previous sections, it is clear that the again be used to calculate jerk, acceleration, velocity and derivations for especially fourth-order trajectory plan- position at the consecutive time instances. This results in ning are quite elaborate. However, the calculations the following expression for the obtained end position at actually required for implementation of this planner are t15: relatively straightforward. The algorithmconsists of a % 4 % 3 % 2 2 % 3 % 2 2 combination of polynomial calculations with simple if– xðt Þ¼8dt % þ 16dt t;% þ 10dt %t þ 2dt %t þ dt %t 15 d d% d ;% d ;% d a% then–else tests for which most state-of-the-art motion % 2 % 3 % 2 % 2 % ;% ;% % þ dtdt ta% þ 6dtd%ta% þ 9dtd%t ta% þ 3dtdt;% ta%: ð28Þ control hardware has standard algorithms. When considering implementation of the planned Now, given that t % and t;% are already determined, t% can d a trajectory into a feedforward control scheme, it is be solved such that xðt Þ¼x% fromthe following 15 important to consider the effect of discretization. This polynomial equation: implies that the integrators and the feedforward filter as % 2 % 2 % 3 % 2 % 2 % ;% ;% % fdtd% þ dtdt gta% þf6dtd% þ 9dtd%t þ 3dtdt;% gta% given in the diagramof Fig. 5 will all have to be 4 3 2 2 3 implemented in discrete time at some given sampling % % ;% % % % % þf8dtd% þ 16dtd%t þ 10dtd%t;% þ 2dtdt;% À xg¼0: ð29Þ time interval Ts: This also implies that the switching Clearly, ta% must be the positive root of this second-order time instances of the planned trajectory must be polynomial equation. synchronized with the sampling time instances, i.e. the Now introduce the velocity bound again: time intervals tv%; ta%; etc. must be multiples of Ts: % 3 % 2 % 2 % 2 % To obtain this, it must be accepted that time- v# ¼ vðt7Þ¼2dt % þ 3dt %t;% þ dt %t;% þ dt %ta% þ dt %t;% ta% ð30Þ d d d d d optimality as resulting from the continuous time # and if v > v% the bound is violated such that ta% must be re- calculations in the previous sections is lost. The calculated as calculated time intervals must be rounded-off towards % 3 % 2 % 2 v% À 2dt À 3dt t;% À dt %t T : d% d% d ;% a multiple of s This must be done such that the given t% ¼ : ð31Þ a % 2 % bounds are not violated, but at the same time dt % þ dt %t;% d d approximated as closely as possible. The approach This determines td%; t;% and ta% under the restriction of the proposed here is to extend the algorithmof Section 5. given bounds and, as the next derivative is v; this After each calculation or re-calculation of a time establishes step 12 of the algorithm. interval, the result is rounded-off upward to the next Finally, step 13 will determine the constant velocity multiple of Ts: Next, the maximal value of the highest time interval tv% such that the required total displacement derivative is calculated accordingly. x% is obtained. Fromthe previous calculations follows As an example, consider the first calculation of td% that t% ¼ 0ift% is according to Eq. (29). But if t% is v a a (Eq. (12)). The rounded-off value for td% can be reduced according to Eq. (31), the result will be that calculated as  xðt15Þox% (with xðt15Þ recalculated according to Eq. (28)), 0 td% and a constant velocity phase must be added to the td% ¼ ceil  Ts ð34Þ Ts trajectory such that xðt4ÞÀxðt3Þ¼x% À xðt15Þ: Hence, tv% can be calculated as with ceilðÁÞ denoting the rounding off towards the next % x% À xðt15Þ higher integer. FromEq. (12) a new value for d can then t% ¼ : ð32Þ v v% be calculated: This completes the calculation of the characteristics of x% d% 0 ¼ : ð35Þ the symmetrical fourth-order profile for a given distance 8t04 d% x% and given bounds v%; a%; ;% and d%: Furthermore, if the 0 % 0 % Note that with t %Xt % this results in d pd: trajectory contains a constant velocity phase (i.e. tv% > 0), d d the trajectory is time-optimal. The total displacement x% It can be verified that this same approach is valid for % the calculation or recalculation of all time intervals. It is can be expressed as a function of d and the times t % t;% ; ta% d important to note that with each new calculation of d% 0 and tv%: its value must reduce. This guarantees that none of the bounds that were checked in earlier steps of the 2 2 2 3 2 2 4 % % % ;% ;% % x ¼ dðtd%ta% þ tdt ta% þ 6td%ta% þ 9td%t ta% þ 3tdt;% ta% þ 8td% algorithmwill be violated. 3 2 2 3 3 2 ;% % ;% State-of-the-art motion controllers are equipped with þ 16td%t þ 10td%t;% þ 2tdt;% þ 2td%tv% þ 3td%t tv% 2 2 a high-resolution floating point calculation unit, such þ t %t t% þ t %t%t% þ t %t;% t%t%Þ: ð33Þ d ;% v d a v d a v that quantization effects are usually negligible. To check ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 153 this, Eq. (33) can be used to calculate the obtained Normalized discrete time fourth order profiles position in case of a quantized d% 0: The difference not synchronized synchronized, delayed by 0.1s between desired position and calculated position can be accounted for by means of a correction signal on the position trajectory. Typically in a digital system, the position signal is also quantized (usually in encoder increments). The correction signal can then be imple- mented by adding some increments to the position reference at each sampling instance during the trajec- a d tory. In relevant cases only one or two correction increments at each sampling instance should be suffi- cient (to prevent deterioration of the feedforward control). In case larger corrections are necessary, the xv j accuracy and/or sampling rate of the motion control hardware should be increased. 0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1 1.2 (a)time [s] (b) time [s] 6.2. Synchronization of profiles Fig. 8. Synchronization of discrete time profiles (dashed: continuous time). Consider the continuous time implementation of the feedforward signal calculation as given in Fig. 5. Now, factors q1 to q4 followed by summation as indicated in the generation of the derivative of jerk profile and the Fig. 5 is straightforward. The first-order filtering is less four integrators to obtain jerk, acceleration, velocity and trivial, as it must also be transferred to the discrete time position must be implemented in digital hardware. A domain. A possible implementation that prevents straightforward approach is to replace the continuous problems with unwanted time delays and gives good time integrators by forward Euler discrete time inte- results is to make use of the trapezoidal integration grators as indicated in Fig. 7. Clearly, all required method. Fig. 9 shows the equivalence of the first-order profiles are thus calculated. However, due to the zero- filter in Fig. 5 with two possible implementations using order hold effect, each of the four integrators introduces the trapezoidal integration method. The first implemen- a specific delay time. To fix this effect, the higher-order tation has the inherent disadvantage that an algebraic profiles can be delayed individually such that the loop occurs; in the second implementation this is symmetry of the complete set of profiles is restored. prevented by re-calculating the loop. Equivalence can All this can be seen in Fig. 8, in which the discrete time be checked by verifying that the discrete implementa- profiles are compared with the corresponding contin- tions both have the following transfer function: uous time profiles. The derivative of jerk profile must be y ðTs=ð2k12 þ cTsÞÞðz þ 1Þ delayed with 2  Ts; the jerk profile with 1:5  Ts; the ¼ : ð36Þ u z Àð2k12 À cTsÞ=ð2k12 þ cTsÞ acceleration profile with 1  Ts and finally the velocity profile with 0:5  Ts: To obtain a delay of 0:5  Ts when sampling with Ts the average value is taken fromthe 6.4. Calculation of reference trajectory current and previous amplitude of the considered profile. This operation appears to very well, A final point on synchronization must be made with although the associated smoothing effect is undesirable. respect to the calculation of the reference trajectory that Note that in this case the synchronization introduces a is used for feedback control. When applying the total delay of 0:1s(2 Ts), but in practice the sampling feedforward signal as calculated above, based on the time will be much smaller. synchronized profiles as illustrated in Fig. 8, the actual plant’s response will be close to the ideal continuous 6.3. Implementation of first-order filter time response with a delay of 2  Ts: However, in order to compare this signal with the reference trajectory, it All required profiles for calculation of the feedfor- must be sampled with the same sampling frequency as is ward signal are now available. The multiplication with used for generation of the reference trajectory. The sample and hold device used for this will then introduce d d an average delay of exactly 0:5  Ts: Hence, to compensate for this further delay, it is Derivative j a v of Jerk Ts Ts Ts Ts necessary to also delay the reference trajectory with this z− 1 z − 1 z − 1 z − 1 x same value. This additional delay can be implemented in Jerk Acceleration Velocity Position the same manner as mentioned before: by taking the Fig. 7. Discrete time planner using forward Euler integrators. average between the current and previous reference ARTICLE IN PRESS 154 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

u 1 y k12 s+1 continuous

T (z +1) u 1 s y k12 2(z −1) trapezoidal c k12

u Ts 1 y Fig. 10. Experimental motion system. 2k12 + cTs z

− 2k12 cTs Measured FRF of motion system plant with fitted model 2k12 + cTs 60 measurement model Fig. 9. Discrete implementation of first-order filter using the 40 trapezoidal integration method. 20

0 trajectory value. The result of this will be that the Magnitude [dB] -20 control error will not be affected by sampling. The 100 101 102 controller will only act on the effects of disturbances and -100 on discrepancies between the actual plant and the -200 modelled fourth-order behaviour. Obviously, this is only true if the sampling frequency -300 is sufficiently high, otherwise the momentary control -400 Phase [degrees] error may deviate significantly from the average value. If -500 this is the case, an increase in sampling frequency must 100 101 102 be considered. Usually however, the sampling frequency Frequency [Hz] is more significantly determined by the demands on Fig. 11. Measured frequency response of motion system. stability and performance of the (digital) feedback controller. body feedforward: the total mass of the motion system is usually known within tight boundaries and a well- 7. Simulations and hardware-in-the-loopexperiments designed motion system will have limited and damping. Hence, the dependence of fourth-order A theoretical motivation for the application of fourth- feedforward on several additional physical parameters order feedforward as an extension of rigid body that may, or may not be constant should be investigated. feedforward was already given in Section 3. Next, The theoretical improvement of using fourth-order subsequent sections have shown that this approach is feedforward instead of rigid body feedforward must be feasible in the sense of trajectory planning and (digital) robust against variations in these additional parameters: feedforward implementation. This section will now the mass ratio (division of mass in m1 and m2), the show the effectiveness of fourth-order feedforward by damping ratio (division of damping in k1 and k2), the considering the real-time implementation on the experi- spring stiffness c and the internal damping k12 (see Figs. mental motion system setup given in Fig. 10. This setup 1 and 4). To demonstrate this, the fourth-order model consists of a DC servomotor connected to a 500 lines per derived from Fig. 11 is used to simulate the open-loop revolution encoder via a flexible axle, and can be servo error response on the trajectory defined in Table 1. controlled using Matlab/Simulink, real-time workshop The simulations are performed in open loop to remove and dSPACE equipment. The measured frequency the effect of feedback control fromthe results. The response function given in Fig. 11 was used to determine motion system parameters and variations defined in a fourth-order model in accordance with Fig. 4, in which Table 2 will be used, and all simulations are performed x1 and x2 should obviously be interpreted as rotations. with the feedforward controller configuration of Fig. 5. Now the main concern when considering model-based When comparing with rigid body feedforward, the feedforward control is the occurrence of discrepancies fourth-order trajectory will be applied, such that the between the behaviour of the actual motion system and smoothing effect of using a high-order trajectory is not the used model. This often motivates the use of rigid accountable for the difference. It can easily be verified ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 155

Table 1 Open loop 4th order FF response with plant variation Fourth-order trajectory definition parameters 0.1 Parameter Symbol Value Unit 0.08 Derivative of jerk d% 108 rad=s4 Jerk ;% 5 Â 105 rad=s3 0.06 Acceleration a% 5000 rad=s2 Velocity v% 250 rad/s 0.04 6 Displacement x% 100 rad 2 0.02 3 0 Table 2 7,8 Motion systemparameters and variations 4 Error [rad] -0.02 Parameter Symbol Value Unit Variation 5 1 À5 2 À5 -0.04 Motor inertia m1 0:72 Â 10 kgm ð0:605?0:835ÞÂ10 Load inertia m 0:23 Â 10À5 kgm2 ð0:345?0:115ÞÂ10À5 2 Rigid Body FF Spring stiffness c 0.156 Nm 733% -0.06 1,2 m1 max and min À5 7 Internal damping k12 1:0 Â 10 Nms 100% 3,4 k1 max and min À5 À5 -0.08 Motor damping k1 1:0 Â 10 Nms ð0:5?2:0ÞÂ10 5,6 c max and min À5 À5 7,8 k max and min Load damping k2 1:0 Â 10 Nms ð2:0?0:5ÞÂ10 12 -0.1 -0.1 0 0.1 0.2 0.3 0.4 0.5 m1 and m2 are matched such that m1 þ m2 is constant, the same holds for k1 and k2: time [s] Fig. 12. Open-loop simulation results of fourth-order feedforward that optimal rigid body feedforward is obtained by controller with plant variations, in comparison with optimally tuned means of the configuration of Fig. 5 when setting m1 ¼ rigid body feedforward. À5 2 À5 0:95 Â 10 kg m ; m2 ¼ 0; k1 ¼ 2 Â 10 Nms; k2 ¼ 0 and k12 ¼ 0: With Eq. (6) this results in q1 ¼ q2 ¼ 0; q3 ¼ m1c and q4 ¼ k1c: Furthermore, the first-order Open loop response with optimal 2nd, filter reverts to a constant gain of 1=c (see also Eq. (36)), 3rd and 4th order FF and Eq. (7) reverts to Eq. (2). Note that the value of c 0.1 becomes unimportant as it drops out of the calculations. The results are combined in Fig. 12. Note that in spite of 0.08 the significant plant variations, the fourth-order feedfor- 0.06 ward controller performs at least twice as good. The approach of choosing the parameters such that 0.04 fourth-order feedforward reverts to rigid body feedfor- ward suggests the use of third-order feedforward as an 0.02 intermediate form by setting q1 ¼ 0: This would allow to 0 implement a simpler third-order trajectory planner, with jerk being the highest bounded derivative. However, Error [rad] -0.02 Fig. 13 shows that the effect of the jerk feedforward -0.04 term q2 is insignificant (and can hardly be improved by manual tuning of q2). This shows that it is the derivative -0.06 of jerk term q1 that makes the difference. The fact that Second order FF (Rigid Body) in practice it appears that third-order trajectory plan- -0.08 Third order FF ning may lead to strong improvement of performance is Fourth order FF (=0) -0.1 therefore almost exclusively due to smoothing. -0.1 0 0.1 0.2 0.3 0.4 0.5 Fig. 14 shows that the servo error responses will not time [s] significantly deteriorate if fourth-order feedforward is implemented in discrete time. As an example, the Fig. 13. Open-loop simulation results of optimal second-, third- and fourth-order feedforward controller with nominal plant. motion system with minimal spring stiffness is consid- ered. Note that the average delay between continuous time and discrete time signals equals the expected 2:5 Â performance feedback controller (with a bandwidth of Ts: about 20 Hz) that is implemented together with the Finally, the effectiveness of fourth-order feedforward discrete time version of the feedforward diagram in is verified in real time. The measured frequency response accordance with Fig. 5 at a sampling frequency of function given in Fig. 11 was used to design a high- 500 Hz: In addition to this configuration, a Coulomb ARTICLE IN PRESS 156 P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157

Discrete time response of servo error Simulated servo errors 0.1 0.1 Rigid Body FF 4th order FF 0.05 Acceleration (scaled) 0.05 0.04 0 0.03 0.05 0.02 -0.05 0.01 -0.1 0 0 0.2 0.4 0.6 0 0.02 0.04

Error [rad] time [s] 0 Measured servo errors 0.1

0.05

Continuous Discrete 0 -0.05 -0.1 0 0.1 0.2 0.3 0.4 0.5 Error [rad] Error [rad] time [s] -0.05

Fig. 14. Simulation results of open-loop discrete time fourth-order -0.1 feedforward controller with minimal stiffness plant. 0 0.2 0.4 0.6 time [s] friction compensation scheme was implemented to Fig. 15. Servo error responses simulated and measured on the experimental motion system. account for the effect of dry friction in the setup. This approach is standard when using rigid body feedforward and can equally be used in combination with fourth- order feedforward. The servo error responses when errors in the order of the encoder resolution, and using fourth-order feedforward versus rigid body therefore effectively obtains zero-settling behaviour. feedforward are measured on the actual setup and given in Fig. 15 in comparison with simulations. Although the theoretical ‘zero-response’ of fourth-order feedforward 8. Conclusions is clearly too much to hope for in the actual experiment, a significant reduction of the servo error is indeed For high-performance motion control, especially for obtained. Note that the response with rigid body electromechanical motion systems, the usefulness of feedforward shows a significant relation with the jerk feedforward control is well known and often implemen- phases of the motion, which is also well predicted by the ted. This paper shows that the popular simple feedfor- simulation, while the fourth-order feedforward response ward scheme known as ‘mass feedforward’, ‘rigid body does not show this behaviour. The remaining response feedforward’ or ‘second-order feedforward’ can be with fourth-order feedforward seems to be more related extended to higher-order feedforward while still main- with the velocity profile, and may therefore be caused by taining important practical properties like time-optim- unmodelled behaviour like, for instance, imperfect dry ality, actuator effort limitation, reliability, friction compensation or cogging . Also note that implementability and accuracy. Furthermore, it is in the rigid body feedforward case, in comparison with argued that the increase in complexity is manageable the simulations, the damping of the is in state-of-the-art motion control hardware. significantly lower during the constant velocity phase Third-order feedforward, which is increasingly ap- and significantly higher at the end of the move. This can plied in practice, appears to be mainly effective due to be explained by the effect of dry friction during ‘smoothing’ of the trajectory, i.e. reduction of the high measurement of the frequency response function of frequency content of the trajectory, such that feedback Fig. 11: the linear model fit will take some of the effect control can be more effective. The use of fourth-order of dry friction into account as additional viscous feedforward for high-performance electromechanical damping. Finally, note that at the end of the move the motion systems is motivated by considering an appro- rigid body feedforward has a significant settling priate model and supported by simulations and experi- behaviour, while the fourth-order feedforward shows mental results. Apart from the mentioned smoothing ARTICLE IN PRESS P. Lambrechts et al. / Control Engineering Practice 13 (2005) 145–157 157 effect, the feedforward of the derivative of jerk profile A toolbox for Matlab and Simulink, containing the appears to result in a significant performance improve- algorithms for obtaining third- and fourth-order pro- ment. This is even more remarkable when considering files and several possibilities for using themin simula- that, for relevant cases, the calculated feedforward force tions and experiments is available on the is hardly affected. internet: http://www.dct.tue.nl/New/Lambrechts/ A high-level algorithmis given to calculate higher- Advanced Setpoints.zip order trajectories for point-to-point moves; other mo- tion commands, like speed change operations, can be derived fromthis. For fourth-order trajectory planning, the details of the algorithmare worked out, resulting in References a practical, reliable and accurate algorithm. Further implementation issues, like discrete time Boerlage, M., Steinbuch, M., Lambrechts, P. F., & van de Wal, M. (2003). Model based feedforward for motion systems. Proceedings calculations, quantization effects and synchronization, of the IEEE international conference on control applications (CCA), are explicitly addressed. The trajectory planning algo- Istanbul, Turkey (pp. 1158–1163). rithms can be implemented such that switching times are Bronshtein, I. N., & Semendyayev, K. A. (1973). A guide book to exactly synchronized with sampling instances. A digital mathematics. Frankfurt, Germany: Verlag Harri Deutsch ISBN implementation is suggested that takes care of the 3-87144-095-7. Devasia, S. (2000). Robust inversion-based feedforward controllers for synchronization of the various profiles with each other output tracking under plant uncertainty. Proceedings of the and the position trajectory, and also with the measured American control conference, Chicago, IL, USA (pp. 497–502). position. It is shown that deterioration of the contin- Dijkstra, B. G., Rambaratsingh, N. J., Scherer, C., Bosgra, O. H., uous time results due to sampling is small when applying Steinbuch, M., & Kerssemakers, S. (2000). Input design for optimal a sufficient sampling rate. Experience shows that a discrete-time point-to-point motion of an industrial XY position- ing table. Proceedings of the 39th IEEE conference on decision and sampling rate that is required for stable feedback control, Sydney, Australia (pp. 901–906). control is also sufficient for feedforward control. Hunt, L., Meyer, G., & Su, R. (1996). Noncausal inverses for linear Simulation results show that the improvement ob- systems. IEEE Transactions on Automatic Control, AC-41(4), tained with fourth-order feedforward is not overly 608–611. sensitive to variations in the parameters that are Meckl, P. H., Arestides, P. B., & Woods, M. C. (1998). Optimized S- curve motion profiles for minimum residual . Proceedings additional to the ‘classic’ parameters of rigid body of the American control conference, Philadelphia, PA, USA (pp. feedforward (i.e. mass and viscous damping). Obviously, 2627–2631). the feedforward performance will improve if the Murphy, B. R., & Watanabe, I. (1992). Digital shaping filters for dynamical behaviour of the actual motion system is reducing machine vibration. IEEE Transactions on Robotics and closer to that of the fourth-order model and said Automation, 8(2), 285–289. Paganini, F., & Giusto, A. (1997). Robust synthesis of dynamic parameters are known within tighter bounds. An prefilters. Proceedings of the American control conference, Albu- important advantage of the suggested implementation querque, NM, USA (pp. 1314–1318). is the possibility to manually fine-tune the feedforward Park, H. S., Chang, P. H., & Lee, D. Y. (2001). Concurrent design of amplification factor for each profile (the q factors). This continuous zero phase error tracking controller and sinusoidal can be seen as a simple, direct extension of the well- trajectory for improved tracking control. Journal of Dynamic Systems, Measurement, and Control, 123, 127–129. known practice of fine-tuning rigid body feedforward. Roover, D. (1997). Motion control of a wafer stage. The Netherlands: Actual implementation has been performed on an Delft University Press ISBN 90-407-1562-9. experimental motion system setup. It is shown that the Roover, D., & Sperling, F. (1997). Point-to-point control of a high servo error with a well-tuned feedback and rigid body accuracy positioning mechanism. Proceedings of the American feedforward design can be improved upon significantly control conference 1997, Albuquerque, NM, USA (pp. 1350–1354). Singer, N., Singhose, W., & Seering, W. (1999). Comparison of during all phases of a point-to-point move by means of filtering methods for reducing residual vibration. European Journal fourth-order feedforward. of Control, 5, 208–218. Future work in this may address several issues. Steinbuch, M., & Norg, M. L. (1998). Advanced motion control: An For instance, the matter of how to obtain optimal industrial perspective. European Journal of Control, 4, 278–293. feedforward parameters for a given motion system is Tomizuka, M. (1987). Zero phase error tracking algorithm for digital control. Journal of Dynamic Systems, Measurement, and Control, solved in this paper by fitting a fourth-order frequency 109, 65–68. response function on a measurement. Based on this, it Torfs, D. E., Swevers, J., & De Schutter, J. (1991). Quasi-perfect should be possible to apply further techniques like on- tracking control of non-minimal phase systems. Proceedings line tuning, parameter estimation, learning and non- of the 30th conference on decision and control, Brighton, UK linearity compensation (e.g. scheduling). Another issue (pp. 241–244). Torfs, D. E., Vuerinckx, R., Swevers, J., & Schoukens, J. (1998). is to define fourth-order profiles for multiple axes Comparison of two feedforward design methods aiming at accurate motion systems, dealing with more complex paths and trajectory tracking of the end point of a flexible robot arm. IEEE non-linear kinematic and dynamic behaviour. Transactions on Control Systems Technology, 6(1), 1–14.