METHOD FOR CONTROLLING THE MOVEMENT OF A DRIVE AXIS OF A DRIVE UNIT

20170229991 · 2017-08-10

Assignee

Inventors

Cpc classification

International classification

Abstract

To be able to activate a smoothing filter for a setpoint, with which the movement of a drive axis (A, Ai) of a drive unit (AE) can also be controlled during the movement without a negative effect on the movement, it is provided that the smoothing filter (10) is initialized with a setpoint profile (S.sub.init) so that a current movement phase ((S.sub.0, {dot over (S)}.sub.0, . . . , S.sub.0.sup.(x))) is continued continuously and the repeated time derivative (S.sup.(x+1)) of the highest time derivative (S.sup.(x)) of the setpoint (S(t), S(k)) is limited.

Claims

1. Method for controlling the movement of a drive axis (A, Ai) of a drive unit (AE), wherein the movement of the drive axis (A, Ai) is controlled in a cycle step (n) by specifying a setpoint (S(t), S(k)) of the movement, by means of which there results a movement phase ((S(t), {dot over (S)}(t), . . . , S(t).sup.(x)), (S(k), {dot over (S)}(k), . . . , S(k).sup.(x))) of the movement of the drive axis (A, Ai), wherein a smoothing filter (10) in the form of an averaging filter calculates the new setpoint as the mean value (S(t), S(k)) of the previous setpoints (S(t), S(k)) at a filter time (t.sub.R, n.sub.R) in the past, wherein the smoothing filter (10) is activated during the movement with a current movement phase ((S.sub.0, {dot over (S)}.sub.0, . . . , S.sub.0.sup.(x))) at a time (t.sub.ein>0, k.sub.ein>0), that, for the previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . , k.sub.ein}), a function (f(t), f(k)) is assumed for the highest time derivative (S(t).sup.(x), S(k).sup.(x)) of the setpoint (S(t), S(k)) in the movement phase ((S(t), {dot over (S)}(t), . . . , S(t).sup.(x)), (S(k), {dot over (S)}(k), . . . , S(k).sup.(x))), the mean value (f) of which over the previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . , k.sub.ein}) corresponds to the current value (S.sub.0.sup.(x)) of the highest time derivative (S(t).sup.(x), S(k).sup.(x)) at the time (t.sub.ein, k.sub.ein) of activation of the smoothing filter (10), that for the previous time interval [t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . k.sub.ein}), the lower time derivatives ((S(t), {dot over (S)}(t), . . . , S(t).sup.(x−1)), (S(k), {dot over (S)}(k), . . . , S(k).sup.(x−1))) of the setpoint (S(t), S(k)) are given by the condition that the mean values ((S, {dot over (S)}, . . . , S.sup.(x−1))) of the lower time derivatives of the setpoint (S(t), S(k)) over the previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . k.sub.ein}) in each case correspond to the current values ((S.sub.0, {dot over (S)}.sub.0, . . . , S.sub.0.sup.(x−1))) of the lower time derivatives of the setpoint (S(t), S(k)) at the time (t.sub.ein, k.sub.ein) of activation of the smoothing filter (10), and that on activation, for the previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . , k.sub.ein}), the smoothing filter (10) is initialized with the calculated setpoints (S(t), S(k)) for this previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . , k.sub.ein}) as setpoint profile (S.sub.init).

2. The method according to claim 1, wherein, for the previous time interval ([t.sub.ein−t.sub.R, t.sub.ein], {k.sub.ein−n.sub.R+1, . . . k.sub.ein}), a constant function (f(t), f(k)) is assumed for the highest time derivative (S(t).sup.(x), S(k).sup.(x)) of the setpoint (S(t), S(k)).

