Method for controlling the movement of a drive axle of a drive unit

EP4526745A1Pending Publication Date: 2025-03-26ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023764324
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-01
Filing Date
2023-08-31
Publication Date
2025-03-26

AI Technical Summary

Technical Problem

Existing drive axle control methods require complex jerk filters to limit mechanical load, which consume significant storage space, are dependent on past values, and introduce dead time, making it difficult to switch movement profiles and computationally intensive, especially in applications like long stator linear motors with multiple transport units.

Method used

A method that creates a jerk-limited movement profile by transitioning from a start movement profile to a target movement profile with an acceleration profile that changes by a maximum of predetermined maximum jerk, allowing for a simple, analytical creation of the target movement profile that ensures precise target position and speed achievement while maintaining jerk limitation.

Benefits of technology

This approach eliminates the need for jerk filters, reduces computational complexity, and allows for flexible and precise control of drive axles, enabling faster and more accurate movement while reducing mechanical load and storage requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

In order to easily and quickly determine a jerk-limited movement profile without the use of a downstream jerk filter, the invention proposes that the movement profile (5) consists of a starting movement profile (5a) and a target movement profile (5b), wherein the starting movement profile (5a) starts at the starting movement phase (pS, vS, aS) and transitions into the target movement profile (5b), which starts in a beginning movement phase (pA, vA, aA) and ends in the target movement phase (pZ, vZ, aZ), the target movement profile (5b) is determined with an acceleration profile over a plurality of control time steps k, wherein an acceleration change in each control time step k maximally corresponds to a predefined maximum jerk (jmax), such that the acceleration profile of the target movement profile (5b) is provided as a step function, the step function is created while maintaining the predefined movement limits such that the area below the step function corresponds to a speed change (Δv) between the beginning speed (vA) of the beginning movement phase (pA, vA, aA) and the target speed (vZ) of the target movement phase (pZ, vZ, aZ), and a target distance, which is travelled with the target movement profile (5b), is determined with the determined target movement profile, and based on the target distance a point in time is determined at which the determined target movement profile (5b) is started in order to reach the target position (pZ) of the target movement phase (pZ, vZ, aZ).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Method for controlling the movement of a drive axle of a drive unit

[0002] The present invention relates to a method for controlling the movement of a drive axis of a drive, wherein the movement of the drive axis is controlled in predetermined control time steps by specifying a movement setpoint value of the movement, whereby a movement phase of the movement of the drive axis results in each control time step, wherein a target movement phase in the form of a target position, target speed and target acceleration is specified for the movement of the drive axis and the target movement phase is set starting from a start movement phase in the form of a start position, start speed and start acceleration by a movement profile while adhering to predetermined movement limitations, and wherein the movement setpoint value is obtained from the movement profile in each control time step.

[0003] The control of a drive axis of a drive system occurs in a wide variety of applications. A drive axis essentially consists of a drive unit, such as an electric motor, which acts on a moving drive part of the drive system to move the moving drive part in the desired translational or rotational direction. A drive axis typically causes movement in one direction. However, multiple drive axes can, of course, be provided to move the moving part in multiple directions. Examples of applications in which drive axes are used include cranes, robots, conveyor systems, machine tools, linear drives, etc., although this list is of course not limiting.

[0004] Long-stator linear motors are often used as flexible conveyors in manufacturing, processing, assembly, and similar systems. A long-stator linear motor is known to essentially consist of a long stator in the form of a plurality of adjacently arranged magnetic field generating units, such as drive coils or movable magnets, and a plurality of transport units with excitation magnets (e.g., permanent magnets, electromagnets, or squirrel-cage coils) that are moved along the long stator. The magnetic field generating units generate a moving electromagnetic field that interacts with the excitation magnets on the transport units to move the transport units. For example, the drive coils can be supplied with an electric current to generate a moving electromagnetic field.The long stator thus forms a conveyor track along which the transport units can be moved. This makes it possible to individually and independently control the movement (position, speed, acceleration) of each transport unit. For this purpose, each magnetic field generation unit is controlled by an associated drive controller, which can receive specifications for the movement of a transport unit (e.g., in the form of setpoints for position or speed) from a higher-level system control unit.

[0005] A long-stator linear motor can be designed with a single drive axis or multiple drive axes. In the latter case, they are often referred to as planar motors. In a planar motor, the magnetic field generating units are arranged in a single plane, forming a planar conveyor path in which a transport unit can be moved in two directions. In addition, the transport unit can, at least within certain limits, also be moved perpendicular to the planar conveyor path, which represents an additional drive axis. Such long-stator linear motors are well known.

[0006] All drive axis applications have one thing in common: the drive axis's movement is controlled. This requires a drive controller that regulates the movement of the drive component moved by the drive axis in the desired manner. For drive axis control, a motion setpoint must be specified, which the drive axis must follow.

[0007] Often, a target movement phase is specified for a drive axis, which the moving drive part must approach. For example, a certain target position on a long-stator linear motor, which the moving drive part must reach at a certain target speed and / or target acceleration. A movement phase is understood to be the movement state of the moving drive part of the drive axis at a specific point in time during the movement, i.e. position, speed, acceleration. The drive part must therefore be controlled by specifying movement setpoints so that this target movement phase is reached starting from a start movement phase. It is often required that a target position is approached as precisely as possible and that the moving drive part remains stationary in the target position, i.e. that speed and acceleration in the target position are zero.

[0008] The motion setpoints are usually specified in the form of a motion profile of a motion variable, for example, a speed profile or a position profile that the moving drive component must follow to reach the target motion phase. From the motion profile, the respective motion setpoint to be specified at the current time of the drive control is then determined for each point in time during the movement, for example, a specific speed setpoint or position setpoint that must be adjusted with the drive controller at the current time. Based on the drive control, a current motion phase is then established at each point in time.

[0009] To create a motion profile, known motion limitations are usually also taken into account, such as a maximum speed or maximum acceleration. Often, limits for the jerk, defined as the time derivative of the acceleration, are also specified as a motion limitation for the movement of a drive axis in order to reduce the mechanical load on the drive axis due to large changes in acceleration. For this purpose, so-called jerk filters are often used, which limit the change in acceleration (i.e., the jerk). Such jerk filters are often designed as low-pass filters or mean-value filters. A motion profile, such as a position profile or a speed profile, is created, which is then adjusted in the jerk filter to achieve the jerk limit.However, such jerk filters require a lot of memory because many values ​​of past motion setpoints must be stored for averaging. Furthermore, a jerk filter is always dependent on the past because it also processes past values. This also results in a dead time for a jerk filter because sufficient past values ​​must first be available before the jerk filter can function properly. This also means that a motion profile cannot be easily switched, for example, by specifying a new target motion phase.

[0010] It would, of course, also be possible to generate motion profiles that are inherently jerk-limited. However, generating such motion profiles is very computationally intensive. Especially in applications such as a conveyor system in the form of a long-stator linear motor, where there are numerous transport units to be moved, one quickly reaches the limits of available computing power. Therefore, in many applications, only simple acceleration-limited motion profiles are generated for a drive axis, which are subsequently jerk-limited using a jerk filter.

[0011] In practice, there is also the problem that drive axis control is implemented discretely, i.e. a new motion setpoint is specified in certain, predetermined control time steps. From this setpoint, the drive axis controller calculates a manipulated variable for the drive unit of the drive axis in each control time step. This manipulated variable is used to control the drive unit in order to set the current motion setpoint. Actual motion values, such as actual positions, are naturally also recorded and fed to the drive axis controller. The actual values ​​are also usually recorded in each control time step. A manipulated variable is, for example, an electrical current or an electrical voltage that must be set at the drive coils of a long stator linear motor, or an electrical current of an electric motor. This shows that the motion setpoint can only change at the discrete points in time specified by the control time step.For example, if the motion setpoint is a speed, this would result in a stepped velocity profile with speed jumps. These speed jumps cause large jumps in the acceleration and thus a large jerk. This, in turn, makes it necessary to use a jerk filter to eliminate these jumps, which, however, is associated with the disadvantages mentioned above.

[0012] It would therefore be advantageous to specify the motion setpoint in a discrete drive control of a drive axis in such a way that the jerk is limited and the use of a jerk filter is obsolete, whereby the jerk-limited motion profile is as simple as possible to create.

[0013] This task is solved by the motion profile consisting of a start motion profile and a target motion profile, whereby the start motion profile starts at the start motion phase and transitions into the target motion profile, which starts in an initial motion phase and ends in the target motion phase. The start motion profile is arbitrary and can be assumed to be known or predetermined. The target motion profile is determined using an acceleration profile over a plurality of control time steps, whereby an acceleration change in each control time step corresponds at most to a predetermined maximum jerk, so that the acceleration profile of the target motion profile is present as a step function in which the acceleration profile is a temporally discrete sequence of acceleration values ​​at the control time steps k. The possible acceleration change is therefore between zero and the predetermined maximum jerk.The step function is created in compliance with the specified motion limits, so that the area beneath the step function corresponds to a velocity change between the initial velocity of the initial motion phase and the target velocity of the target motion phase. Using the determined target motion profile, a target path is determined that is covered with the target motion profile. Based on the target path, a point in time (a specific control time step) is determined at which the determined target motion profile is started to reach the target position of the target motion phase.

[0014] This allows a jerk-limited target movement profile of a movement profile to be easily created purely analytically. The target movement profile ensures that a target movement phase is reached from an initial movement phase while maintaining the jerk limit.

[0015] Advantageously, the target movement profile is created by reducing or increasing the acceleration starting from the initial acceleration in a first acceleration section in a plurality of control time steps by a maximum of the predetermined maximum jerk and then increasing or reducing the acceleration in a second acceleration section in a plurality of control time steps by a maximum of the predetermined maximum jerk until the target acceleration is reached.Alternatively, by reducing or increasing the acceleration starting from the initial acceleration in a first acceleration section in a plurality of control time steps by a maximum of the specified maximum jerk until a specified minimum acceleration or maximum acceleration is reached, then maintaining the acceleration at the minimum acceleration or maximum acceleration for a number of control time steps in a third acceleration section, and then increasing or reducing the acceleration in a second acceleration section in a plurality of control time steps by a maximum of the specified maximum jerk until the target acceleration is reached. This ensures simple execution of a target motion profile that can be easily created.

[0016] If an acceleration change in a control time step of the target movement profile corresponds to a specified maximum jerk, if the specified movement limitations permit this, so that the area below the step function corresponds to the speed change between the initial speed of the initial movement phase and the target speed of the target movement phase except for a residual error, and the acceleration change is changed in at least one control time step of the target movement profile by a value of the jerk, whereby the value of the jerk is determined in order to compensate for the residual error resulting from the step function between the area below the step function and the speed change, on the one hand the fastest possible approach to the target movement phase with a jerk-limited movement is achieved. At the same time, the target speed is approached exactly.

[0017] For accuracy, it is advantageous if a position error resulting from the step function between the target position and a position resulting from the target motion profile is compensated by changing the acceleration change in the acceleration profile at a plurality of control time steps in order to lengthen or shorten the target path by the position error, whereby the area below the acceleration profile remains unchanged.

[0018] The present invention will be explained in more detail below with reference to Figures 1 to 6, which show exemplary, schematic and non-limiting advantageous embodiments of the invention.

[0019] Fig.1 a drive axle with a drive axle controller,

[0020] Fig.2 a jerk-limited target movement profile,

[0021] Fig.3 a jerk-limited target movement profile compensation of a position error, Fig.4 a jerk-limited target movement profile with an initial acceleration not equal to zero,