3. The method according to claim 1, wherein the setpoint (S(k)) of the setpoint profile (S.sub.init) is updated in every cycle step (n) and stored in a circular buffer (20) with n.sub.R storage locations, wherein the updated setpoint (S(k)) shifts the oldest setpoint (S(k−n.sub.R)) out of the circular buffer 20), wherein the setpoints (S(k−n.sub.R, . . . , S(k)) stored in the circular buffer (20) form the setpoint profile (S.sub.init) for initializing the smoothing filter (10).

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The present invention is explained in more detail below with reference to FIGS. 1 to 8, which show advantageous embodiments of the invention in an exemplary, schematic and non-restricting form. In the drawing

[0019] FIG. 1 shows a drive unit in the form of a conveyor device as a long-stator linear motor with transport units as drive axes,

[0020] FIG. 2 shows a drive axis of a drive unit with drive axis controller and smoothing filter,

[0021] FIG. 3 shows a typical movement profile without smoothing filter,

[0022] FIG. 4 shows the activation of the smoothing filter without initialization according to the invention,

[0023] FIG. 5 shows an exemplary embodiment of a drive axis controller with smoothing filter,

[0024] FIG. 6 shows an initialization of the smoothing filter according to the invention,

[0025] FIG. 7 shows a typical movement profile with initialization of the smoothing filter during the movement, and

[0026] FIG. 8 shows a circular buffer for the setpoint profile for initialization of the smoothing filter.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0027] The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the present invention only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the present invention. In this regard, no attempt is made to show structural details of the present invention in more detail than is necessary for the fundamental understanding of the present invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the present invention may be embodied in practice.

[0028] The smoothing filter 10 according to the invention is described below with reference to FIG. 1, without restricting generality, in conjunction with a transport unit TEi of a conveyor device 1 in the form of a long-stator linear motor. Here, a transport unit TEi of the conveyor device 1 is seen as a driven drive axis Ai and the conveyor device 1 forms the drive unit AE. A long-stator linear motor as conveyor device 1 therefore has as many drive axes Ai as there are transport units TEi which are moved upon it.

[0029] However, it must be noted that the smoothing filter 10 can be used generally on driven drive axes A of a drive unit AE (FIG. 2), wherein the driven drive axis A is controlled by a drive axis controller AR and setpoints S, e.g. in the form of positions p or velocity v. The smoothing filter 10 can be implemented in the drive axis controller AR but can also be implemented separately therefrom. A drive axis A of a drive unit AE moves a moving part 20 of the drive in accordance with the specified setpoints S in a possible movement direction. The terms single-axis or multi-axis drive are used depending upon the number of possible movement directions of the drive unit AE. For example, a conventional electric motor for moving a unit driven thereby in one direction (rotary or translatory) is a single-axis drive with a drive axis A of a drive unit AE. An example of this is, for example, a single-axis drive for an elevator or the slewing drive of a crane. The sliding door of the elevator is likewise moved by a single-axis drive. The drive of a worktable which can be moved in a plane in both directions by a drive unit AE would be a two-axis drive. Likewise, a transport unit TEi which interacts with drive coils ASij of the conveyor device 1 is a single-axis Ai with direction of movement in the direction of the conveyor line 2. The transport unit TEi then constitutes the moving part 20.

[0030] By way of example, an arbitrary design of a conveyor device 1 with a conveyor line 2 (shown by the dashed line) is shown in FIG. 1. The conveyor device 1 is designed as a long-stator linear motor, and a multiplicity of transport units TEi, i=1, . . . , x, which can be moved along the conveyor line 2, is provided. The conveyor line 2 is substantially specified by the long stator of the long-stator linear motor 1. In the exemplary embodiment shown, a series of conveyor segments FSi, i=1, . . . , y, which define the path of the transport units TEi, that is to say the conveyor line 2, is provided. Individual conveyor sections FAi, i=1, . . . , z of the conveyor line 2 are formed by a series of conveyor segments FSi arranged adjacent to one another. In doing so, the conveyor segments FSi form part of the long stator of the long-stator linear motor. The conveyor segments FSi are fixedly arranged in a suitable structure and usually also form guide elements, along which the transport units TEi can be guided. Each conveyor section FAi comprises at least one conveyor segment FSi, normally a plurality of conveyor segments FSi. Individual conveyor sections FAi, or conveyor segments FSi of individual conveyor sections FAi (such as the conveyor segments FS1, FSm for example), can also partially overlap one another, in particular in areas of the conveyor line 2 at which a transition occurs from one conveyor section FAi to another conveyor section FAi (such as from conveyor section FA1 to conveyor section FA2 for example). It can also be provided that conveyor segments FSi are partially arranged on both sides of the conveyor line 2. Track switches W, at which (depending on the conveying direction of a transport unit TEi) two conveyor sections FAi are merged or a separation onto two conveyor sections FAi occurs, can also be provided. It is understandable that an almost arbitrarily designed conveyor line 2, which does not only have to be located in a two-dimensional plane but can also extend three-dimensionally, can be formed in this way.