[0022] Fig.5 a drive axis in the form of a long stator linear motor and

[0023] Fig.6 a transport unit network with coupled transport units.

[0024] Fig. 1 shows a drive axis 1 with a drive unit 2, which acts on a moving drive part 3 in order to move it. A movement phase (p, v, a) is thus established on the moving drive part 3, where p stands for the position, v for the speed and a for the acceleration. The position can be an angle or a distance. Consequently, the speed can be an angular velocity or linear velocity and the acceleration can be an angular acceleration or linear acceleration. The movement phase (p, v, a) is to be controlled by a drive axis controller 4. The drive axis controller 4 determines a manipulated variable SS, with which the drive unit 2 is controlled in order to set a predetermined movement setpoint BS, for example a target position of the moving drive part 3.The drive axis controller 4 typically also processes an actual motion value IS, for example, an actual position, which is detected in the drive axis 1, for example, using a measuring sensor. This general structure of a drive axis 1 is well known and need not be explained in more detail.

[0025] It is also conceivable that the moving drive part 3 is part of several drive axes 1 and can therefore be moved in different directions, for example, a transport unit in a planar motor. The drive axis controller 4 can then control the movement of several drive axes 1, or a separate drive axis controller 4 can be provided for each movement.

[0026] In each control time step k, where between two consecutive control time steps k, k+1 a predetermined time interval t ais provided, a motion setpoint BSj is specified, and if necessary, an actual motion value IS; is recorded, from which the drive axis controller 4 determines a manipulated variable SS;. The drive unit 2 is controlled with this manipulated variable SS; and thus acts on the moving drive part 3, so that a new actual motion value ISj+i is established. This is repeated cyclically until the target motion phase is reached.

[0027] The time interval t a is typically in the 100 ps to 100 ms range, usually in the millisecond range.

[0028] The drive axis controller 4 is typically microprocessor-based hardware executing control software. However, the drive axis controller 4 can also be implemented as a field programmable gate array (FPGA) or application-specific integrated circuit (ASIC). The motion setpoint BSj for each control time step k is provided by a motion profile 5 of a motion variable of the motion phase, for example, position, velocity, or acceleration. The motion profile 5 is essentially a sequence of values ​​of the motion variable for each control time step k. The motion profile 5 is, for example, a position profile with the position as the motion variable or a velocity profile with the velocity as the motion variable. The motion profile 5 serves to convert a predetermined start motion phase (ps, vs, as) of the moving drive part 3 into a desired target motion phase (pz, vz, az) through a specific movement.For each control time step during this movement, a movement phase (position, speed, acceleration) of the moving drive part 3 is established. Often, the target speed vz and the target acceleration az are zero, which leads to a specific target position pz at which the moving drive part 3 is to be stationary. Of course, it is also possible to specify a target speed vz and / or target acceleration az that is not equal to zero. The movement profile 5 must be known to control the movement of the drive axis 1, specifically the moving drive part 3 of the drive axis 1.

[0029] When planning motion profile 5, certain boundary conditions must also be observed, in particular the specified motion limitations of a motion variable. Typically, the maximum possible positive and negative acceleration a ma x, a m in and a maximum possible positive speed v max, possibly also a minimum positive / negative speed and / or a negative maximum speed -v ma x, of the moving drive part 3 is provided as a movement limit. Such movement limits can result from physical limitations of the drive axis 1 or from an application of the drive axis 1, but are known in any case. In order to be able to dispense with a downstream jerk filter, the jerk j (as a time derivative of the acceleration) is also limited as a further movement limit in both directions, i.e., for positive and negative accelerations, by a specified maximum jerk ±j ma x. It should be noted that for both the positive and the negative permissible jerk j max is used, whereby the value for the positive and negative permissible jerk jmax does not necessarily have to be the same. The acceleration change between two consecutive control time steps k, k+1 is thus determined by the maximum jerk j ma x and cannot be greater than the maximum jerk j ma x will be.

[0030] Positive acceleration is defined as an acceleration that increases the speed of the moving drive part 3, and negative acceleration is defined as an acceleration that decreases the speed of the moving drive part 3. If the sign of the speed changes (i.e., if the direction of movement is changed), this is, of course, reversed.

[0031] The invention is based on the assumption that there is an arbitrary starting movement phase (ps, vs, as) of the drive axis 1, which is to be converted into a predetermined target movement phase (pz, vz, az) by the drive axis controller 4 using a movement profile 5.

[0032] Due to the movement limitations, however, the target movement phase (pz, vz, az) cannot be reached from any movement phase occurring between the start movement phase (ps, vs, as) and the target movement phase (pz, vz, az). Therefore, a target movement profile 5b is determined to ensure that the target movement phase (pz, vz, az) is reached starting from an initial movement phase (PA, VA, 3A) between the start movement phase (ps, vs, as) and the target movement phase (pz, vz, az). Movement profile 5 thus consists of a start movement profile 5a, followed by the target movement profile 5b. The start movement profile 5a can be arbitrary and can be assumed to be predefined. This is shown as an example in Fig. 2.

[0033] Due to the discrete implementation, the acceleration value a can only change in each control time step k (at given time intervals t a) of the motion profile 5. The acceleration profile is chosen for motion planning because it allows the jerk j to be easily limited. The acceleration change between two consecutive control time steps k, k+1 may not exceed a specified maximum jerk j ma x, whereby the jerk limitation is already implemented. This results in a step function for the acceleration profile with acceleration values ​​at each control time step k. The acceleration profile is a temporally discrete sequence of acceleration values ​​at the control time steps k, where the acceleration change between two consecutive control time steps k, k+1 may not exceed a specified maximum jerk j ma x is.

[0034] For the sake of clarity, it should be clarified that the motion profile 5 for controlling the motion is determined using an acceleration profile. From the acceleration profile, a velocity profile (a discrete sequence of velocity values ​​in each control time step k) results from temporal integration, and a position profile (a discrete sequence of position values ​​in each control time step k) results from double integration. The motion variable of the motion profile 5 can therefore be position, velocity, or acceleration. In the described embodiment, the acceleration profile is used as motion profile 5 only for the sake of simplicity. Fig. 2 shows the motion profile 5 with any known starting motion profile 5a (dash-dotted, with the starting motion phase (ps, vs, as) indicated) and a target motion profile 5b.In this exemplary embodiment, the target movement phase (pz, vz, az) is defined by a target position pz in which the target velocity vz and the target acceleration az should be zero. In this example, the target movement profile 5b describes a deceleration of the moving drive part 3 (i.e., negative accelerations), although the target movement profile 5b can also include positive accelerations. The target movement profile 5b is preferably designed to reach the target movement phase (pz, vz, az) as quickly as possible from an initial movement phase (PA, VA, 3A), so that the target movement profile 5b can thus be started as late as possible. This requires, for example, that the acceleration changes in the target movement profile 5b correspond as closely as possible to the maximum jerk j. max. However, the target motion profile 5b can also correspond to other specifications, for example, other motion limitations, acceleration changes only every nth (n>1) control time step k, etc.

[0035] With the target motion profile 5b, the initial position PA is to be changed to the target position pz, the initial velocity VA to the target velocity vz, and the initial acceleration 3A to the target acceleration az – thus, the target motion phase (pz, vz, az) is to be set when the target motion profile 5b is executed with the drive axis controller 4. Since the initial motion phase (PA, VA, 3A) and the initial motion profile 5a can be arbitrary and the specified motion limits must be observed, the target motion profile 5b must be determined in order to transfer the initial motion phase (PA, VA, 3A) to the target motion phase (pz, vz, az).

[0036] For the explanation of the determination of the target movement profile 5b, it is assumed for the sake of simplicity that before the target movement profile 5b the moving drive part 3 is moved with a constant positive initial speed VA not equal to zero, and the initial acceleration SA is therefore equal to zero.

[0037] Fig. 2 shows the acceleration profile of the target motion profile 5b. The resulting velocity and position curves are known to be the time integrals of the acceleration profile and are not shown in Fig. 2.

[0038] In the described embodiment, the current, known initial speed VA is to be reduced to the target speed vz=0 and, at the same time, the target position pz is to be reached. Thus, the speed of the moving drive part 3 is to be changed to the target speed vz by acceleration specifications in a number of control time steps k, whereby in each control time step k the acceleration change corresponds at most to the specified maximum jerk j ma x in order to comply with the jerk limitation. In the illustrated embodiment, the moving drive part 3 must first be decelerated, which takes place in a number of control time steps k. The acceleration a decreases in each control time step k, whereby the change in acceleration in each control time step k corresponds at most to the specified maximum jerk jmax, until the specified minimum acceleration a m in is reached.

[0039] From a certain point in time (control time step k), the acceleration must be increased again to reach the target acceleration az=0 again in a number of control time steps k, taking the jerk limitation into account. The acceleration cannot be less than the minimum acceleration a m in , so there can be a number of control time steps k in which the minimum acceleration a m in is further decelerated (as in Fig.2). It may also be that the minimum acceleration a m is not reached at all. This achieves the maximum possible (i.e., the shortest possible) deceleration of the moving drive part 3 while maintaining the jerk limitation.

[0040] In general, this means that in the acceleration profile of the target movement profile 5b, the acceleration a, starting from the initial acceleration 3A, is reduced or increased in a first acceleration section 7a in a plurality of control time steps k, wherein the acceleration change corresponds at most to the predefined maximum jerk jmax. In a subsequent second acceleration section 7b, the acceleration a is increased or reduced in a plurality of control time steps k, wherein the acceleration change corresponds at most to the predefined maximum jerk jmax, until the target acceleration az is reached. In this case, a triangular step function would result as the acceleration profile. However, a third acceleration section 7c can result between the first acceleration section 7a and the second acceleration section 7b, in which the predefined minimum acceleration a m in or maximum acceleration ama x is reached and this value is maintained for a number of control time steps k. In this case, a trapezoidal step function results as the acceleration profile.

[0041] Due to the acceleration limitation a m in, a ma x at the control time steps k and the specified maximum jerk jmax, it may of course be the case that the remaining steps R1, R2 in the step function of the acceleration profile cannot be implemented with the maximum possible acceleration change (maximum jerk jmax), as shown in Fig.2. However, these remaining steps R1, R2 are easy to determine.

[0042] For example, the number i of control time steps k to return from the initial acceleration SA using the given maximum jerk j ma x to the specified minimum acceleration a m to come in, given by i = This follows the

[0043] \Cl Remaining step R1 to / ! =1 mm | . The remaining step R2 can be determined analogously.

[0044] The number i of control time steps k in the first acceleration section 7a and in the second acceleration section 7b can thus be easily determined.

[0045] As is known, the area under the acceleration profile corresponds to the velocity. For the target movement profile 5b, the area under the acceleration profile corresponds to the velocity change Av from the initial velocity VA to the target velocity vz, i.e., in the described embodiment shown in Fig. 2, the achieved velocity reduction. The area under the acceleration profile must therefore correspond to the velocity change Av in order for the specified target velocity vz to be reached. This provides a first criterion for planning the target movement profile 5b to achieve the target velocity vz.

[0046] The calculation of the area under the step function of the acceleration profile is trivial. The area can be influenced primarily by increasing the number of control time steps k with minimal acceleration a m in or maximum acceleration a ma x (third acceleration section 7c) is changed. The more control time steps k with minimal acceleration a m in or maximum acceleration a ma x, the larger the area becomes and thus the greater the velocity change Av achieved with the target movement profile 5b. If the minimum acceleration a m in is not reached, the area can be simply calculated by the number of steps with the maximum jerk max can be influenced. The area can also be influenced by selecting the acceleration changes in a number of control time steps k. In principle, the acceleration change can be freely adjusted between zero and the specified maximum jerk j ma x can be selected.