[0031] Each conveyor segment FSi comprises a number k of drive coils ASij, j=1, . . . , k, wherein the number k does not have to be the same for each conveyor segment FSi. For clarity, only drive coils ASij of some conveyor segments FSi are shown in FIG. 1. Each transport unit TEi comprises a number of excitation magnets EMij, j=1, . . . , 1, preferably on both sides (referred to the conveying direction which is indicated by the arrows on the transport units TEi) of the transport units TEi. When the conveyor device 1 is operating, the drive coils ASij interact in a known manner with the excitation magnets EMij of the transport units TEi in accordance with the motor principle. If the drive coils ASij in the region of a transport unit TEi are energized with a coil current, a magnetic flux is produced which, in conjunction with the excitation magnets EMij, exerts a force on the transport unit TEi. Depending on the coil current, this force can comprise a forward-driving-force-forming force component and a lateral-force-forming force component. The forward-driving-force-forming force component serves substantially to move the transport unit TEi, and the lateral-force-forming force component can be used to guide the transport unit TEi and also to define the path of the transport unit TEi at a track switch W. In this way, each transport unit TEi can be moved individually and independently of one another along the conveyor line 2 by energizing the drive coils ASij in the region of each transport unit TEi with an appropriate coil current in accordance with the movement to be executed.

[0032] This basic principle of operation of a long-stator linear motor is well-known and is therefore not discussed in more detail. For the present invention, it is also irrelevant how the transport units TEi, the conveyor segments FSi, the drive coils ASij, the excitation magnets EMij, etc. are specifically structurally designed, for which reason they are also not discussed in more detail.

[0033] A transport unit control 3, in which the setpoints S for the movement of the transport units TEi are generated, is provided in order to control the movement of the individual transport units TEi. Of course, a plurality of transport unit controls 3, which are each assigned to part of the conveyor device 1, e.g. a conveyor section FAi, and control the movement of the transport units TEi on this part, can equally be provided. In addition, segment control units 4 can also be provided, which are assigned to a conveyor segment FSi (or also to a plurality of conveyor segments FSi or to part of a conveyor segment FSi) and which convert the setpoint commands of the associated transport unit control 3 for a transport unit TEi into control variables, such as into coil currents for example, for the drive coils ASij of the conveyor segment FSi. However, the segment control units 4 could also be implemented in a transport unit control 3. The transport unit control 3, possibly in combination with the associated segment control unit 4, forms the drive axis controller AR of a drive axis Ai.

[0034] Positions p.sub.i of the drive axis A, e.g. of the transport units TEi, or equally also velocities v.sub.i, are specified as setpoints S. This means that a new setpoint S is calculated for each drive axis A in each cycle step n of the control and is adjusted in the cycle step n by the drive axis controller AR. Accordingly, a suitable controller is implemented in a drive axis controller AR, which converts the setpoint specification in form of the setpoints S, into a suitable control variable for the drive, for example into a force or a coil current as in a conveyor device 1.

[0035] The requested path of the transport units TEi along the conveyor line 2 can also be specified by a superordinate conveyor device control 5, in which, for example, a route calculation (which path must a transport unit TEi take?), a track switch arbitration (which transport unit TEi may move into a track switch?), a deadlock prevention (e.g. will two transport units TEi block one another?), etc., can take place in order to move the transport units TEi in the required manner along the conveyor line 2, e.g. in order to realize a manufacturing process, assembly process or other process. This movement specification for the transport units TEi can be converted into a setpoint specification for the transport units TEi in the transport unit control 3.

[0036] By way of example, a typical movement profile for the setpoint specification for achieving a target position p(t.sub.z) is shown in FIG. 3 using a transport unit TEi as drive axis Ai as an example. At the beginning of the movement at t=0, the transport unit TEi is accelerated with specified maximum acceleration a.sub.max until, at time t.sub.1, a specified maximum velocity v.sub.max has been reached. From this time t.sub.1 the movement is continued at constant velocity v.sub.max, whereby the position p increases linearly. At time t.sub.1 the acceleration is abruptly set from maximum acceleration a.sub.max to zero, which causes an infinite jerk j. The time t.sub.2, from which the deceleration of the transport unit begins, is chosen such that the transport unit TEi reaches the target position p(t.sub.z) at velocity v=0. An infinite jerk j also occurs at the time t.sub.2, at which the deceleration is switched. This jerk j is to be limited by a smoothing filter 10 in the form of an averaging filter.

[0037] Generally speaking, the smoothing filter 10 forms the arithmetic mean S from n.sub.R previous setpoints S. The filter time t.sub.R is defined as t.sub.R=(n.sub.R−1)t.sub.a, with the sampling time t.sub.a, which defines the cycle step n. A new setpoint S is calculated at each sampling moment n.Math.t.sub.a, that is to say in each cycle step n. If the setpoint profile is thought of as a time-continuous signal S(t), the smoothing filter 10 can be formulated mathematically as a convolution of the setpoint signal S(t) with the function

[00001] 1 t R .Math. 1 B , .Math. B = [ 0 , t R ] .Math. :