[0047] However, due to the discretization of acceleration a at the control time steps k, it is possible that the resulting area under the acceleration profile does not exactly correspond to the desired velocity change Av, but rather that a certain error arises and the target velocity vz is not exactly reached. This will occur in particular if all acceleration changes are accompanied by the specified maximum jerk j. max. This error results directly from the difference between the determined area and the desired speed change Av and can thus be easily determined. To compensate for this error, the acceleration change is changed by a value Aj in at least one control time step k of the target movement profile 5b, so that the area under the acceleration profile corresponds to the desired speed change Av. The specified movement limits must, of course, be observed; in particular, the specified maximum jerk jmax and the maximum acceleration a m in or maximum acceleration a ma x must not be violated. Determining this value Aj is straightforward because the effect of this value on the area under the acceleration curve is immediately apparent.

[0048] In Fig. 2, for example, the first acceleration change after the third acceleration section 7c is not performed at the maximum jerk jmax, but at a value smaller by the value Aj. The remaining acceleration changes in this embodiment are again performed at the maximum jerk jmax. This increases the area under the acceleration profile.

[0049] This allows the target movement profile 5b to be determined in order to achieve the desired speed change Av from the initial speed VA to the target speed vz.

[0050] If the maximum jerk jmax is used to determine the target movement profile 5b, it is ensured that the speed change Av occurs as quickly as possible while observing the movement limitations, i.e. with as few control time steps k as possible.

[0051] However, not only the target speed vz must be reached, but also the target position pz. This raises the question of when the target movement profile 5b must be started, for example as in Fig. 2, so that the target position pz is set at the end of the target movement profile 5b. For this purpose, the target movement profile 5b determined for achieving the speed change Av is also used to determine the target path that is covered when executing the determined target movement profile 5b, i.e., when the moving drive part 3 is moved with the target movement profile 5b. This provides a second criterion for planning the movement to reach the target position pz.

[0052] The determination of the target path covered with the previously determined target movement profile 5b is also trivial because the target path results as a time integral of the speed profile established by the target movement profile 5b or as a double time integral of the acceleration profile of the target movement profile 5b.

[0053] The current position of the moving drive part 3 must therefore be checked. If the current position corresponds to the difference between the target position pz and the target path, then the target motion profile 5b must be initiated so that the desired target position pz is set with the target motion profile 5b. This allows the time for starting the target motion profile 5b to be determined.

[0054] Here, too, errors are to be expected due to the discretization. In particular, the difference between the target position pz and the target path will not exactly correspond to the position assumed by the moving drive part 3 in a control time step k during the implementation of the motion profile 5. As a result, the target motion profile 5b will be started either slightly too early or too late, and the target position pz will not be precisely established. If the requirements for the target position pz are not too high, this error can be accepted. However, if the target position pz is to be approached as precisely as possible, this error can also be compensated for.

[0055] Here, too, the approach consists in changing the acceleration change by a value Aj in a number of control time steps k in the acceleration profile of the target motion profile 5b. However, the area under the acceleration profile must not change in order to achieve the target velocity vz. Of course, the specified motion limits must also be observed, in particular, the specified maximum jerk j ma x and the minimum acceleration a m in or maximum acceleration a max is not violated. This is illustrated by an example in Fig. 3. The goal is to achieve the same velocity change Av by changing the value Aj for the number of control time steps k, but with a time variation so that the target position pz is reached exactly and the error is compensated. The velocity change Av due to the target motion profile 5b is thus either lengthened or shortened as needed.

[0056] The determination of this value Aj can be carried out easily because the effects of this value on the area under the acceleration curve and on the resulting target path can be determined immediately.

[0057] Fig. 3 shows an exemplary embodiment for a position correction. In this exemplary embodiment, in the first control time step k in the first acceleration section 7a, the acceleration changes are reduced by the value Aj. The acceleration change therefore no longer corresponds to the maximum jerk j. ma x. The other acceleration changes again occur with the maximum jerk j max (but could occur with a smaller acceleration change). This means that the initial velocity VA is reduced more slowly and the target path is extended. However, this would also reduce the area below the acceleration profile. To counteract this, in this exemplary embodiment, in the first control time step k in the second acceleration section 7b, the acceleration changes are reduced by the value Aj to compensate for the smaller area. The other acceleration changes again occur with the maximum jerk jmax (but could occur with a smaller acceleration change). This means that the initial velocity VA is reduced more slowly and the target path is extended.It is immediately obvious that there are a variety of ways to intervene in the acceleration changes of the acceleration profile in order to lengthen or shorten the target path without changing the area below the acceleration profile.

[0058] As already mentioned, the target movement profile 5b does not necessarily have to start at an initial movement phase (PA, VA, 3A) with the initial acceleration 3A=0. In general, the initial acceleration 3A can have any value (within specified movement limits a ma x, a m in). This is shown as an example in Fig. 4. However, this does not change the basic procedure explained above.

[0059] In this exemplary embodiment, the target movement profile 5b starts with an initial acceleration 3A>0 and a known initial velocity VA, which is established in the initial movement phase (PA, VA, 3A). The target movement profile 5b is determined in the same way as explained above for Fig. 2. The decisive factor is therefore again the area under the entire step function starting from the initial movement phase (PA, VA, SA), which should again correspond to the speed change Av from the initial speed VA to the target speed vz. The target movement profile 5b can again be used to determine the target path, which in turn can be used to determine when (or at which control time step k) the target movement profile 5b must start. The above errors in the target speed vz or in the target speed vz and the target position pz can also be compensated for immediately.

[0060] The target motion profile 5b does not necessarily have to reduce the speed from an initial speed VA to a target speed vz (e.g., zero); rather, the target motion profile 5b could also be configured to increase the speed. The target motion profile 5b could thus also be defined in the range of positive accelerations.

[0061] The implementation of the invention could be carried out as follows. The movement of the drive axis 1 is started from the specified starting movement phase (ps, vs, as) with a desired or specified starting movement profile 5a. The starting movement profile 5a provides a movement target value BSk for the drive axis controller 4 in each control time step k. In each control time step k, the resulting movement phase is determined in the next control time step k+1, for example, by starting the movement with the maximum jerk j max is continued or from the start movement profile 5a if it is known. The movement phase in the next control time step k+1 is used as the initial movement phase (PA, VA, 3A) and, based on this, a target movement profile 5b is determined, with which the speed change Av between the initial speed VA and the target speed vz is brought about. The target path is determined from the determined target movement profile 5b. If the target path is smaller than the difference between the target position pz and the current position in the control time step k, the target movement profile 5b is initiated in the current or, at the latest, in the next control time step k+1, which determines the time for starting the target movement profile 5b. Otherwise, the start movement profile 5a is continued. This represents an online determination of the target movement profile 5b.

[0062] It is therefore also possible that the starting movement phase (ps, vs, as) and the initial movement phase (PA, VA, 3A) coincide.

[0063] However, it is of course also possible to determine the target movement profile 5b for a given starting movement profile 5a offline, i.e. in advance before the movement is carried out.

[0064] If the acceleration in the starting movement profile 5a is zero during a certain period of time, i.e. the speed cannot change, then the target movement profile 5b for this speed only needs to be calculated once as long as the acceleration remains zero, because the target movement profile 5b cannot change (at least as long as no new target movement phase (ps, vs, as) is specified).

[0065] The starting movement profile 5a could also be planned by means of an acceleration profile in compliance with specified movement limits, whereby the acceleration change between two consecutive control time steps k, k+1 at most exceeds a specified maximum jerk j ma x, which means that the jerk limitation is already implemented. This can be done in such a way that changes in speed or position are implemented as quickly as possible by the starting motion profile 5a. This can again be used to limit the accelerations in the acceleration profile of the starting motion profile 5a with the specified maximum jerk j ma x. For movements with constant speed, the acceleration would simply be set to zero, although a previously acting acceleration can only be reduced with the specified maximum jerk. An acceleration change greater than the specified maximum jerkj max must be stopped.

[0066] A significant advantage of the inventive determination of the movement profile 5, or the target movement profile 5b of the movement profile 5, is that no knowledge of the past is required. The memory requirement for determining a jerk-limited movement profile 5 is thus significantly reduced. Likewise, there are no dead times, as with a jerk filter.

[0067] In each control time step k, a target movement profile 5b can be determined starting from a current movement phase in the control time step k as the initial movement phase (PA, VA, 3A). The target path can be determined from the target movement profile 5b. If the target path is smaller than the current distance of the moving drive part 3 to the target position pz (or if the target path is smaller than the difference between the target position pz and the current position), the target movement profile 5b must be started, which determines the time for starting the target movement profile 5b. In this case, the target position pz could be exceeded, but this can be compensated for by compensating for the resulting position error. It would also be conceivable to determine the movement phase in the next control time step k+1, for example, by mathematically continuing the movement with the maximum jerk jmax.The movement phase in the computationally determined next control time step k+1 could then be used as the initial movement phase (PA, VA, 3A) to determine a target movement profile 5b and the target path based on it. If the determined target path is smaller than the current distance of the moving drive part 3 from the target position pz (or if the target path is smaller than the difference between the target position pz and the current position), the determined target movement profile 5b is initiated in the current control time step k. This ensures that the moving drive part 3 does not quite reach the target position pz. However, the resulting position error could be compensated for as described above.

[0068] A further advantage is that the target movement phase (ps, vs, as) can be changed even during the movement of drive axis 1. A changed target movement phase (ps, vs, 8s) is taken into account immediately and without any time delay (as would be the case with a jerk filter) when determining the target movement profile 5b. This allows for flexible response to new specifications of the target movement phase (ps, vs, as).

[0069] Last but not least, the inventive determination of the target motion profile 5b also ensures a linear complexity of the calculation. As the number of control time steps increases, the complexity of the calculation increases linearly with the increase in the number of control time steps. The linear complexity results in particular from the fact that the required calculations are reduced to the determination of areas below a step function, and no numerical mathematical methods or optimizations (which are usually solved iteratively) are required.

[0070] The motion profile 5, in particular the target motion profile 5b and, if applicable, also the starting motion profile 5a, is specified by a system controller 6. The system controller 6 serves to control a system 10 in which the drive axis 1 is implemented. The motion profile 5 for the drive axis 1 is created on the system controller 6. The system controller 6 is a computer with appropriate software for creating the motion profile 5. The drive axis controller 4 can also be integrated into the system controller 6.

[0071] As mentioned above, the drive axis 1 can be implemented, for example, in a long-stator linear motor (also known as a planar motor). Fig. 5 shows an example of a long-stator linear motor as an embodiment of a system 10. A long-stator linear motor consists of a stator 11 on which magnetic field generating units 12, such as drive coils or movable magnets, are arranged next to one another (for the sake of clarity, only some of the magnetic field generating units are shown in Fig. 5), which generate a magnetic field. A plurality n of transport units Tn are moved along the stator 11. An excitation magnet arrangement 13, such as permanent magnets, is arranged on each transport unit Tn (for the sake of clarity, the excitation magnet arrangement is only shown on the transport unit T1 in Fig. 5).The magnetic field generated by the magnetic field generating units 12 interacts with the excitation field generated by the excitation magnet arrangement 13 to move the transport unit Tn. A drive axis 1 thus consists of the magnetic field generating units 12 (or a certain number thereof) as drive unit 2, which act on a transport unit Tn as a moving drive part 3 to move it. Due to the movement, different magnetic field generating units 12 always interact with a transport unit Tn. To generate a magnetic field, the magnetic field generating units 12 are controlled by a drive axis controller 4 using manipulated variables SS, for example, to apply a coil voltage to certain magnetic field generating units 12 to generate the magnetic field. The motion setpoints BS for the drive axis controller 4 originate from a motion profile 5 that specifies the movement of the transport unit Tn.Likewise, the drive axis controller 4 receives actual variables IS of the movement of the transport unit Tn, for example, actual positions on the stator 11 from position sensors (not shown). In this way, the movements of the transport units Tn on the stator 11 can be planned and executed individually and independently of one another. In a planar motor, the drive axis 1 defines a direction of movement on the stator 11.