[00002] 1 B .Math. ( x ) = { 1 falls .Math. .Math. x B 0 sonst .Math. .Math. S _ ( t ) = ( S ( t ) 1 t R .Math. 1 B ) = 1 t R .Math. - t R 0 .Math. .Math. S ( δ - t ) .Math. d .Math. .Math. δ .

[0038] From this, it can be seen that values of the setpoint signal S(t) for the previous time period t.sub.R are required to calculate the mean value S. If the smoothing filter 10 were switched on at time t.sub.ein (FIG. 4) then, consequently, the setpoint signal S(t) would not be resumed with the current setpoint S.sub.0 but with S.sub.ein, which corresponds to the mean value S of the setpoint signal S(t) at the filter time t.sub.R in the past. If no previous setpoint signal S(t<t.sub.ein) is available, the step would be even more distinct, as then, typically, S(t<t.sub.ein)=0 is assumed. Frequently S(t<t.sub.ein)=S.sub.0 is also assumed, which, however, amounts to a kink in the setpoint profile which leads to a step in the time derivative {dot over (S)} of the setpoint S, which is undesirable as the movement would not be resumed continuously. This makes it clear that the activation of a conventional smoothing filter 10 as a averaging filter during a movement is problematic and not easily possible.

[0039] The smoothing filter 10 is implemented, for example, in the transport unit control 3, generally in a drive axis controller AR (FIG. 5). A setpoint specification in the form of a chronological sequence of setpoints S(t) is generated from a movement target Z, e.g. a target position p.sub.z or a target velocity v.sub.z, in a movement profile unit 11 in the drive axis controller AR or in the transport unit control 3. In doing so, the movement profile unit 11 ensures that limits for time derivatives {dot over (S)}, {umlaut over (S)}, custom-character of the setpoint S(t), such as a maximum permissible velocity v.sub.max, a maximum permissible acceleration a.sub.max or a maximum jerk j.sub.max for example, are maintained. At the same time, the movement profile unit 11 preferably also ensures a continuous course for the setpoint S(t), e.g. the position p(t) or the velocity v(t). The movement target Z is therefore converted in the movement profile unit 11 into a continuous course of the setpoints S(t) while maintaining specified limits. For example, a position step to specify a new target position p.sub.z is converted into a position and velocity profile as shown in FIG. 3.

[0040] However, it is of course equally conceivable that the setpoints S(t) are fed directly to the drive axis controller AR and are not determined in a movement profile unit 11.

[0041] An averaging filter has a smoothing effect, i.e. it increases the derivability of the setpoint S(t) by one order. If the input signal in the averaging filter was a two-times continuously differentiable function, then the output of the averaging filter is a three-times continuously differentiable function. This is exactly the effect that is to be achieved with smoothing filter 10. If the input in the smoothing filter 10 is the position signal p(t) according to FIG. 3 for example, then this position signal p(t) can be continuously differentiated once (velocity v={dot over (p)}), but cannot be continuously differentiated twice (acceleration a={umlaut over (p)}), as the acceleration a(t) is not a continuous function. However, if the position signal p(t) is averaging-filtered, then the averaged position signal p can be continuously differentiated twice, that is to say the acceleration a(t) is also a continuous function. Consequently, the time derivative of the continuous acceleration a(t), that is to say the jerk j=custom-character, is then limited and not infinite as in FIG. 3.

[0042] The x-times continuously differentiable setpoints S(t) are accordingly converted in the subsequent smoothing filter 10 to x+1-times continuously differentiable setpoints S(t) and are output as an output. In doing so, it does not matter to the smoothing filter 10 which setpoint S(t) is applied to the input. If a position signal p(t) or velocity signal v(t) is applied to the input of the smoothing filter 10 as setpoint S(t) as in FIG. 3, then a jerk-limited setpoint S is obtained at the output of the smoothing filter 10. If a velocity profile which can be continuously differentiated once and which corresponds to the position signal p(t) in FIG. 3 is applied to the input of the smoothing filter 10 as setpoint S(t), then a setpoint S is obtained at the output, the second time derivative of which, that is to say the time derivative of the jerk j, is continuous. The time derivative of the jerk j would be limited thereby, which is often required with cranes.

[0043] Generally speaking, with an expected finite input signal, the output of the smoothing filter 10 as an averaging filter is continuous and therefore, in particular, has no steps. At the same time, an averaged setpoint S(t) is calculated in each cycle step n.

[0044] The procedure according to the invention for initializing the smoothing filter 10 when activated during a movement of the drive axis A is described below for easier understanding in the time domain and for a typical movement phase (S, {dot over (S)},{umlaut over (S)}) of the movement of the drive axis A.

[0045] At time t.sub.ein of the activation of the smoothing filter 10, there exists a current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0), wherein S.sub.0 designates the setpoint S(t) at the current time t.sub.ein. In the example of a position signal p(t) as setpoint S(t), this results in the velocity v(t) as the first time derivative and the acceleration a(t) as the second time derivative and therefore a current movement phase (p.sub.0, v.sub.0, a.sub.0), wherein p.sub.0 specifies the current position, v.sub.0 the current velocity and a.sub.0 the current acceleration. In order to be also able to activate the smoothing filter 10 during the movement, according to the invention, the smoothing filter 10 is initialized in order to achieve the continuation of the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0) and a limit of the third time derivative of the setpoint S(t) on activation. In the example of the position signal p(t) as setpoint S(t), this therefore results in a limitation of the jerk j.

[0046] On activation, the averaged setpoint S(t) as an output signal of the smoothing filter 10 (FIG. 5) is intended to continue the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0) continuously, that is to say without a step and while maintaining the kinematic limits, for t≧t.sub.ein independently of the setpoint signal S(t). For this purpose, the smoothing filter 10 is filled with a setpoint profile S.sub.init for the time interval [t.sub.ein−t.sub.R, t.sub.ein] at a filter time t.sub.R in the past so that the characteristics S(t.sub.ein)=S.sub.0, {dot over (S)}(t.sub.ein,)={dot over (S)}.sub.0, {umlaut over (S)}(t.sub.ein)={umlaut over (S)}.sub.0 are fulfilled.

[0047] In the simplest case, the second time derivative of the setpoint {umlaut over (S)}(t) for the time interval [t.sub.ein−t.sub.R, t.sub.ein] is set equal to the current value of the second time derivative of the setpoint {umlaut over (S)}.sub.0 of the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0), that is to say {umlaut over (S)}(t)={umlaut over (S)}.sub.0. For the mean value at time t.sub.ein of the activation of the smoothing filter 10, this results directly in {umlaut over (S)}(t.sub.ein)={umlaut over (S)}.sub.0, whereby part of the above requirement is fulfilled. From {umlaut over (S)}(t)={umlaut over (S)}.sub.0 follows directly, for the first derivative {dot over (S)}(t) of the setpoint S(t) before time t.sub.ein {dot over (S)}(t)={dot over (S)}(t.sub.ein)+{umlaut over (S)}.sub.0t, wherein, from the specified condition {dot over (S)}(t.sub.ein)={dot over (S)}.sub.0, it follows that

[00003] S . ( t ein ) = S . 0 + t R 2 .Math. S .Math. 0 .

In turn, the setpoint S(t) is therefore given by

[00004] S ( t ) = S ( t ein ) + S . ( t ein ) .Math. t + S .Math. 0 2 .Math. t 2 ,

wherein, from the specified condition S(t.sub.ein)=S.sub.0, it follows that

[00005] S ( t ein ) = S 0 + S . ( t ein ) 2 .Math. t R - S .Math. 0 6 .Math. t R 2 .

When all the substitutions are made, the desired previous setpoint signal S(t) for t=[t.sub.ein−t.sub.R, t.sub.ein], which corresponds to the setpoint profile S.sub.init for initializing the smoothing filter 10, is finally obtained as

[00006] S ( t ) = S 0 + ( S . 0 + S .Math. 0 .Math. t R 2 ) .Math. ( t + t R 2 ) + a 0 ( t 2 2 - t R 2 6 ) = S init .

[0048] In the case of the position signal p(t) as setpoint S(t), the position signal p(t) for the time interval [t.sub.ein−t.sub.R, t.sub.ein], for example, is then given by

[00007] p ( t ) = p 0 + ( v 0 + a 0 .Math. t R 2 ) .Math. ( t + t R 2 ) + a 0 ( t 2 2 - t R 2 6 ) .

[0049] Naturally, instead of {umlaut over (S)}(t)={umlaut over (S)}.sub.0, a different approach can also be chosen, as long as S(t.sub.ein)=S.sub.0, {dot over (S)}(t.sub.ein)={dot over (S)}.sub.0, {umlaut over (S)}(t.sub.ein)={umlaut over (S)}.sub.0 is maintained and the movement is continuously continued while maintaining the specified kinematic limits. An alternative suitable function f, the mean value of which corresponds to the current value {umlaut over (S)}.sub.0 of the second derivative, can therefore also be chosen for {umlaut over (S)}(t) for the time interval [t.sub.ein−t.sub.R, t.sub.ein]. It must therefore be possible to integrate the function f with respect to time in the time interval [t.sub.ein−t.sub.R, t.sub.ein] piece by piece.

[0050] Here, it must once again be emphasized that S(t) above is only the setpoint profile S.sub.init with which the smoothing filter 10 is initialized for the previous time interval [t.sub.ein−t.sub.R, t.sub.ein]. The movement is resumed continuously for the time t≧t.sub.ein based on the setpoints S(t) specified in the drive controller AR while maintaining the kinematic limits, wherein the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0) is continued.

[0051] This is shown in FIG. 6, wherein the smoothing filter 10 has been initialized for the time interval [t.sub.ein−t.sub.R, t.sub.ein] with the values at each of the sampling times t.sub.a. In this way, for example, the movement of the transport unit TEi is continued continuously at the time t.sub.ein of activation of the smoothing filter 10. In the case of a position p(t) as setpoint S(t), this results, for example, in a continuous acceleration output of the smoothing filter 10, as a result of which the jerk j is limited. In the case of a velocity v(t) as setpoint S(t), in a similar way, this results, for example, in a continuous jerk output of the smoothing filter 10, as a result of which the change in the jerk j is limited.

[0052] The effect of the smoothing filter 10 is shown in FIG. 7 using a position signal p(t) as setpoint S(t) as an example. Once again, a movement profile according to FIG. 3 is generated at the beginning. The smoothing filter 10 is activated at time t.sub.ein. The current movement phase (p.sub.0, v.sub.0, a.sub.0) is continued after activation. At time t.sub.2, the transport unit TEi is decelerated once more, wherein the smoothing filter 10 now intervenes and the acceleration a reduces continuously to the maximum deceleration −a.sub.max, whereby the resulting jerk j is limited. In FIG. 7, it can also be seen that, as a result of the smoothing filter 10, there is a time delay amounting to the filter time t.sub.R, i.e. the desired target position is not reached until the filter time t.sub.R later (compared to FIG. 3 without smoothing filter 10).