[0072] Due to the fact that the transport units Tn can be moved individually and independently of one another on the stator 11, it is already known to provide collision avoidance. Collision avoidance serves to prevent an undesired collision between two transport units Tn or between a transport unit Tn and another part of the system 10, such as a processing station provided on the transport system. Such collision avoidance is disclosed, for example, in EP 3202 612 A1. With this collision avoidance, it is continuously checked whether a transport unit TN can perform a standstill maneuver or adjustment maneuver, in which the movement is changed, with predetermined kinematics without running the risk of colliding with a preceding transport unit or with a stationary part of the system 10.Such a standstill maneuver or adjustment maneuver thus represents a motion profile 5, which can be planned, for example, as above. The target movement phase (pz, vz, az) for a standstill maneuver is given by vz=az=zero. For an adjustment maneuver, any target movement phase (pz, vz, az) can be specified. A standstill maneuver or adjustment maneuver should usually be executed as quickly as possible, i.e., with the shortest possible target path. For this reason, minimal accelerations a are also required for such maneuvers. m in defined as a movement limitation in order to be able to decelerate the transport unit Tn as quickly as possible.

[0073] The inventive determination of the target motion profile 5b without a downstream jerk filter is particularly advantageous for such standstill maneuvers or collision avoidance adjustment maneuvers. In particular, the fact that no dead times (as with a jerk filter) occur when creating the target motion profile 5b makes it possible to reduce the required safety distance between adjacent transport units Tn on the stator 11. This allows transport units Tn to be moved closer to one another, increasing the throughput of transport units Tn per unit of time, which is particularly helpful in transport applications.

[0074] In certain applications, several transport units Tn also form a transport unit network 14, such as the transport units T1, T2 in Fig. 5 indicated by the dashed line. However, it is not absolutely necessary for the transport units Tn of a transport unit network 14 to be directly adjacent; other transport units can also be moved between them. Even in such a transport unit network 14, it is naturally advantageous if the transport units Tn can travel closer to one another.

[0075] The transport units Tn in a transport unit network 14 move in a coordinated manner relative to one another, meaning that the movements of the transport units Tn in a transport unit network 14 are no longer independent of one another. For example, the distance between two transport units Tn of a transport unit network 14 should remain constant.

[0076] How the movements are coordinated is irrelevant. For example, a transport unit Tn in the transport unit network 14 could serve as a master, specifying a movement that the other transport units Tn in the transport unit network 14 follow.

[0077] It is also possible for two transport units Tn in a transport unit network 14 to be mechanically coupled, as shown in Fig. 6, for example, by a connection 15 between coupling points 16 on the transport units Tn. The coordinated movement could, for example, require that the distance (e.g., the Euclidean distance in space) between the coupling points 16 remains constant during the movement. The coordinated movement could also require that the force exerted by the two transport units Tn via the coupling points 16 on the connection 15 remains constant.

[0078] For each transport unit Tn, movement limitations, in particular a maximum acceleration a ma x and a minimum acceleration a m in, which must be adhered to. This does not pose a problem for the independent movement of a transport unit Tn. However, due to the coupled movement of transport units Tn in a transport unit network 14, this can lead to difficulties, particularly during braking maneuvers, such as a standstill maneuver or adjustment maneuver for collision avoidance, which are performed with maximum possible acceleration because the coordinated movement must be maintained simultaneously. Such difficulties frequently arise in curved sections of the stator 11.

[0079] If, for example, a transport unit group 14 moves into a curved section of the stator 11, the movements of the transport units Tn in the transport unit group 14 continue to be coordinated. For example, the distance between two transport units Tn is still maintained. However, it may happen that compliance with the coordinated movement with the specified movement limitations cannot be maintained. For example, the coordinated movement could require that a transport unit Tn of the transport unit group 14 travels with a greater negative acceleration than the minimum acceleration a m in deceleration or with greater acceleration than the maximum acceleration a ma x would have to accelerate to maintain coordinated movement. However, this is not possible due to the given movement limitations.

[0080] To resolve this problem, it is provided that transport units Tn of a transport unit group 14 are assigned second acceleration limits in addition to the defined first acceleration limits. The second acceleration limits are greater in magnitude than the first acceleration limits, i.e., they have a greater negative and / or positive acceleration than the first acceleration limits. This allows a transport unit Tn in a transport unit group 14 to use the second acceleration limits for movement as needed in order to maintain the coordinated movement of the transport units Tn within the transport unit group 14.

[0081] The first acceleration limits and second acceleration limits can be configurable, for example, by a user. However, it is also conceivable that they are set by the drive axis controller 4 or the system controller 6, for example, based on knowledge of the application.

[0082] For example, a transport unit T1 of a transport unit group 14 performs a braking maneuver with a predetermined maximum deceleration according to the specifications of a movement limit with first acceleration limits. Another transport unit T2 of the transport unit group 14 must follow due to the coordinated movement. If this second transport unit were to also brake only with the first acceleration limit, it would no longer have any leeway to simultaneously implement any change in the distance between the two transport units T1, T2. The second acceleration limit, which is greater than the first acceleration limit, gives the second transport unit T2 this possibility.

[0083] However, this approach of the second acceleration limitation for a transport unit Tn in a transport unit network 14 is independent of how the movement profile of the transport unit Tn is planned or created.

[0084] This allows an advantageous method to be derived for a long stator linear motor to control a transport unit network 14 with several transport units Tn whose movements are coordinated with one another:

[0085] The transport units Tn of the transport unit network 14 are each assigned a first acceleration limit, which defines a maximum possible positive and / or negative first acceleration of the movement of the transport units. The transport units Tn of the transport unit network 14 are each assigned a second acceleration limit, which defines a maximum possible positive and / or negative second acceleration of the movement of the transport units, wherein the positive and / or negative second acceleration is greater in magnitude than the positive and / or negative first acceleration. The transport units Tn in the transport unit network 14 use the first acceleration limit for the movement. If the coordinated movement of the transport units Tn is therefore not possible, at least one transport unit Tn of the transport unit network 14 uses the second acceleration limit.

Claims

Patent claims 1. A method for controlling the movement of a drive axis (1) of a drive, wherein the movement of the drive axis (1) is controlled in predetermined control time steps k by specifying a movement setpoint (BS) of the movement, whereby a movement phase (p, v, a) of the movement of the drive axis (1) results in each control time step k, wherein a target movement phase (pz, vz, az) in the form of a target position (pz), target speed (vz), and target acceleration (az) is specified for the movement of the drive axis (1), and the target movement phase (pz, vz, az) is set starting from a start movement phase (ps, vs, as) in the form of a start position (ps), start speed (vs), and start acceleration (as) by a movement profile (5) while adhering to predetermined movement limitations, and wherein the movement setpoint (BS) is obtained from the movement profile (5) in each control time step k, characterized in thatthat the movement profile (5) consists of a start movement profile (5a) and a target movement profile (5b), wherein the start movement profile (5a) starts at the start movement phase (ps, vs, as) and transitions into the target movement profile (5b), which starts in an initial movement phase (PA, VA, 3A) and ends in the target movement phase (pz, vz, az), that the target movement profile (5b) is determined with an acceleration profile over a plurality of control time steps k, wherein an acceleration change in each control time step k corresponds at most to a predetermined maximum jerk (j, max), so that the acceleration profile of the target movement profile (5b) is present as a step function in which the acceleration profile is a temporally discrete sequence of acceleration values ​​at the control time steps k, that the step function is created in compliance with the predetermined movement limitations, so that the area below the step function corresponds to a speed change (Av) between the initial speed (VA) of the initial movement phase (PA, VA, 3A) and the target speed (vz) of the target movement phase (pz, vz, az), and that with the determined target movement profile (5b) a target path is determined which is covered with the target movement profile (5b), and that on the basis of the target path a time is determined at which the determined target movement profile (5b) is started in order to reach the target position (pz) of the target movement phase (pz, vz, az).

2. Method according to claim 1, characterized in that the acceleration in the acceleration profile, starting from the initial acceleration (3A), in a first acceleration section (7a) in a plurality of control time steps k by a maximum of the predetermined maximum jerk (j ma x) is reduced or increased and then the acceleration in a second acceleration section (7b) in a plurality of control time steps k by a maximum of the specified maximum jerk (j ma x) is increased or reduced until the target acceleration (3A) is reached.

3. Method according to claim 1, characterized in that the acceleration starting from the initial acceleration (a A ) in a first acceleration section (7a) in a plurality of control time steps k by a maximum of the predetermined maximum jerk (jmax) until a predetermined minimum acceleration (a min) or maximum acceleration (a ma x) is reached, then the acceleration in a third acceleration section (7c) for a number of control time steps k is kept at the minimum acceleration (a m in) or maximum acceleration (a ma x) and then the acceleration in a second acceleration section (7b) in a plurality of control time steps k by a maximum of the predetermined maximum jerk (j ma x) is increased or reduced until the target acceleration (a A ) is reached.

4. Method according to one of claims 1 to 3, characterized in that an acceleration change in a control time step k of the acceleration profile predefined maximum jerk (j max) if the predetermined movement limitations permit this, so that the area below the step function corresponds to the change in speed (Av) between the initial speed (VA) of the initial movement phase (PA, VA, 3A) and the target speed (vz) of the target movement phase (pz, vz, az) except for a residual error, and that the change in acceleration is changed by a jerk value (Aj) in at least one control time step k of the acceleration profile, the jerk value (Aj) being determined in order to compensate for the residual error resulting from the step function between the area below the step function and the change in speed (Av).

5. Method according to one of claims 1 to 4, characterized in that a position error resulting from the step function between the target position (pz) and a position resulting from the target movement profile (5b) is compensated by changing the acceleration change in the acceleration profile at a plurality of control time steps k in order to lengthen or shorten the target path by the position error, wherein the area below the acceleration profile remains unchanged.

6. Method according to one of claims 1 to 5, characterized in that in each control time step k of the start movement profile (5a) the current movement phase (p, v, a) is used as the initial movement phase (PA, VA, 8A) and with this initial movement phase (PA, VA, 8A) the target movement profile (5b) and the target path are determined and the target movement profile (5b) is initiated in the next control time step k+1 if the difference between the target position (pz) and the initial position (PA) is smaller than the target path.

7. Method according to one of claims 1 to 5, characterized in that in each control time step k of the start movement profile (5a) the movement phase (p, v, a) of the next control time step k+1 following the current control time step k is used as the initial movement phase (PA, VA, 3A) and with this initial movement phase (PA, VA, 3A) the target movement profile (5b) and the target path are determined and the target movement profile (5b) is initiated in the current control time step k if the difference between the target position (pz) and the initial position (PA) is smaller than the target path.