[0053] The above time-continuous consideration can also be discretized, which is advantageous for implementation in a digital drive controller AR. The time-continuous signals become finite sequences, and arithmetic means are used in place of the convolutions. An index k ∈ {k.sub.ein−n.sub.R+1, . . . , k.sub.ein} is now considered in place of the time interval [t.sub.ein−t.sub.R, t.sub.ein]. Otherwise, the approach described above remains the same, that is to say S(k.sub.ein)=S.sub.0, {dot over (S)}(k.sub.ein)={dot over (S)}.sub.0, {umlaut over (S)}(k.sub.ein)={umlaut over (S)}.sub.0. With {umlaut over (S)}(k)={umlaut over (S)}.sub.0, the first time derivative {dot over (S)}(k) is given by {dot over (S)}(k)={dot over (S)}(k.sub.ein)+{umlaut over (S)}.sub.0k={dot over (S)}(k.sub.ein)−{umlaut over (S)}.sub.0.Math.|k| with

[00008] S . ( k ein ) = S . 0 + n R - 1 2 .Math. S .Math. 0

from the condition

[00009] S . 0 = 1 n R .Math. .Math. k .Math. .Math. S . ( k ) .

The setpoint sequence S(k) is then given by

[00010] S ( k ) = S ( k ein ) - S . 0 .Math. .Math. k .Math. + S .Math. 0 2 .Math. ( .Math. k .Math. 2 - .Math. k .Math. .Math. n R ) = S init .Math. .Math. with S 0 + S . 0 2 .Math. ( n R - 1 ) + S .Math. 0 12 .Math. ( n R 2 - 1 )

from the condition

[00011] S 0 = 1 n R .Math. .Math. k .Math. .Math. S ( k ) .

[0054] In the case of a position signal p(t) as setpoint S(t), the position signal p(k) for the past {k.sub.ein−n.sub.R+1, . . . , k.sub.ein} is then given by

[00012] p ( k ) = p ( k ein ) - v 0 .Math. .Math. k .Math. + a 0 2 .Math. ( .Math. k .Math. 2 - .Math. k .Math. .Math. n R ) .Math. .Math. with p ( k ein ) = p 0 + v 0 2 .Math. ( n R - 1 ) + a 0 12 .Math. ( n R 2 - 1 )

from the condition

[00013] p 0 = 1 n R .Math. .Math. k .Math. .Math. p ( k ) .

[0055] The smoothing filter 10 can therefore be initialized from only the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0) without knowledge of the previous movement profile, so that the movement is continued continuously at the current movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0).

[0056] The invention has been described above with a movement phase (S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0) having three movement components, namely S.sub.0,{dot over (S)}.sub.0,{umlaut over (S)}.sub.0. However, the invention can, of course, also be generalized for other movement phases, with the setpoint S and time derivatives thereof, with more or fewer movement components. If, for example, a movement phase (S.sub.0,{dot over (S)}.sub.0) having two movement components, for example the position p as setpoint S and the velocity v as time derivative, is used, then the above applies in a similar manner. Likewise in the case with more than three movement components. The approach according to the invention can therefore be generalized as follows for an arbitrary movement phase (S, {dot over (S)}, . . . , S.sup.(x)) with the highest time derivative

[00014] S ( x ) = d ( x ) dt ( x ) .Math. S ,

with the positive whole number x ∈ custom-character.

[0057] In general, for the initialization of the smoothing filter 10, for the previous time interval [t.sub.ein−t.sub.R, t.sub.ein] or {k.sub.ein−n.sub.R+1, . . . k.sub.ein}, a function f(t), f(k), e.g. a constant function f=const., (S.sup.(x)=f) is assumed for the highest time derivative of the setpoint S.sup.(x) in the movement phase (S, {dot over (S)}, . . . , S.sup.(x)), the mean value f of which over the previous time interval [t.sub.ein−t.sub.R, t.sub.ein] or {k.sub.ein−n.sub.R+1, . . . , k.sub.ein} corresponds to the current value S.sub.0.sup.(x) of the highest time derivative at the time t.sub.ein or k.sub.ein of activation of the smoothing filter 10, that is to say f=S.sub.0.sup.(x). It must therefore be possible to integrate the function f with respect to time in the time interval [t.sub.ein−t.sub.R, t.sub.ein] or {k.sub.ein−n.sub.R+1, . . . , k.sub.ein} piece by piece. The lower time derivatives x={0, 1, . . . , x−1} of the movement phase (S, {dot over (S)}, S.sup.(x)) are then given by the necessary condition S(t.sub.ein)=S.sub.0, {dot over (S)}(t.sub.ein)={dot over (S)}.sub.0, . . . , S.sup.(x−1)(t.sub.ein)=S.sub.0.sup.(x−1) or S(k.sub.ein)=S.sub.0, {dot over (S)}(k.sub.ein)={dot over (S)}.sub.0, . . . , S.sup.(x−1)(k.sub.ein)=S.sub.0.sup.(x−1), in order to be able to continue the movement continuously after activation. From this, the setpoint profile S.sub.init for initializing the smoothing filter 10 for the time interval [t.sub.ein−t.sub.R, t.sub.ein] or {k.sub.ein−n.sub.R+1, . . . , k.sub.ein} can be determined. Here, the zero-order time derivative is, by definition, the setpoint S itself.

[0058] Initialization of the smoothing filter 10 on activation with the sequence {p(k.sub.ein−n.sub.R+1), . . . , p(k.sub.ein)} requires computational time proportional to n.sub.R, that is to say O(n.sub.R). Calculation of the output of the smoothing filter 10 in each cycle step likewise requires O(n.sub.R) time. The computational effort for the smoothing filter 10 is therefore very low. This effort can even be reduced to O(1) if the setpoint S(k) in the sequence S.sub.init for initialization is continuously updated in every cycle step n instead of calculating the whole sequence when activating the smoothing filter 10. A circular buffer 20, in which n.sub.R storage locations are provided, can be used for this purpose, and the new value of S(k) of the sequence S.sub.init in each case shifts the oldest value of S(k−n.sub.R) out of the circular buffer 20 as indicated in FIG. 8. The circular buffer 20 is implemented, for example in the smoothing filter 10 or in the drive controller AR. Here, it must once again be noted that the setpoint S(k) of the sequence S.sub.init is not the same as the current setpoint S for moving the drive axis A, Ai.

[0059] The value of the renewed time derivative S.sup.(x+1) of the highest time derivative S.sup.(x) of the setpoint S in the movement phase (S, {dot over (S)}, S.sup.(x)) is limited by the smoothing filter 10 at all times t≧t.sub.ein, or k≧k.sub.ein. Consequently, in the example of a movement phase (p, v, a), the derivative of the acceleration a, that is to say the jerk j, is limited by the smoothing filter 10. Under the assumption S.sup.(x).sub.max=−S.sup.(x).sub.min, the maximum value of the renewed time derivative is given by

[00015] S max ( x + 1 ) = ± 2 .Math. S max ( x ) ( n R - 1 ) .Math. t a ,

or, in the time-continuous case,

[00016] S max ( x + 1 ) = ± 2 .Math. S max ( x ) t R .

In the case of the acceleration a as the highest time derivative S.sup.(x) in the movement phase, the jerk j is limited with

[00017] j max = ± 2 .Math. a max ( n R - 1 ) .Math. t a ,

or, in the time-continuous case, with

[00018] j max = ± 2 .Math. a max t R .

[0060] It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention. While the present invention has been described with reference to an exemplary embodiment, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitation. Changes may be made, within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the present invention in its aspects. Although the present invention has been described herein with reference to particular means, materials and embodiments, the present invention is not intended to be limited to the particulars disclosed herein; rather, the present invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims.