WO2024047193A1 - Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit - Google Patents

Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit Download PDF

Info

Publication number
WO2024047193A1
WO2024047193A1 PCT/EP2023/073958 EP2023073958W WO2024047193A1 WO 2024047193 A1 WO2024047193 A1 WO 2024047193A1 EP 2023073958 W EP2023073958 W EP 2023073958W WO 2024047193 A1 WO2024047193 A1 WO 2024047193A1
Authority
WO
WIPO (PCT)
Prior art keywords
movement
acceleration
target
profile
control time
Prior art date
Application number
PCT/EP2023/073958
Other languages
English (en)
French (fr)
Inventor
Christoph HUTLE
Helmut Herzog
Michael HAUER
Original Assignee
B&R Industrial Automation GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B&R Industrial Automation GmbH filed Critical B&R Industrial Automation GmbH
Publication of WO2024047193A1 publication Critical patent/WO2024047193A1/de

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41087Determine switch point
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41408Control of jerk, change of acceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43065Limitation of jerk
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49202For point to point positioning

Definitions

  • the present invention relates to a method for regulating the movement of a drive axle of a drive, wherein the movement of the drive axle is regulated in predetermined control time steps by specifying a movement setpoint of the movement, which results in a movement phase of the movement of the drive axle in each control time step, for the movement a target movement phase is specified for the drive axis in the form of a target position, target speed and target acceleration and the target movement phase is set based on a start movement phase in the form of a start position, start speed and start acceleration by a movement profile in compliance with predetermined movement limitations, and in each control time step the movement setpoint from the movement profile is received.
  • a drive axle essentially consists of a drive unit, such as an electric motor, which acts on a moving drive part of the drive in order to move the moving drive part translationally or rotationally in the desired manner.
  • a drive axle usually causes movement in one direction.
  • several drive axes can be provided in order to move the moving part in several directions. Examples of applications in which drive axes occur are cranes, robots, conveyors, machine tools, linear drives, etc., although this list is of course not restrictive.
  • a long stator linear motor essentially consists of a long stator in the form of a plurality of magnetic field generating units arranged next to one another, such as drive coils or movable magnets, and a plurality of transport units with excitation magnets (for example permanent magnets, electromagnets or short-circuit windings), which are moved along the long stator by the magnetic field generating units moving electromagnetic field is generated, which interacts with the excitation magnets on the transport units to move the transport units.
  • the drive coils can be subjected to an electrical current in order to generate a moving electromagnetic field.
  • the long stator thus forms a conveyor path along which the transport units can be moved. This makes it possible to regulate the movement (position, speed, acceleration) of each transport unit individually and independently of one another.
  • each magnetic field generation unit is controlled by an assigned drive controller, which sets specifications for the movement of a Transport unit (e.g. in the form of setpoints for position or speed) can receive from a higher-level system control unit.
  • a long stator linear motor can be designed with one drive axis or with several drive axes. In the latter case, one often speaks of planar motors.
  • the magnetic field generation units are arranged in one plane, which forms a planar conveyor path in which a transport unit can be moved in two directions.
  • the transport unit can also be moved normally to the planar conveyor path, at least within certain limits, which represents another drive axis.
  • Such long stator linear motors are well known.
  • a target movement phase is often specified for a drive axis, which is to be approached by the moving drive part, for example a specific target position on a long stator linear motor, which is to be reached by the moving drive part with a specific target speed and/or target acceleration.
  • a movement phase is understood to mean the state of movement of the moving drive part of the drive axle at a specific point in time of the movement, i.e. position, speed, acceleration.
  • the drive part must therefore be regulated by specifying movement setpoints so that this target movement phase is achieved 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 stands still in the target position, i.e. the speed and acceleration in the target position are zero.
  • the movement setpoints are usually specified in the form of a movement profile of a movement variable, for example in the form of a speed profile or a position profile, which the moving drive part should follow in order to achieve the target movement phase.
  • the respective movement setpoint to be specified at the current time of the drive control is then determined at each time of the movement, for example a specific speed setpoint or position setpoint, which is to be adjusted with the drive controller at the current time. Due to the drive control, a current movement phase occurs at any time.
  • jerk When creating a movement profile, known movement restrictions are usually taken into account, for example a maximum speed or a maximum acceleration.
  • Limits for the jerk which is defined as the time derivative of the acceleration, are often specified as a movement restriction for the movement of a drive axle in order to reduce the mechanical load on the drive axle due to large changes in acceleration.
  • 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 as average filters.
  • a movement profile for example a position profile or a speed profile, is created, which is then adjusted in the jerk filter in order to achieve the jerk limitation.
  • jerk filters require a lot of storage space because many values of past movement setpoints have to be saved for averaging.
  • a jerk filter is always dependent on the past because a jerk filter also processes past values. This also results in a dead time for a jerk filter because there must first be sufficient past values before the jerk filter works properly. It also follows that a movement profile cannot be easily switched, for example by specifying a new target movement phase.
  • drive axis control is carried out discretely, i.e. a new movement setpoint is specified in certain predetermined control time steps, from which the drive axis controller calculates a manipulated variable for the drive unit of the drive axle in each control time step, with which the drive unit is controlled, to set the current motion setpoint.
  • a manipulated variable is, for example, an electrical current or an electrical voltage that is to be set on the drive coils of a long-stator linear motor, or an electrical current of an electric motor.
  • the movement setpoint can only change at the discrete times specified by the control time step. For example, if the movement setpoint is a speed, this would lead to a step function of the speed profile with speed jumps. These jumps in speed cause large jumps in the acceleration and with it a big jolt. This in turn makes it necessary to use a jerk filter to eliminate these jump points, which, however, is again associated with the disadvantages mentioned above.
  • the movement profile consists of a start movement profile and a target movement profile, the start movement profile starting at the start movement phase and transitioning into the target movement profile, which starts in an initial movement phase and ends in the target movement phase.
  • the starting movement profile is arbitrary and can be assumed to be known or specified.
  • the target movement profile is determined with an acceleration profile over a plurality of control time steps, with an acceleration change in each control time step corresponding to a maximum of a predetermined maximum jerk, so that the acceleration profile of the target movement 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 change in acceleration is between zero and the specified maximum jerk.
  • the stair function is created in compliance with the specified movement limitations, so that the area below the stair function corresponds to a change in speed between the initial speed of the initial movement phase and the target speed of the target movement phase.
  • the target movement profile ensures that a target movement phase is achieved from an initial movement phase while maintaining the jerk limitation.
  • the target movement profile is advantageously 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 the acceleration in a second acceleration section in a plurality of control time steps by a maximum of the predetermined maximum shock is increased or reduced until the target acceleration is reached.
  • the acceleration in a third acceleration section for a number of control time steps is maintained at the minimum acceleration or maximum acceleration and then the acceleration in a second acceleration section is increased or reduced by a maximum of the predetermined maximum jerk in a plurality of control time steps until the target acceleration is reached.
  • a change in acceleration in a control time step of the target movement profile corresponds to a predetermined maximum jerk
  • the predetermined movement limitations allow this, so that the area below the step function corresponds to the change in speed except for a residual error between the initial speed of the initial movement phase and the target speed of the target movement phase
  • the change in acceleration in at least a control time step of the target movement profile is changed by a value of the jerk, the value of the jerk 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, on the one hand the fastest possible approach to the target movement phase with a jerk-limited movement reached.
  • the target speed is reached exactly.
  • a position error resulting from the step function between the target position and a position resulting from the target movement profile is compensated for by changing the acceleration change in the acceleration profile at a plurality of control time steps in order to extend the target path by the position error or shortened, whereby the area below the acceleration profile remains unchanged.
  • FIGS. 1 to 6 show advantageous embodiments of the invention by way of example, schematically and non-restrictively. This shows
  • Fig.3 shows a jerk-limited target movement profile to compensate for a position error
  • Fig.4 shows a jerk-limited target movement profile with an initial acceleration and equals zero
  • Fig.5 shows a drive axle in the form of a long stator linear motor
  • Fig.6 shows a transport unit network with coupled transport units.
  • Fig.1 shows a drive axle 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 velocity can be angular velocity or linear velocity and the acceleration can be angular acceleration or linear acceleration.
  • the movement phase (p, v, a) should be regulated 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 axle controller 4 usually also processes an actual movement value IS, for example an actual position, which is detected in the drive axle 1, for example using a measuring sensor.
  • This general structure of a drive axle 1 is well known and does not need to be explained in
  • 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 regulate the movement of several drive axes 1, or one drive axis controller 4 can be provided for each movement.
  • a movement setpoint BSj is specified and, if necessary, an actual movement value IS; detected, from which the drive axis controller 4 produces a manipulated variable SS; determined.
  • the drive unit 2 is operated with this manipulated variable SS; controlled and thus acts on the moving drive part 3, so that a new actual movement value ISj+i is established. This is repeated cyclically until the target movement phase is reached.
  • the time interval t a is typically in the 100 ps range to 100 ms range, usually in the millisecond range.
  • the drive axis controller 4 is usually microprocessor-based hardware on which control software is executed.
  • the drive axis controller 4 can also be implemented as a field programmable gate array (FPGA) or application-specific integrated circuit (ASIC).
  • the movement setpoint BSj for each control time step k is provided by a movement profile 5 of a movement variable of the movement phase, for example position, speed or acceleration.
  • the movement profile 5 is essentially a sequence of values of the movement variable for each control time step k.
  • the movement profile 5 is, for example, a position profile with the position as a movement variable or a speed profile with the speed as a movement variable.
  • the movement profile 5 serves to convert a predetermined starting movement phase (ps, vs, as) of the moving drive part 3 into a desired target movement 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.
  • the target speed vz and the target acceleration az are often equal to zero, which means that a specific target position pz is approached, at which the moving drive part 3 should stand still. Of course, it is also possible to provide a target speed vz and/or target acceleration az that is not equal to zero.
  • the movement profile 5 must be known for controlling the movement of the drive axle 1, specifically the moving drive part 3 of the drive axle 1.
  • certain boundary conditions must also be adhered to, in particular predetermined movement limitations of a movement quantity.
  • the maximum possible positive and negative acceleration a ma x, a m in and a maximum possible positive speed v ma x, possibly also a minimum positive/negative speed and/or a negative maximum speed -v ma x, of the moving drive part 3 as Movement restrictions provided.
  • Such movement limitations can result from physical limitations of the drive axle 1 or from an application of the drive axle 1, but are in any case known.
  • the jerk j (as a time derivative of the acceleration) in both directions, i.e.
  • j ma x is used for both the positive and negative permissible jerk, whereby the value for the positive and negative permissible jerk jmax does not necessarily have to be the same.
  • the change in acceleration between two successive control time steps k, k+1 is therefore limited by the maximum jerk j ma x and cannot be greater than the maximum jerk j ma x.
  • a positive acceleration is understood to be an acceleration that increases the speed of the moving drive part 3 and a negative acceleration is an acceleration that reduces the speed of the moving drive part 3.
  • the invention assumes that there is an arbitrary starting movement phase (ps, vs, as) of the drive axle 1, which is to be converted into a predetermined target movement phase (pz, vz, az) by the drive axle controller 4 with a movement profile 5.
  • the target movement phase (pz, vz, az) cannot be reached by any movement phase that occurs between the start movement phase (ps, vs, as) and the target movement phase (pz, vz, az).
  • a target movement profile 5b is therefore determined, with which it is ensured that the target movement phase (pz, vz, az) starts from an initial movement phase (PA, VA, 3A) between the start movement phase (ps, vs, as) and target movement phase (pz, vz , az) is achieved.
  • the movement profile 5 therefore consists of a starting movement profile 5a, which is followed by the target movement profile 5b.
  • the starting movement profile 5a can be arbitrary and can be assumed to be predetermined. This is shown as an example in Fig.2.
  • the acceleration value a can only change in each control time step k (at predetermined time intervals t a ) of the movement profile 5.
  • the acceleration profile is chosen for motion planning because it allows the jerk j to be easily limited.
  • the change in acceleration between two successive control time steps k, k+1 may not exceed a predetermined maximum jerk j ma x, which means that the jerk limitation is already implemented.
  • the acceleration profile is a discrete time sequence of acceleration values at the control time steps k, where the change in acceleration between two successive control time steps k, k+1 is at most a predetermined maximum jerk j ma x.
  • the movement profile 5 for regulating the movement is determined with an acceleration profile.
  • the acceleration profile results in a speed profile (discrete sequence of speed values in each control time step k) through temporal integration and a position profile (discrete sequence of position values in each control time step k) through double integration.
  • the movement size of the movement profile 5 can therefore be position, speed or acceleration.
  • the acceleration profile is used as the movement profile 5 only for the sake of simplicity.
  • Fig. 2 shows the movement profile 5 with an arbitrary, known starting movement profile 5a (dash-dotted line, with the starting movement phase (ps, vs, as) being indicated) and a target movement profile 5b.
  • the target movement phase (pz, vz, az) is given by a target position pz in which the target speed vz and the target acceleration az should be zero.
  • the target movement profile 5b describes a deceleration of the moving drive part 3 (i.e. negative accelerations), but 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 starting from an initial movement phase (PA, VA, 3A), so that the target movement profile 5b can be started as late as possible.
  • the acceleration changes in the target movement profile 5b should correspond as far as possible to the maximum jerk j ma x.
  • the target movement profile 5b can also correspond to other specifications, for example other movement limitations, acceleration changes only every nth (n>1) control time step k, etc.
  • the initial position PA should be changed to the target position pz
  • the initial speed VA should be changed to the target speed vz
  • the initial acceleration 3A should be changed to the target acceleration az - so when the target movement profile 5b is executed with the drive axis controller 4, the target movement phase (pz, vz , az). Since the starting movement phase (PA, VA, 3A) and also the starting movement profile 5a can be arbitrary and the specified movement limits must be adhered to, the target movement profile 5b must be determined in order to adapt the initial movement phase (PA, VA, 3A) to the target movement phase (pz, vz, az).
  • Fig.2 shows the acceleration profile of the target movement profile 5b.
  • the resulting speed and position curves are known to be the time integrals of the acceleration profile and are not shown in Fig.2.
  • the speed of the moving drive part 3 must 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 change in acceleration may correspond to a maximum of the specified maximum jerk j ma x in order to comply with the jerk limitation.
  • the moving drive part 3 is first to 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 predetermined maximum jerk jmax until the predetermined minimum acceleration a m in is reached.
  • the acceleration cannot be smaller than the minimum acceleration a m in, which means there can be a number of control time steps k in which further deceleration occurs with the minimum acceleration a m in (as in Fig. 2). It may therefore also be the case that the minimum acceleration a m in is not reached at all. This achieves a maximum possible (i.e. shortest possible) deceleration of the moving drive part 3 while maintaining the jerk limitation.
  • the acceleration a is increased or reduced in a plurality of control time steps k, the change in acceleration corresponding at most to the predetermined maximum jerk jmax until the target acceleration az is reached.
  • a triangular step function would result as an acceleration profile.
  • a third acceleration section 7c can arise between the first acceleration section 7a and the second acceleration section 7b, in which the predetermined minimum acceleration a m in or maximum acceleration a ma x is achieved and this is maintained for a number of control time steps k.
  • a trapezoidal step function results as an acceleration profile.
  • the remaining step R2 can be determined analogously.
  • 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.
  • the area under the acceleration profile corresponds to the speed.
  • the area under the acceleration profile corresponds to the change in speed Av from the initial speed VA to the target speed vz, i.e. in the described exemplary embodiment according to FIG. 2 the speed reduction achieved.
  • the area under the acceleration profile must therefore correspond to the change in speed Av so that the specified target speed vz is achieved. This gives you a first criterion for planning the target movement profile 5b to achieve the target speed vz.
  • the area can be influenced primarily by changing the number of control time steps k with minimum acceleration a m in or maximum acceleration a ma x (third acceleration section 7c). The more control time steps k with minimum acceleration a m in or maximum acceleration a ma x, the larger the area becomes and the greater the speed change Av achieved with the target movement profile 5b. If the minimum acceleration a m in is not reached, the area can simply be influenced by the number of steps with the maximum jerkj ma x. The area can also be influenced by choosing the acceleration changes in a number of control time steps k. In principle, the change in acceleration can be freely selected between zero and the specified maximum jerk j ma x.
  • the resulting area under the acceleration profile does not correspond exactly to the desired speed change Av, but that a certain error occurs and the target speed vz is not exactly achieved. This will occur in particular if all acceleration changes occur with the specified maximum jerk j ma x. This error results directly as the difference between the determined area and the desired change in speed Av and can therefore be easily determined.
  • the change in acceleration 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 change in speed Av.
  • the specified movement limits must of course be adhered to, in particular the specified maximum jerk max and the maximum acceleration a m in or maximum acceleration a ma x must not be violated.
  • the determination of this value Aj can be carried out easily because the effects of this value on the area under the acceleration curve can be determined immediately.
  • the first acceleration change after the third acceleration section 7c is not carried out with the maximum jerk jmax, but by a value smaller than the value Aj.
  • the remaining acceleration changes occur again with the maximum jerk jmax. This means that the area under the acceleration profile becomes larger.
  • the maximum jerk jmax is used to determine the target movement profile 5b, then it is ensured that the speed change Av takes place as quickly as possible while maintaining the movement limits, i.e. with as few control time steps k as possible.
  • the target movement profile 5b determined to achieve the speed change Av is also used to determine the target path that is covered when the determined target movement profile 5b is executed, i.e. when the moving drive part 3 is moved with the target movement profile 5b. This gives you a second criterion for planning the movement to reach the target position pz.
  • Determining 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 set by the target movement profile 5b or as a double time integral of the acceleration profile of the target movement profile 5b.
  • 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 movement profile 5b must be initiated so that the desired target position pz corresponds to the target movement profile. profile 5b sets. This allows the time to start the target movement profile 5b to be determined.
  • the difference between the target position pz and the target path will not exactly correspond to a position that the moving drive part 3 assumes in a control time step k when implementing the movement profile 5. This means that the target movement profile 5b will be started either a little too early or too late and the target position pz will not be set exactly. 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, then this error can also be compensated for.
  • the approach is to change the acceleration change by a value Aj in a number of control time steps k in the acceleration profile of the target movement profile 5b.
  • the area under the acceleration profile must not change in order to achieve the target speed vz.
  • the specified movement limits must also be adhered to, in particular the specified maximum jerk j ma x and the minimum acceleration a m in or maximum acceleration a ma x must not be violated. This is shown in an example in Fig.3.
  • the goal is to use the value Aj in the number of control time steps k to achieve the same speed change Av, but with a time change, so that the target position pz is reached exactly and the error is compensated for.
  • the change in speed Av due to the target movement profile 5b is thus either extended or shortened in time, as required.
  • 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.
  • Fig.3 shows an exemplary embodiment for a position correction.
  • the acceleration changes are reduced by the value Aj.
  • the change in acceleration no longer corresponds to the maximum jerk j ma x.
  • the other acceleration changes again occur with the maximum jerk j ma x (but could occur with a smaller acceleration change).
  • the acceleration changes are also reduced by the value Aj in the first control time step k in the second acceleration section 7b in order to compensate for the smaller area. chen.
  • the initial acceleration 3A can assume any value (within predetermined movement limits a ma x, a m in). This is shown as an example in Figure 4. However, this does not change the basic procedure explained above.
  • the target movement profile 5b starts with an initial acceleration 3A>0 and a known initial speed VA, which occurs 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 change in speed Av from the initial speed VA to the target speed vz.
  • the target path can be determined again, which in turn can 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.
  • the target movement profile 5b does not necessarily have to reduce the speed from an initial speed VA to a target speed vz (for example zero), but it could also be provided that the target movement profile 5b increases the speed.
  • the target movement profile 5b could therefore also be defined in the area of positive accelerations.
  • the movement of the drive axle 1 is started from the predetermined start movement phase (ps, vs, as) with a desired or predetermined start movement profile 5a.
  • the starting movement profile 5a supplies a movement setpoint BSk for the drive axis controller 4 in each control time step k.
  • the resulting movement phase is determined in the next control time step k + 1, for example in which the movement is continued with the maximum jerk j max or from which Start movement profile 5a if it is known.
  • the movement phase in the next control time step k+1 is referred to as an initial movement phase (PA, VA, 3A) is used 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 sets the time for starting the target movement profile 5b. Otherwise, the starting movement profile 5a continues. This represents an online determination of the target movement profile 5b.
  • the target movement profile 5b only has to be calculated once for this speed 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).
  • the starting movement profile 5a could also be planned using an acceleration profile in compliance with predetermined movement limitations, whereby the change in acceleration between two successive control time steps k, k+1 is at most a predetermined maximum jerk j ma x, with which the jerk limitation is already implemented. This can be done in such a way that changes in speed or position should be implemented as quickly as possible by the starting movement profile 5a. This means that it can again be provided to change the accelerations in the acceleration profile of the starting movement profile 5a with the predetermined maximum jerk j ma x. For movements with a constant speed, the acceleration would simply be set to zero, although any previously effective acceleration can only be reduced with the specified maximum jerk. A change in acceleration greater than the specified maximum jerkj ma x must be prevented.
  • a significant advantage in determining the movement profile 5, or the target movement profile 5b of the movement profile 5, according to the invention is that no knowledge of the past is required.
  • the memory requirement for determining a jerky limited movement profile 5 is therefore significantly reduced. There are also no dead times like with a jerk filter.
  • a target movement profile 5b can be determined in each control time step k, 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 sets 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.
  • the movement phase in the next control time step k+1 could then be used as the initial movement phase (PA, VA, 3A) in order to determine a target movement profile 5b and the target path based on this. If the specific 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 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.
  • target movement phase (ps, vs, as) can be changed even while the drive axle 1 is moving.
  • a changed target movement phase (ps, vs, 8s) is taken into account immediately and without a time delay (as would be the case with a jerk filter) when determining the target movement profile 5b. This makes it possible to react flexibly to new specifications of the target movement phase (ps, vs, as).
  • the determination of the target movement profile 5b according to the invention also ensures a linear complexity of the calculation. If 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 arises in particular from the fact that the required calculations are reduced to the determination of areas below a step function and no numerical mathematical procedures or optimizations (which are usually solved iteratively) are required.
  • the movement profile 5, in particular the target movement profile 5b and possibly also the start movement profile 5a, is specified by a system control 6.
  • the facilities- Controller 6 is used to control a system 10 in which the drive axle 1 is implemented.
  • the movement profile 5 for the drive axis 1 is created on the system control 6.
  • the system control 6 is a computer with appropriate software for creating the movement profile 5.
  • the drive axis controller 4 can also be integrated in the system control 6.
  • the drive axle 1 can be implemented, for example, in a long stator linear motor (also 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 (in Fig. 5, only some of the magnetic field generating units are shown for the sake of clarity), which create 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 clarity, the excitation magnet arrangement is only shown on the transport unit T 1 in FIG. 5).
  • the magnetic field generated by the magnetic field generation units 12 interacts with the excitation field generated by the excitation magnet arrangement 13 to move the transport unit Tn.
  • a drive axle 1 thus consists of the magnetic field generating units 12 (or a certain number thereof) as a drive unit 2, which act on a transport unit Tn as a moving drive part 3 in order to move it. Due to the movement, other magnetic field generating units 12 always interact with a transport unit Tn.
  • the magnetic field generating units 12 are controlled by a drive axis controller 4 using manipulated variables SS, for example in order to apply a coil voltage to certain magnetic field generating units 12 in order to generate the magnetic field.
  • the movement setpoint variables BS for the drive axis controller 4 come from a movement profile 5, which specifies the movement of the transport unit Tn.
  • 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 carried out individually and independently of one another.
  • the drive axis 1 forms a direction of movement on the stator 11.
  • collision avoidance 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.
  • the purpose of collision avoidance is to prevent an undesirable collision between two transport units Tn or between a transport unit Tn and another part of the system 10, such as a loading device provided on the transport system. workstation, to prevent.
  • Such collision avoidance can be found, for example, in EP 3202 612 A1. In this collision avoidance, it is continuously checked whether a transport unit TN can carry out a standstill maneuver or adjustment maneuver in which the movement is changed with specified kinematics without running the risk of colliding with a transport unit in front or with a stationary part of the system 10.
  • Such a standstill maneuver or adjustment maneuver thus represents a movement profile 5, which can be planned, for example, as above.
  • any target movement phase (pz, vz, az) can be specified.
  • a standstill maneuver or an adjustment maneuver should usually be carried out as quickly as possible, i.e. with the shortest possible target distance. For this reason, minimum accelerations a m in are also defined as a movement limit for such maneuvers in order to be able to decelerate the transport unit Tn as quickly as possible.
  • the inventive determination of the target movement profile 5b without a downstream jerk filter is particularly advantageous for such standstill maneuvers or adjustment maneuvers to avoid collisions.
  • the fact that no dead times (as with a jerk filter) occur when creating the target movement profile 5b makes it possible to reduce a required safety distance between adjacent transport units Tn on the stator 11. This means that transport units Tn can be moved closer together, which increases the throughput of transport units Tn per unit of time, which is particularly helpful in transport applications.
  • transport units Tn also form a transport unit network 14, like the transport units T1, T2 in FIG. 5 indicated by the dashed line.
  • transport unit network 14 it is not a mandatory requirement that the transport units Tn of a transport unit network 14 are directly adjacent, but other transport units can also be moved between them. Even in such a transport unit network 14, it is of course advantageous if the transport units Tn can travel closer together.
  • the transport units Tn in a transport unit network 14 move in a coordinated manner with one another, which means 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.
  • a transport unit Tn in the transport unit network 14 could serve as a master, which has a loading path that the other transport units Tn in the transport unit network 14 follow.
  • two transport units Tn in a transport unit network 14 can be mechanically coupled, as shown for example 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 (for example the Euclidean distance in space) between the coupling points 16 remains the same 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 the same.
  • 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 coordinated movement with the specified movement limits cannot be maintained. For example, the coordinated movement could require that a transport unit Tn of the transport unit network 14 would have to brake with a greater negative acceleration than the minimum acceleration a m in or would have to accelerate with a greater acceleration than the maximum acceleration a ma x in order to maintain the coordinated movement. However, this is not possible due to the specified movement restrictions.
  • transport units Tn of a transport unit network 14 are assigned second acceleration limits in addition to the defined first acceleration limits.
  • the second acceleration limitations are greater in magnitude than the first acceleration limitations, i.e. a negative and/or positive acceleration that is greater in magnitude than the first acceleration. nigation limitations.
  • This means that a transport unit Tn in a transport unit network 14 has the option of using the second acceleration limitations for the movement if necessary in order to maintain the coordinated movement of the transport units Tn within the transport unit network 14.
  • the first acceleration limits and second acceleration limits may be configurable, for example by a user. However, it is also conceivable that these are set by the drive axis controller 4 or the system control 6, for example from knowledge of the application.
  • a transport unit T1 of a transport unit group 14 carries out a braking maneuver with a predetermined maximum deceleration in accordance with the specifications of a movement limitation with first acceleration limitations.
  • Another transport unit T2 of the transport unit network 14 must follow due to the coordinated movement. If this second transport unit were to brake only with the first acceleration limitation, it would no longer have any scope to simultaneously carry out any change in the distance between the two transport units T1, T2.
  • the second transport unit T2 has this option due to the second acceleration limitation, which is greater than the first acceleration limitation.
  • 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.
  • the transport units Tn of the transport unit network 14 are each assigned a first acceleration limit, with which a maximum possible positive and/or negative first acceleration of the movement of the transport units is determined.
  • the transport units Tn of the transport unit network 14 are each assigned a second acceleration limit, with which a maximum possible positive and/or negative second acceleration of the movement of the transport units is determined, the positive and/or negative second acceleration being greater in magnitude than the positive and/or negative first acceleration is.
  • the transport units Tn in the transport unit network 14 use the first acceleration limitation for the movement. If the coordinated movement of the transport units Tn is not possible, at least one transport unit Tn of the transport unit network 14 uses the second acceleration limitation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

Um ein ruckbegrenztes Bewegungsprofil ohne Verwendung eines nachgeschalteten Ruckfilters auf einfache und schnelle Weise zu ermitteln, ist vorgesehen, dass das Bewegungsprofil (5) aus einem Startbewegungsprofil (5a) und einem Zielbewegungsprofil (5b) besteht, wobei das Startbewegungsprofil (5a) an der Startbewegungsphase (pS, vS, aS) startet und in das Zielbewegungsprofil (5b) übergeht, das in einer Anfangsbewegungsphase (pA, vA, aA) startet und in der Zielbewegungsphase (pZ, vZ, aZ) endet, das Zielbewegungsprofil (5b) mit einem Beschleunigungsprofil über eine Mehrzahl von Regelungszeitschritten k ermittelt wird, wobei eine Beschleunigungsänderung in jedem Regelungszeitschritt k maximal einem vorgegebenen maximalen Ruck (jmax) entspricht, sodass das Beschleunigungsprofil des Zielbewegungsprofils (5b) als Treppenfunktion vorliegt, die Treppenfunktion unter Einhaltung der vorgegebenen Bewegungsbegrenzungen erstellt wird, sodass die Fläche unterhalb der Treppenfunktion einer Geschwindigkeitsänderung (Δv) zwischen der Anfangsgeschwindigkeit (vA) der Anfangsbewegungsphase (pA, vA, aA) und der Zielgeschwindigkeit (vZ) der Zielbewegungsphase (pZ, vZ, aZ) entspricht, und mit dem ermittelten Zielbewegungsprofil (5b) ein Zielweg ermittelt wird, der mit dem Zielbewegungsprofil (5b) zurückgelegt wird, und dass anhand des Zielweges ein Zeitpunkt ermittelt wird, an dem das ermittelte Zielbewegungsprofil (5b) gestartet wird, um die Zielposition (pZ) der Zielbewegungsphase (pZ, vZ, aZ) zu erreichen.

Description

Verfahren zum Steuern der Bewegung einer Antriebsachse einer Antriebseinheit
Die gegenständliche Erfindung betrifft ein Verfahren zum Regeln der Bewegung einer Antriebsachse eines Antriebs, wobei die Bewegung der Antriebsachse in vorgegebenen Regelungszeitschritten durch die Vorgabe eines Bewegungssollwertes der Bewegung geregelt wird, wodurch sich in jedem Regelungszeitschritt eine Bewegungsphase der Bewegung der Antriebsachse ergibt, wobei für die Bewegung der Antriebsachse eine Zielbewegungsphase in Form einer Zielposition, Zielgeschwindigkeit und Zielbeschleunigung vorgegeben wird und die Zielbewegungsphase ausgehend von einer Startbewegungsphase in Form einer Startposition, Startgeschwindigkeit und Startbeschleunigung durch ein Bewegungsprofil unter Einhaltung von vorgegebenen Bewegungsbegrenzungen eingestellt wird, und wobei in jedem Regelungszeitschritt der Bewegungssollwert aus dem Bewegungsprofil erhalten wird.
Die Regelung einer Antriebsachse eines Antriebs kommt in unterschiedlichsten Anwendungen vor. Eine Antriebsachse besteht im Wesentlichen aus einer Antriebseinheit, wie ein Elektromotor, die auf einen bewegten Antriebsteil des Antriebs einwirkt, um den bewegten Antriebsteil in gewünschter Weise translatorisch oder rotativ zu bewegen. Eine Antriebsachse bewirkt in der Regel eine Bewegung in einer Richtung. Es können aber natürlich mehrere Antriebsachsen vorgesehen sein, um den bewegten Teil in mehrere Richtungen zu bewegen. Beispiele für Anwendungen, in denen Antriebsachsen vorkommen sind Kräne, Roboter, Fördereinrichtungen, Werkzeugmaschinen, Linearantriebe usw., wobei diese Auflistung natürlich nicht einschränkend ist.
Langstatorlinearmotoren werden oftmals als flexible Fördereinrichtungen in Herstellungs-, Bearbeitungs-, Montageanlagen, und ähnlichen Anlagen, verwendet. Ein Langstatorlinearmotor besteht bekanntermaßen im Wesentlichen aus einem Langstator in Form einer Vielzahl nebeneinander angeordneter Magnetfelderzeugungseinheiten, wie Antriebsspulen oder bewegbarer Magnete, und einer Vielzahl von Transporteinheiten mit Erregungsmagneten (beispielsweise Permanentmagnete, Elektromagnete oder Kurzschlusswicklungen), die entlang des Langstators bewegt werden, indem die Magnetfelderzeugungseinheiten ein bewegtes elektromagnetisches Feld erzeugt, das mit den Erregungsmagneten an den Transporteinheiten zusammenwirkt, um die Transporteinheiten zu bewegen. Beispielsweise können die Antriebsspulen mit einem elektrischen Strom beaufschlagt werden, um ein bewegtes elektromagnetisches Feld zu erzeugen. Durch den Langstator wird somit eine Förderstrecke ausgebildet, entlang der die Transporteinheiten bewegt werden können. Damit ist es möglich jede Transporteinheit einzeln und unabhängig voneinander in ihrer Bewegung (Position, Geschwindigkeit, Beschleunigung) zu regeln. Dazu wird jede Magnetfelderzeugungseinheit durch einen zugeordneten Antriebsregler angesteuert, der Vorgaben zur Bewegung einer Transporteinheit (z.B. in Form von Sollwerten für Position oder Geschwindigkeit) von einer übergeordneten Anlagensteuereinheit erhalten kann.
Ein Langstatorlinearmotor kann mit einer Antriebachse ausgeführt sein oder mit mehreren Antriebsachsen. Im letzten Fall spricht man auch oft von Planarmotoren. Bei einem Planarmotor sind die Magnetfelderzeugungseinheiten in einer Ebene angeordnet, womit eine planare Förderstrecke ausgebildet wird, in der eine Transporteinheit in zwei Richtungen bewegbar sind. Zusätzlich kann die Transporteinheit, zumindest innerhalb gewisser Grenzen, auch noch normal zur planaren Förderstrecke bewegt werden, was eine weitere Antriebsachse darstellt. Solche Langstatorlinearmotor sind hinlänglich bekannt.
Allen Anwendungen einer Antriebsachse ist es gemein, dass die Bewegung der Antriebsachse geregelt ist. Es gibt damit einen Antriebsregler, der die Bewegung des durch die Antriebsachse bewegten Antriebsteils in gewünschter Weise regelt. Für die Antriebsachsenregelung ist ein Bewegungssollwert vorzugeben, dem die Antriebsachse folgen soll.
Oftmals wird für eine Antriebsachse eine Zielbewegungsphase angegeben, die vom bewegten Antriebsteil anzufahren ist, beispielsweise eine bestimmte Zielposition auf einem Langstatorlinearmotor, die vom bewegten Antriebsteil mit einer bestimmten Zielgeschwindigkeit und/oder Zielbeschleunigung erreicht werden soll. Unter einer Bewegungsphase wird der Bewegungszustand des bewegten Antriebsteils der Antriebsachse zu einem bestimmten Zeitpunkt der Bewegung verstanden, also Position, Geschwindigkeit, Beschleunigung. Der Antriebsteil muss daher durch Vorgaben von Bewegungssollwerten so geregelt werden, dass diese Zielbewegungsphase ausgehend von einer Startbewegungsphase erreicht wird. Oftmals wird gefordert, dass eine Zielposition möglichst exakt angefahren wird und der bewegten Antriebsteil in der Zielposition stillsteht, also Geschwindigkeit und Beschleunigung in der Zielposition Null ist.
Die Bewegungssollwerte werden in der Regel in Form eines Bewegungsprofils einer Bewegungsgröße vorgegeben, beispielsweise in Form eines Geschwindigkeitsprofils oder eines Positionsprofils, dem der bewegte Antriebsteil folgen soll, um die Zielbewegungsphase zu erreichen. Aus dem Bewegungsprofil wird dann zu jedem Zeitpunkt der Bewegung der jeweilige zum aktuellen Zeitpunkt der Antriebsregelung vorzugebende Bewegungssollwert ermittelt, beispielsweise ein bestimmter Geschwindigkeitssollwert oder Positionssollwert, der mit dem Antriebsregler im aktuellen Zeitpunkt einzuregeln ist. Aufgrund der Antriebsregelung stellt sich dann zu jedem Zeitpunkt eine aktuelle Bewegungsphase ein.
Für die Erstellung eines Bewegungsprofils werden üblicherweise auch bekannte Bewegungsbeschränkungen berücksichtigt, beispielsweise eine maximale Geschwindigkeit oder eine maximale Beschleunigung. Oftmals werden für die Bewegung einer Antriebsachse als Bewegungsbeschränkung auch Begrenzungen für den Ruck, der als zeitliche Ableitung der Beschleunigung definiert ist, vorgegeben, um die mechanische Belastung auf die Antriebsachse aufgrund von großen Beschleunigungsänderungen zu reduzieren. Hierzu werden häufig sogenannte Ruckfilter verwendet, die die Beschleunigungsänderung (also den Ruck) limitieren. Solche Ruckfilter sind häufig als Tiefpassfilter oder als Mittelwertfilter ausgeführt. Dabei wird ein Bewegungsprofil, beispielsweise ein Positionsprofil oder ein Geschwindigkeitsprofil, erstellt, das dann im Ruckfilter angepasst wird, um die Ruckbegrenzung zu erreichen. Solche Ruckfilter benötigen allerdings viel Speicherplatz, weil für die Mittelwertbildung viele Werte vergangener Bewegungssollwerte gespeichert werden müssen. Abgesehen davon ist ein Ruckfilter immer auch von der Vergangenheit abhängig, weil ein Ruckfilter auch vergangene Werte verarbeitet. Daraus resultiert auch eine Totzeit eines Ruckfilters, weil zuerst ausreichend vergangene Werte vorhanden sein müssen, bevor der Ruckfilter ordnungsgemäß arbeitet. Daraus folgt auch, dass ein Bewegungsprofil nicht einfach umschaltbar ist, beispielsweise durch die Vorgabe einer neuen Zielbewegungsphase.
Es wäre natürlich auch möglich, Bewegungsprofile zu generieren, die von Haus aus ruckbegrenzt sind. Die Generierung solcher Bewegungsprofile ist aber sehr rechenintensiv. Insbesondere bei Anwendungen wie eine Fördereinrichtung in Form eines Langstatorlinearmotors, bei dem es eine Vielzahl von zu bewegenden Transporteinheiten gibt, stößt man damit rasch an die Grenzen der verfügbaren Rechenleistung. Daher werden in vielen Anwendungen nur einfache beschleunigungsbegrenzte Bewegungsprofile für eine Antriebsachse erzeugt, die nachträglich in einem Ruckfilter ruckbegrenzt werden.
Zudem besteht in der Praxis das Problem, dass eine Antriebsachsenregelung diskret ausgeführt ist, also in gewissen, vorgegebenen Regelungszeitschritten eine neuer Bewegungssollwert vorgegeben wird, aus dem der Antriebsachsenregler in jedem Regelungszeitschritt eine Stellgröße für die Antriebseinheit der Antriebsachse berechnet, mit der die Antriebseinheit angesteuert wird, um den aktuellen Bewegungssollwert einzustellen. Dabei werden natürlich auch Istwerte der Bewegung erfasst und dem Antriebsachsenregler zugeführt, beispielsweise Istpositionen. Auch die Istwerte werden üblicherweise in jedem Regelungszeitschritt erfasst. Eine Stellgröße ist beispielsweise ein elektrischer Strom oder eine elektrische Spannung, die an Antriebsspulen eines Langstatorlinearmotors einzustellen sind, oder ein elektrischer Strom eines Elektromotors. Daraus ist ersichtlich, dass sich der Bewegungssollwert nur an den diskreten, durch den Regelungszeitschritt vorgegebenen Zeitpunkten ändern kann. Ist der Bewegungssollwert beispielsweise eine Geschwindigkeit würde das zu einer Treppenfunktion des Geschwindigkeitsprofils mit Geschwindigkeitssprüngen führen. Diese Geschwindigkeitssprünge verursachen große Sprungstellen in der Beschleunigung und damit einen großen Ruck. Damit wird es wiederum notwendig, ein Ruckfilter einzusetzen, um diese Sprungstellen zu beseitigen, was allerdings wieder mit den obigen Nachteilen verbunden ist.
Es wäre daher vorteilhaft, den Bewegungssollwert in einer diskreten Antriebsregelung einer Antriebsachse so vorzugeben, sodass der Ruck begrenzt wird und die Verwendung eines Ruckfilters obsolet ist, wobei das ruckbegrenzte Bewegungsprofil möglichst einfach zu erstellen ist.
Diese Aufgabe wird dadurch gelöst, dass das Bewegungsprofil aus einem Startbewegungsprofil und einem Zielbewegungsprofil besteht, wobei das Startbewegungsprofil an der Startbewegungsphase startet und in das Zielbewegungsprofil übergeht, das in einer Anfangsbewegungsphase startet und in der Zielbewegungsphase endet. Das Startbewegungsprofil ist hierbei beliebig und kann als bekannt oder vorgegeben vorausgesetzt werden. Das Zielbewegungsprofil wird mit einem Beschleunigungsprofil über eine Mehrzahl von Regelungszeitschritten ermittelt, wobei eine Beschleunigungsänderung in jedem Regelungszeitschritt maximal einem vorgegebenen maximalen Ruck entspricht, sodass das Beschleunigungsprofil des Zielbewegungsprofils als Treppenfunktion vorliegt, in der das Beschleunigungsprofil eine zeitlich diskrete Abfolge von Beschleunigungswerten an den Regelungszeitschritten k ist. Die mögliche Beschleunigungsänderung liegt damit zwischen Null und dem vorgegebenen maximalen Ruck. Die Treppenfunktion wird unter Einhaltung der vorgegebenen Bewegungsbegrenzungen erstellt, sodass die Fläche unterhalb der Treppenfunktion einer Geschwindigkeitsänderung zwischen der Anfangsgeschwindigkeit der Anfangsbewegungsphase und der Zielgeschwindigkeit der Zielbewegungsphase entspricht. Mit dem ermittelten Zielbewegungsprofil wird ein Zielweg ermittelt wird, der mit dem Zielbewegungsprofil zurückgelegt wird, und dass anhand des Zielweges ein Zeitpunkt (ein bestimmter Regelungszeitschritt) ermittelt wird, an dem das ermittelte Zielbewegungsprofil gestartet wird, um die Zielposition der Zielbewegungsphase zu erreichen.
Damit kann ein ruckbegrenztes Zielbewegungsprofil eines Bewegungsprofils auf einfache Weise rein analytisch erstellt werden. Das Zielbewegungsprofil stellt unter Einhaltung der Ruckbegrenzung das Erreichen einer Zielbewegungsphase aus einer Anfangsbewegungsphase sicher.
Vorteilhaft wird das Zielbewegungsprofil erstellt, indem die Beschleunigung ausgehend von der Anfangsbeschleunigung in einem ersten Beschleunigungsabschnitt in einer Mehrzahl von Regelungszeitschritten um maximal dem vorgegebenen maximalen Ruck reduziert oder erhöht wird und dann die Beschleunigung in einem zweiten Beschleunigungsabschnitt in einer Mehrzahl von Regelungszeitschritt um maximal dem vorgegebenen maximalen Ruck erhöht oder reduziert wird, bis die Zielbeschleunigung erreicht wird. Alternativ, indem die Beschleunigung ausgehend von der Anfangsbeschleunigung in einem ersten Beschleunigungsabschnitt in einer Mehrzahl von Regelungszeitschritten um maximal dem vorgegebenen maximalen Ruck reduziert oder erhöht wird, bis eine vorgegebene minimale Beschleunigung oder maximale Beschleunigung erreicht wird, dann die Beschleunigung in einem dritten Beschleunigungsabschnitt für eine Anzahl von Regelungszeitschritten auf der minimalen Beschleunigung oder maximalen Beschleunigung gehalten wird und dann die Beschleunigung in einem zweiten Beschleunigungsabschnitt in einer Mehrzahl von Regelungszeitschritt um maximal dem vorgegebenen maximalen Ruck erhöht oder reduziert wird, bis die Zielbeschleunigung erreicht wird. Das stellt eine einfache Ausführung eines Zielbewegungsprofils sicher, das einfach erstellt werden kann.
Wenn eine Beschleunigungsänderung in einem Regelungszeitschritt des Zielbewegungsprofils einem vorgegebenen maximalen Ruck entspricht, wenn die vorgegebenen Bewegungsbegrenzungen das zulassen, sodass die Fläche unterhalb der Treppenfunktion bis auf einen Restfehler der Geschwindigkeitsänderung zwischen der Anfangsgeschwindigkeit der Anfangsbewegungsphase und der Zielgeschwindigkeit der Zielbewegungsphase entspricht, und die Beschleunigungsänderung in zumindest einem Regelungszeitschritt des Zielbewegungsprofils um einen Wert des Rucks verändert wird, wobei der Wert des Rucks ermittelt wird, um den sich aus der Treppenfunktion ergebende Restfehler zwischen der Fläche unterhalb der Treppenfunktion und der Geschwindigkeitsänderung auszugleichen, wird einerseits ein schnellstmögliches Anfahren der Zielbewegungsphase mit einer ruckbegrenzten Bewegung erreicht. Gleichzeitig wird die Zielgeschwindigkeit exakt angefahren.
Für die Genauigkeit ist es vorteilhaft, wenn ein sich aus der Treppenfunktion ergebender Positionsfehler zwischen der Zielposition und einer sich aus dem Zielbewegungsprofils ergebenden Position ausgeglichen wird, indem im Beschleunigungsprofil die Beschleunigungsänderung an einer Mehrzahl von Regelungszeitschritten verändert wird, um den Zielweg um den Positionsfehler zu verlängern oder zu verkürzen, wobei die Fläche unterhalb des Beschleunigungsprofils unverändert bleibt.
Die gegenständliche Erfindung wird nachfolgend unter Bezugnahme auf die Figuren 1 bis 6 näher erläutert, die beispielhaft, schematisch und nicht einschränkend vorteilhafte Ausgestaltungen der Erfindung zeigen. Dabei zeigt
Fig.1 eine Antriebsachse mit einem Antriebsachsenregler,
Fig.2 ein ruckbegrenztes Zielbewegungsprofil,
Fig.3 ein ruckbegrenztes Zielbewegungsprofil Ausgleich eines Positionsfehlers, Fig.4 ein ruckbegrenztes Zielbewegungsprofil mit einer Anfangsbeschleunigung un- gleich Null,
Fig.5 eine Antriebsachse in Form eines Langstatorlinearmotors und
Fig.6 einen Transporteinheitenverbund mit gekoppelten Transporteinheiten.
Fig.1 zeigt eine Antriebsachse 1 mit einer Antriebseinheit 2, die auf einen bewegten Antriebsteil 3 einwirkt, um diesen zu bewegen. Am bewegten Antriebsteil 3 stellt sich damit eine Bewegungsphase (p, v, a) ein, wobei p für die Position, v für die Geschwindigkeit und a für die Beschleunigung steht. Die Position kann ein Winkel oder eine Wegstrecke sein. Folglich kann die Geschwindigkeit eine Winkelgeschwindigkeit oder Lineargeschwindigkeit sein und die Beschleunigung eine Winkelbeschleunigung oder Linearbeschleunigung. Die Bewegungsphase (p, v, a) soll durch einen Antriebsachsenregler 4 geregelt werden. Der Antriebsachsenregler 4 ermittelt eine Stellgröße SS, mit dem die Antriebseinheit 2 angesteuert wird, um einen vorgegebenen Bewegungssollwert BS, beispielsweise eine Zielposition des bewegten Antriebsteils 3, einzustellen. Der Antriebsachsenregler 4 verarbeitet üblicherweise auch einen Bewegungsistwert IS, beispielsweise eine Istposition, der in der Antriebsachse 1 erfasst wird, beispielsweise anhand eines Messsensors. Dieser allgemeine Aufbau einer Antriebsachse 1 ist hinlänglich bekannt und muss nicht näher ausgeführt werden.
Es ist auch denkbar, dass der bewegte Antriebsteil 3 Teil mehrerer Antriebsachsen 1 ist und dieser daher in verschiedene Richtungen bewegt werden kann, beispielswiese eine Transporteinheit bei einem Planarmotor. Der Antriebsachsenregler 4 kann dann die Bewegung mehrerer Antriebsachsen 1 regeln, oder es kann je ein Antriebsachsenregler 4 für jede Bewegung vorgesehen sein.
In jedem Regelungszeitschritt k, wobei zwischen zwei aufeinanderfolgenden Regelungszeitschritten k, k+1 ein vorgegebener Zeitabstand ta vorgesehen ist, wird ein Bewegungssollwert BSj vorgegeben, und gegebenenfalls ein Bewegungsistwert IS; erfasst, aus dem der Antriebsachsenregler 4 eine Stellgröße SS; ermittelt. Die Antriebseinheit 2 wird mit dieser Stellgröße SS; angesteuert und wirkt damit auf den bewegten Antriebsteil 3 ein, sodass sich ein neuer Bewegungsistwert ISj+i einstellt. Das wird zyklisch wiederholt, bis die Zielbewegungsphase erreicht ist.
Der Zeitabstand ta ist typischerweise im 100 ps Bereich bis 100 ms Bereich, üblicherweise im Millisekundenbereich.
Der Antriebsachsenregler 4 ist üblicherweise eine mikroprozessorbasierte Hardware, auf der Regelungssoftware ausgeführt wird. Der Antriebsachsenregler 4 kann aber auch als Field Programmable Gate Array (FPGA) oder anwendungsspezifische integrierte Schaltung (ASIC) implementiert sein. Der Bewegungssollwert BSj zu jedem Regelungszeitschritt k wird von einem Bewegungsprofil 5 einer Bewegungsgröße der Bewegungsphase, beispielsweise Position, Geschwindigkeit oder Beschleunigung, zur Verfügung gestellt. Das Bewegungsprofil 5 ist im Wesentlichen eine Abfolge von Werten der Bewegungsgröße zu jeden Regelungszeitschritt k. Das Bewegungsprofil 5 ist beispielsweise ein Positionsprofil mit der Position als Bewegungsgröße oder Geschwindigkeitsprofil mit der Geschwindigkeit als Bewegungsgröße. Das Bewegungsprofil 5 dient dazu, eine vorgegebene Startbewegungsphase (ps, vs, as) des bewegten Antriebsteils 3 durch eine bestimmte Bewegung in eine gewünschte Zielbewegungsphase (pz, vz, az) überzuführen. Zu jeden Regelungszeitschritt während dieser Bewegung stellt sich damit eine Bewegungsphase (Position, Geschwindigkeit, Beschleunigung) des bewegten Antriebsteils 3 ein. Häufig ist die Zielgeschwindigkeit vz und die Zielbeschleunigung az gleich Null, womit eine bestimmte Zielposition pz angefahren wird, an der der bewegte Antriebsteil 3 stillstehen soll. Selbstverständlich ist es aber auch möglich eine Zielgeschwindigkeit vz und/oder Zielbeschleunigung az ungleich Null vorzusehen. Das Bewegungsprofil 5 muss für die Regelung der Bewegung der Antriebsachse 1 , konkret des bewegten Antriebsteils 3 der Antriebsachse 1 , bekannt sein.
Bei der Planung des Bewegungsprofils 5 sind auch noch gewissen Randbedingungen einzuhalten, insbesondere vorgegebene Bewegungsbegrenzungen einer Bewegungsgröße. Typischerweise sind maximal mögliche positive und negative Beschleunigung amax, amin und eine maximal mögliche positive Geschwindigkeit vmax, möglicherweise auch eine minimale positive / negative Geschwindigkeit und/oder eine negative maximale Geschwindigkeit -vmax, des bewegten Antriebsteils 3 als Bewegungsbegrenzung vorgesehen. Solche Bewegungsbegrenzungen können sich aus physikalischen Einschränkungen der Antriebsachse 1 oder auch aus einer Anwendung der Antriebsachse 1 ergeben, sind aber jedenfalls bekannt. Um auf ein nachgeschaltetes Ruckfilter verzichten zu können, wird als weitere Bewegungsbegrenzung jedenfalls auch der Ruck j (als zeitliche Ableitung der Beschleunigung) in beide Richtungen, also für positive und negative Beschleunigungen, begrenzt durch einen vorgegebenen maximalen Ruck ±jmax. Es sei angemerkt, dass sowohl für den positiven, als auch den negativen zulässigen Ruck jmax verwendet wird, wobei der Wert für den positiven und negativen zulässigen Ruck jmax nicht zwingend gleich sei muss. Die Beschleunigungsänderung zwischen zwei aufeinanderfolgenden Regelungszeitschritten k, k+1 ist damit durch den maximalen Ruck jmax begrenzt und kann nicht größer als der maximale Ruck jmax werden.
Unter einer positiven Beschleunigung wird eine Beschleunigung verstanden, die die Geschwindigkeit des bewegten Antriebsteils 3 erhöht und unter negativer Beschleunigung eine Beschleunigung, die die Geschwindigkeit des bewegten Antriebsteils 3 verkleinert. Bei einem Vorzeichenwechsel der Geschwindigkeit (wenn also die Richtung der Bewegung geändert wird) dreht sich das natürlich um.
Die Erfindung geht davon aus, dass eine beliebige Startbewegungsphase (ps, vs, as) der Antriebsachse 1 vorliegt, die mit einem Bewegungsprofil 5 durch den Antriebsachsenregler 4 in eine vorgegebene Zielbewegungsphase (pz, vz, az) überführt werden soll.
Aufgrund der Bewegungsbegrenzungen kann aber die Zielbewegungsphase (pz, vz, az) nicht von jeder beliebigen sich zwischen der Startbewegungsphase (ps, vs, as) und Zielbewegungsphase (pz, vz, az) einstellenden Bewegungsphase erreicht werden. Es wird daher ein Zielbewegungsprofil 5b ermittelt, mit dem sichergestellt wird, dass die Zielbewegungsphase (pz, vz, az) ausgehend von einer Anfangsbewegungsphase (PA, VA, 3A) zwischen der Startbewegungsphase (ps, vs, as) und Zielbewegungsphase (pz, vz, az) erreicht wird. Das Bewegungsprofil 5 besteht damit aus einem Startbewegungsprofil 5a, an das das Zielbewegungsprofil 5b anschließt. Das Startbewegungsprofil 5a kann beliebig sein und kann als vorgegeben angenommen werden. Das ist in Fig.2 beispielhaft dargestellt.
Aufgrund der diskreten Implementierung, kann sich der Beschleunigungswert a nur in jedem Regelungszeitschritt k (in vorgegebenen Zeitabständen ta) des Bewegungsprofils 5 ändern. Das Beschleunigungsprofil wird für die Bewegungsplanung gewählt, weil damit der Ruck j auf einfache Weise beschränkt werden kann. Die Beschleunigungsänderung zwischen zwei aufeinanderfolgenden Regelungszeitschritten k, k+1 darf höchstens einen vorgegebenen maximalen Ruck jmax betragen, womit die Ruckbegrenzung bereits implementiert ist. Es ergibt sich damit für das Beschleunigungsprofil eine Treppenfunktion mit Beschleunigungswerten an jedem Regelungszeitschritt k. Das Beschleunigungsprofil ist eine zeitliche diskrete Abfolge von Beschleunigungswerten an den Regelungszeitschritten k, wobei die Beschleunigungsänderung zwischen zwei aufeinanderfolgenden Regelungszeitschritten k, k+1 höchstens einen vorgegebenen maximalen Ruck jmax beträgt.
Zum Verständnis sei klargestellt, dass das Bewegungsprofil 5 für die Regelung der Bewegung mit einem Beschleunigungsprofil ermittelt wird. Aus dem Beschleunigungsprofil ergibt sich durch zeitliche Integration ein Geschwindigkeitsprofil (diskrete Abfolge von Geschwindigkeitswerten in jedem Regelungszeitschritt k) und durch zweifache Integration ein Positionsprofil (diskrete Abfolge von Positionswerten in jedem Regelungszeitschritt k). Die Bewegungsgröße des Bewegungsprofils 5 kann damit Position, Geschwindigkeit oder Beschleunigung sein. IM beschriebene Ausführungsbeispiel wird nur der Einfachheit halber das Beschleunigungsprofil als Bewegungsprofil 5 verwendet. Fig.2 zeigt das Bewegungsprofil 5 mit einem beliebigen, bekannten Startbewegungsprofil 5a (strichpunktiert, wobei die Startbewegungsphase (ps, vs, as) angedeutet ist) und einem Zielbewegungsprofil 5b. Die Zielbewegungsphase (pz, vz, az) ist in diesem Ausführungsbeispiel gegeben durch eine Zielposition pz, in der die Zielgeschwindigkeit vz und die Zielbeschleunigung az Null sein sollen. Das Zielbewegungsprofil 5b beschreibt in diesem Beispiel eine Verzögerung des bewegten Antriebsteils 3 (also negative Beschleunigungen), wobei das Zielbewegungsprofil 5b aber ebenso positive Beschleunigungen umfassen kann. Das Zielbewegungsprofil 5b ist vorzugsweise ausgeführt, um die Zielbewegungsphase (pz, vz, az) ausgehend von einer Anfangsbewegungsphase (PA, VA, 3A) schnellstmöglich zu erreichen, sodass das Zielbewegungsprofil 5b damit spätestmöglich gestartet werden kann. Das bedingt beispielsweise, dass die Beschleunigungsänderungen im Zielbewegungsprofil 5b möglichst dem maximalen Ruck jmax entsprechen sollen. Das Zielbewegungsprofil 5b kann aber auch anderen Vorgaben entsprechen, beispielsweise andere Bewegungsbegrenzungen, Beschleunigungsänderung nur jeden n-ten (n>1) Regelungszeitschritt k usw.
Mit dem Zielbewegungsprofil 5b soll die Anfangsposition PA auf die Zielposition pz, die Anfangsgeschwindigkeit VA auf die Zielgeschwindigkeit vz und die Anfangsbeschleunigung 3A auf die Zielbeschleunigung az geändert werden - es soll sich also bei Ausführung des Zielbewegungsprofil 5b mit dem Antriebsachsenregler 4 die Zielbewegungsphase (pz, vz, az) einstellen. Nachdem die Startbewegungsphase (PA, VA, 3A) und auch das Startbewegungsprofil 5a aber beliebig sein kann und die vorgegebenen Bewegungsbegrenzungen eingehalten werden müssen, muss das Zielbewegungsprofil 5b ermittelt werden, um die Anfangsbewegungsphase (PA, VA, 3A) auf die Zielbewegungsphase (pz, vz, az) überzuführen.
Für die Erläuterung der Ermittlung des Zielbewegungsprofils 5b wird zur Vereinfachung davon ausgegangen, dass vor dem Zielbewegungsprofil 5b der bewegte Antriebsteil 3 mit einer konstanten positiven Anfangsgeschwindigkeit VA ungleich Null bewegt wird, die Anfangsbeschleunigung SA somit gleich Null ist.
Fig.2 zeigt das Beschleunigungsprofil des Zielbewegungsprofils 5b. Die sich daraus ergebenden Geschwindigkeits- und Positionsverläufe ergeben sich bekannterweise als die zeitlichen Integrale des Beschleunigungsprofils und sind in Fig.2 nicht dargestellt.
Im beschriebenen Ausführungsbeispiel ist die aktuelle, bekannte Anfangsgeschwindigkeit VA auf die Zielgeschwindigkeit vz=0 zu reduzieren und gleichzeitig die Zielposition pz zu erreichen. Damit ist die Geschwindigkeit des bewegten Antriebsteils 3 durch Beschleunigungsvorgaben in einer Anzahl von Regelungszeitschritten k auf die Zielgeschwindigkeit vz zu verändern, wobei in jedem Regelungszeitschritt k die Beschleunigungsänderung maximal dem vorgegebene maximalen Ruck jmax entsprechen darf, um die Ruckbegrenzung einzuhalten. Im gezeigten Ausführungsbeispiel ist der bewegte Antriebsteil 3 zuerst zu verzögern, was in einer Anzahl von Regelungszeitschritten k erfolgt. Dabei nimmt die Beschleunigung a in jedem Regelungszeitschritt k ab, wobei die Beschleunigungsänderung in jedem Regelungszeitschritt k maximal dem vorgegebenen maximalen Ruck jmax entspricht, bis die vorgegebene minimale Beschleunigung amin erreicht wird.
Ab einem gewissen Zeitpunkt (Regelungszeitschritt k) muss die Beschleunigung wieder erhöht werden, um die Zielbeschleunigung az=0 wieder in einer Anzahl von Regelungszeitschritten k unter Berücksichtigung der Ruckbegrenzung zu erreichen. Die Beschleunigung kann nicht kleiner als die minimale Beschleunigung amin werden, womit es eine Anzahl von Regelungszeitschritten k geben kann, in denen mit der minimalen Beschleunigung amin weiter verzögert wird (wie in Fig.2). Es kann damit auch sein, dass die minimale Beschleunigung amin gar nicht erreicht wird. Damit wird eine maximal mögliche (also zeitlich kürzest mögliche) Verzögerung des bewegten Antriebsteils 3 unter Einhaltung der Ruckbegrenzung erzielt.
Allgemein bedeutet das, dass im Beschleunigungsprofil des Zielbewegungsprofils 5b die Beschleunigung a ausgehend von der Anfangsbeschleunigung 3A in einem ersten Beschleunigungsabschnitt 7a in einer Mehrzahl von Regelungszeitschritten k reduziert oder erhöht wird, wobei die Beschleunigungsänderung maximal dem vorgegebenen maximalen Ruckjmax entspricht. In einem folgenden zweiten Beschleunigungsabschnitt 7b wird die Beschleunigung a in einer Mehrzahl von Regelungszeitschritten k erhöht oder reduziert, wobei die Beschleunigungsänderung maximal dem vorgegebenen maximalen Ruck jmax entspricht, bis die Zielbeschleunigung az erreicht wird. In diesem Fall würde sich eine dreiecksförmige Treppenfunktion als Beschleunigungsprofil ergeben. Es kann sich aber zwischen dem ersten Beschleunigungsabschnitt 7a und dem zweiten Beschleunigungsabschnitt 7b ein dritter Beschleunigungsabschnitt 7c ergeben, in dem die vorgegebene minimale Beschleunigung amin oder maximale Beschleunigung amax erreicht wird und diese für eine Anzahl von Regelungszeitschritten k gehalten wird. In diesem Fall ergibt sich eine trapezförmige Treppenfunktion als Beschleunigungsprofil.
Aufgrund der Beschleunigungsbegrenzung amin, amax an den Regelungszeitschritten k und dem vorgegebenen maximalen Ruck jmax kann es natürlich sein, dass Restschritte R1 , R2 in der Treppenfunktion des Beschleunigungsprofils nicht mit der maximal möglichen Beschleunigungsänderung (maximaler Ruck jmax) umzusetzen sind, wie in Fig.2 dargestellt. Diese Restschritte R1 , R2 sind aber einfach zu ermitteln.
Beispielsweise ist die Anzahl i der Regelungszeitschritte k, um von der Anfangsbeschleunigung SA unter Anwendung des vorgegebenen maximalen Rucks jmax auf die vorgegebene minimale Beschleunigung amin zu kommen, gegeben durch i = Daraus folgt der
Figure imgf000013_0001
\Cl Restschritt R1 zu / ! = 1 mm | . Der Restschritt R2 kann analog ermittelt werden.
Figure imgf000013_0002
Die Anzahl i der Regelungszeitschritte k im ersten Beschleunigungsabschnitt 7a und im zweiten Beschleunigungsabschnitt 7b lassen sich damit einfach ermitteln.
Bekanntermaßen entspricht die Fläche unter dem Beschleunigungsprofil der Geschwindigkeit. Für das Zielbewegungsprofil 5b entspricht die Fläche unter dem Beschleunigungsprofil der Geschwindigkeitsänderung Av von der Anfangsgeschwindigkeit VA auf die Zielgeschwindigkeit vz, im beschriebenen Ausführungsbeispiel nach Fig. 2 also der erzielten Geschwindigkeitsreduktion. Die Fläche unter dem Beschleunigungsprofil muss daher der Geschwindigkeitsänderung Av entsprechen, damit die vorgegebene Zielgeschwindigkeit vz erreicht wird. Damit hat man ein erstes Kriterium für die Planung des Zielbewegungsprofils 5b zum Erreichen der Zielgeschwindigkeit vz.
Die Berechnung der Fläche unter der Treppenfunktion des Beschleunigungsprofils ist trivial. Die Fläche kann in erster Linie dadurch beeinflusst werden, indem die Anzahl der Regelungszeitschritte k mit minimaler Beschleunigung amin oder maximale Beschleunigung amax (dritter Beschleunigungsabschnitt 7c) verändert wird. Je mehr Regelungszeitschritte k mit minimaler Beschleunigung amin oder maximale Beschleunigung amax, umso größer wird die Fläche und umso größer wird damit die mit dem Zielbewegungsprofil 5b erzielte Geschwindigkeitsänderung Av. Falls die minimale Beschleunigung amin nicht erreicht wird, kann die Fläche einfach durch die Anzahl der Treppenstufen mit dem maximalen Ruckjmax beeinflusst werden. Die Fläche kann auch durch Wahl der Beschleunigungsänderungen in einer Anzahl von Regelungszeitschritten k beeinflusst werden. Grundsätzlich kann die Beschleunigungsänderung frei zwischen Null und dem vorgegebenen maximalen Ruck jmax gewählt werden.
Aufgrund der Diskretisierung der Beschleunigung a zu den Regelungszeitschritten k, kann es aber sein, dass die sich ergebende Fläche unter dem Beschleunigungsprofil nicht exakt der gewünschten Geschwindigkeitsänderung Av entspricht, sondern dass sich daraus ein gewisser Fehler einstellt und die Zielgeschwindigkeit vz nicht exakt erreicht wird. Das wird insbesondere dann auftreten, wenn alle Beschleunigungsänderungen mit dem vorgegebenen maximalen Ruck jmax erfolgen. Dieser Fehler ergibt sich unmittelbar als Differenz der ermittelten Fläche zur gewünschten Geschwindigkeitsänderung Av und kann somit einfach ermittelt werden. Um diesen Fehler auszugleichen wird in zumindest einem Regelungszeitschritt k des Zielbewegungsprofils 5b die Beschleunigungsänderung um einen Wert Aj verändert, sodass die Fläche unter dem Beschleunigungsprofil der gewünschten Geschwindigkeitsänderung Av entspricht. Dabei sind die vorgegebenen Bewegungsbegrenzungen natürlich einzuhalten, insbesondere darf der vorgegebene maximale Ruckjmax und die maximale Beschleunigung amin oder maximale Beschleunigung amax nicht verletzt werden. Die Ermittlung dieses Wertes Aj kann einfach durchgeführt werden, weil die Auswirkungen dieses Wertes auf die Fläche unter der Beschleunigungskurve unmittelbar feststellbar sind.
In Fig.2 wird beispielsweise die erste Beschleunigungsänderung nach dem dritten Beschleunigungsabschnitt 7c nicht mit dem maximalen Ruck jmax durchgeführt, sondern um einen um den Wert Aj kleineren Wert. Die restlichen Beschleunigungsänderung erfolgen in diesem Ausführungsbeispiel wieder mit dem maximalen Ruck jmax. Damit wird die Fläche unter dem Beschleunigungsprofil größer.
Damit kann das Zielbewegungsprofil 5b ermittelt werden, um die gewünschte Geschwindigkeitsänderung Av von der Anfangsgeschwindigkeit VA auf die Zielgeschwindigkeit vz zu erzielen.
Wird für die Ermittlung des Zielbewegungsprofil 5b der maximale Ruck jmax verwendet, dann ist sichergestellt, dass die Geschwindigkeitsänderung Av unter Einhaltung der Bewegungsbegrenzungen schnellstmöglich, also mit so wenig Regelungszeitschritten k wie möglich, erfolgt.
Es ist aber nicht nur die Zielgeschwindigkeit vz zu erreichen, sondern auch die Zielposition pz. Damit stellt sich die Frage, wann mit dem Zielbewegungsprofil 5b, beispielsweise wie in Fig.2, begonnen werden muss, sodass am Ende des Zielbewegungsprofils 5b die Zielposition pz eingestellt ist. Hierfür wird mit dem für das Erreichen der Geschwindigkeitsänderung Av ermittelten Zielbewegungsprofil 5b zusätzlich der Zielweg ermittelt, der bei Ausführung des ermittelten Zielbewegungsprofils 5b zurückgelegt wird, wenn also der bewegten Antriebsteil 3 mit dem Zielbewegungsprofil 5b bewegt wird. Damit hat man ein zweites Kriterium für die Planung der Bewegung zum Erreichen der Zielposition pz.
Auch die Ermittlung des mit dem zuvor bestimmten Zielbewegungsprofil 5b zurückgelegten Zielweges ist trivial, weil sich der Zielweg als zeitliches Integral des sich durch das Zielbewegungsprofil 5b einstellenden Geschwindigkeitsprofils oder als zweifaches zeitliches Integral des Beschleunigungsprofils des Zielbewegungsprofils 5b ergibt.
Es ist also die aktuelle Position des bewegten Antriebsteils 3 zu prüfen. Entspricht die aktuelle Position der Differenz aus Zielposition pz und Zielweg, dann muss das Zielbewegungsprofil 5b eingeleitet werden, damit sich die gewünschte Zielposition pz mit dem Zielbewegungs- profil 5b einstellt. Damit kann der Zeitpunkt zum Starten des Zielbewegungsprofil 5b festgelegt werden.
Auch hier ist aufgrund der Diskretisierung mit Fehlern zu rechnen. Insbesondere wird die Differenz aus Zielposition pz und Zielweg nicht exakt einer Position entsprechen, die der bewegte Antriebsteil 3 in einem Regelungszeitschritt k bei der Umsetzung des Bewegungsprofils 5 einnimmt. Damit wird das Zielbewegungsprofil 5b entweder etwas zu früh oder zu spät gestartet werden und die Zielposition pz wird sich nicht exakt einstellen. Wenn die Anforderungen an die Zielposition pz nicht zu hoch sind kann dieser Fehler akzeptiert werden. Wenn die Zielposition pz aber möglichst exakt angefahren werden soll, dann kann auch dieser Fehler ausgeglichen werden.
Auch hier besteht der Ansatz wiederum darin, in einer Anzahl von Regelungszeitschritten k im Beschleunigungsprofil des Zielbewegungsprofils 5b die Beschleunigungsänderung um einen Wert Aj zu verändern. Hierbei darf sich aber die Fläche unter dem Beschleunigungsprofil nicht verändern, um die Zielgeschwindigkeit vz zu erreichen. Dabei sind natürlich auch wiederum die vorgegebenen Bewegungsbegrenzungen einzuhalten, insbesondere darf der vorgegebene maximale Ruck jmax und die minimale Beschleunigung amin oder maximale Beschleunigung amax nicht verletzt werden. Das ist in Fig.3 an einem Beispiel dargestellt. Das Ziel ist es, durch den Wert Aj an der Anzahl der Regelungszeitschritte k die gleiche Geschwindigkeitsänderung Av zu erzielen, allerdings zeitverändert, sodass die Zielposition pz exakt erreicht wird und der Fehler ausgeglichen wird. Die Geschwindigkeitsänderung Av durch das Zielbewegungsprofil 5b wird damit, je nach Bedarf, entweder zeitlich verlängert oder zeitlich verkürzt.
Die Ermittlung dieses Wertes Aj kann einfach durchgeführt werden, weil die Auswirkungen dieses Wertes auf die Fläche unter der Beschleunigungskurve und auf den damit entstehende Zielweg unmittelbar feststellbar sind.
Fig.3 zeigt ein Ausführungsbeispiel für eine Positionskorrektur. In diesem Ausführungsbeispiel im ersten Regelungszeitschritt k im ersten Beschleunigungsabschnitt 7a die Beschleunigungsänderungen um den Wert Aj verkleinert. Die Beschleunigungsänderung entspricht damit nicht mehr dem maximalen Ruck jmax. Die anderen Beschleunigungsänderungen erfolgen wieder mit dem maximalen Ruck jmax (könnten aber mit einer kleinere Beschleunigungsänderung erfolgen). Damit wird die Anfangsgeschwindigkeit VA langsamer abgebaut und der Zielweg verlängert sich. Allerdings würde sich dadurch auch die Fläche unterhalb des Beschleunigungsprofils verkleinern. Um dem entgegenzuwirken wird in diesem Ausführungsbeispiel auch im ersten Regelungszeitschritt k im zweiten Beschleunigungsabschnitt 7b die Beschleunigungsänderungen um den Wert Aj verkleinert, um die kleinere Fläche auszuglei- chen. Die anderen Beschleunigungsänderungen erfolgen wieder mit dem maximalen Ruck jmax (könnten aber mit einer kleinere Beschleunigungsänderung erfolgen). Damit wird die Anfangsgeschwindigkeit VA langsamer abgebaut und der Zielweg verlängert sich. Es ist unmittelbar einsichtig, dass es eine Vielzahl von Möglichkeiten gibt, in die Beschleunigungsänderungen des Beschleunigungsprofils einzugreifen, um einerseits den Zielweg zu verlängern oder zu verkürzen, ohne dabei die Fläche unterhalb des Beschleunigungsprofil zu verändern.
Wie bereits erwähnt, muss das Zielbewegungsprofil 5b nicht zwingend an einer Anfangsbewegungsphase (PA, VA, 3A) mit der Anfangsbeschleunigung 3A=0 beginnen. Allgemein kann die Anfangsbeschleunigung 3A einen beliebigen Wert (innerhalb vorgegebener Bewegungsbegrenzungen amax, amin) annehmen. Das ist beispielhaft in der Fig.4 dargestellt. Das ändert aber nichts am oben erläuterten grundlegenden Vorgehen.
In diesem Ausführungsbeispiel startet das Zielbewegungsprofil 5b mit einer Anfangsbeschleunigung 3A>0 und einer bekannten Anfangsgeschwindigkeit VA, die sich in der Anfangsbewegungsphase (PA, VA, 3A) einstellt. Das Zielbewegungsprofil 5b wird genauso ermittelt wie oben zu Fig.2 erläutert. Entscheidend ist somit wieder die Fläche unter der gesamten Treppenfunktion beginnend von der Anfangsbewegungsphase (PA, VA, SA), die wieder der Geschwindigkeitsänderung Av von der Anfangsgeschwindigkeit VA auf die Zielgeschwindigkeit vz entsprechen soll. Mit dem Zielbewegungsprofil 5b kann wieder der Zielweg ermittelt werden, womit wiederum bestimmt werden kann, wann (bzw. zu welchem Regelungszeitschritt k) das Zielbewegungsprofil 5b starten muss. Auch die obigen Fehler in der Zielgeschwindigkeit vz oder in der Zielgeschwindigkeit vz und der Zielposition pz können gleich ausgeglichen werden.
Das Zielbewegungsprofil 5b muss auch nicht zwingend die Geschwindigkeit von einer Anfangsgeschwindigkeit VA auf eine Zielgeschwindigkeit vz (beispielsweise Null) reduzieren, sondern es könnte auch vorgesehen sein, dass das Zielbewegungsprofil 5b die Geschwindigkeit erhöht. Das Zielbewegungsprofil 5b könnte damit auch im Bereich positiver Beschleunigungen definiert sein.
Bei der Umsetzung der Erfindung könnte wie folgt vorgegangen werden. Die Bewegung der Antriebsachse 1 wird von der vorgegebenen Startbewegungsphase (ps, vs, as) mit einem gewünschten oder vorgegebenen Startbewegungsprofil 5a gestartet. Das Startbewegungsprofil 5a liefert in jedem Regelungszeitschritt k eine Bewegungssollgröße BSk für den Antriebsachsenregler 4. In jedem Regelungszeitschritt k wird die sich einstellende Bewegungsphase im nächsten Regelungszeitschritt k+1 ermittelt, beispielsweise in dem die Bewegung mit dem maximalen Ruck jmax fortgesetzt wird oder aus dem Startbewegungsprofil 5a wenn es bekannt ist. Die Bewegungsphase im nächsten Regelungszeitschritt k+1 wird als An- fangsbewegungsphase (PA, VA, 3A) verwendet und darauf basierend ein Zielbewegungsprofil 5b ermittelt, mit dem die Geschwindigkeitsänderung Av zwischen der Anfangsgeschwindigkeit VA und der Zielgeschwindigkeit vz herbeigeführt wird. Aus dem ermittelten Zielbewegungsprofil 5b wird der Zielweg ermittelt. Ist der Zielweg kleiner als die Differenz zwischen Zielposition pz und aktueller Position im Regelungszeitschritt k, wird das Zielbewegungsprofil 5b im aktuellen oder spätestens im nächsten Regelungszeitschritt k+1 eingeleitet, womit der Zeitpunkt zum Starten des Zielbewegungsprofil 5b festgelegt ist. Ansonsten wird das Startbewegungsprofil 5a fortgesetzt. Das stellt eine online Ermittlung des Zielbewegungsprofils 5b dar.
Es ist damit auch möglich, dass die Startbewegungsphase (ps, vs, as) und die Anfangsbewegungsphase (PA, VA, 3A) zusammenfallen.
Es ist aber natürlich auch möglich, das Zielbewegungsprofil 5b für ein vorgegebenes Startbewegungsprofil 5a offline, also vorab vor der Durchführung der Bewegung, zu ermitteln.
Wenn die Beschleunigung im Startbewegungsprofil 5a während einer gewissen Zeitspanne gleich Null ist, sich also die Geschwindigkeit nicht ändern kann, dann muss das Zielbewegungsprofil 5b für diese Geschwindigkeit nur einmal berechnet werden, solange die Beschleunigung Null bleibt, weil sich das Zielbewegungsprofil 5b nicht ändern kann (zumindest solange keine neue Zielbewegungsphase (ps, vs, as) vorgegeben wird).
Das Startbewegungsprofil 5a könnten ebenso mittels eines Beschleunigungsprofils unter Einhaltung vorgegebener Bewegungsbegrenzungen geplant werden, wobei die Beschleunigungsänderung zwischen zwei aufeinanderfolgenden Regelungszeitschritten k, k+1 höchstens einen vorgegebenen maximalen Ruck jmax beträgt, womit die Ruckbegrenzung bereits implementiert ist. Hierbei kann so vorgegangen werden, dass Geschwindigkeitsänderungen oder Positionsänderungen schnellstmöglich durch das Startbewegungsprofil 5a umgesetzt werden sollen. Damit kann wieder vorgesehen sein, die Beschleunigungen im Beschleunigungsprofil des Startbewegungsprofils 5a mit dem vorgegebenen maximalen Ruck jmax zu ändern. Für Bewegungen mit konstanter Geschwindigkeit wäre die Beschleunigung einfach auf Null zu setzen, wobei aber eine vorher wirkende Beschleunigung nur mit dem vorgegebenen maximalen Ruck abgebaut werden kann. Eine Beschleunigungsänderung größer als der vorgegebene maximale Ruckjmax ist zu unterbinden.
Ein wesentlicher Vorteil bei der erfindungsgemäßen Ermittlung des Bewegungsprofils 5, bzw. des Zielbewegungsprofils 5b des Bewegungsprofils 5, liegt darin, dass keinerlei Kenntnisse über die Vergangenheit benötigt werden. Der Speicherbedarf zur Ermittlung eines ruckbe- grenzten Bewegungsprofils 5 ist damit wesentlich reduziert. Ebenso gibt es keine Totzeiten wie bei einem Ruckfilter.
Es kann in jedem Regelungszeitschritt k ausgehend von einer aktuellen Bewegungsphase im Regelungszeitschritt k als Anfangsbewegungsphase (PA, VA, 3A) ein Zielbewegungsprofil 5b ermittelt werden. Aus dem Zielbewegungsprofil 5b kann der Zielweg ermittelt werden. Ist der Zielweg kleiner als der aktuelle Abstand des bewegten Antriebsteils 3 zur Zielposition pz (oder ist der Zielweg kleiner als die Differenz zwischen Zielposition pz und aktueller Position), muss das Zielbewegungsprofil 5b gestartet werden, womit der Zeitpunkt zum Starten des Zielbewegungsprofil 5b festgelegt ist. In diesem Fall könnte die Zielposition pz überschritten werden, was aber durch einen Ausgleich des sich einstellenden Positionsfehlers ausgeglichen werden kann. Es wäre auch denkbar, die Bewegungsphase im nächsten Regelungszeitschritt k+1 zu ermitteln, beispielsweise in dem die Bewegung rechnerisch mit dem maximalen Ruckjmax fortgesetzt wird. Die Bewegungsphase im rechnerisch ermittelten nächsten Regelungszeitschritt k+1 könnte dann als Anfangsbewegungsphase (PA, VA, 3A) verwendet werden, um darauf basierend ein Zielbewegungsprofil 5b und den Zielweg zu bestimmen. Ist der bestimmte Zielweg kleiner als der aktuelle Abstand des bewegten Antriebsteils 3 zur Zielposition pz (oder ist der Zielweg kleiner als die Differenz zwischen Zielposition pz und aktueller Position), wird das ermittelte Zielbewegungsprofil 5b im aktuellen Regelungszeitschritt k eingeleitet. Damit wird sichergestellt, dass der bewegte Antriebsteil 3 die Zielposition pz nicht ganz erreicht. Der entstehende Positionsfehler könnte aber wie oben beschrieben ausgeglichen werden.
Ein weiterer Vorteil ist darin zu sehen, dass auch während der Bewegung der Antriebsachse 1 die Zielbewegungsphase (ps, vs, as) geändert werden kann. Eine geänderte Zielbewegungsphase (ps, vs, 8s) wird unmittelbar und ohne Zeitverzögerung (wie es bei einem Ruckfilter der Fall wäre) bei der Ermittlung des Zielbewegungsprofils 5b berücksichtigt. Damit kann flexibel auf neue Vorgaben der Zielbewegungsphase (ps, vs, as) reagiert werden.
Nicht zuletzt stellt die erfindungsgemäße Ermittlung des Zielbewegungsprofils 5b auch eine lineare Komplexität der Berechnung sicher. Erhöht sich die Anzahl der Regelungszeitschritte, erhöht sich die Komplexität der Berechnung linear mit der Erhöhung der Anzahl der Regelungszeitschritte. Die lineare Komplexität ergibt sich insbesondere daraus, dass sich die erforderlichen Berechnungen auf die Ermittlung von Flächen unterhalb einer Treppenfunktion reduzieren und keinerlei numerischen mathematischen Verfahren oder Optimierungen (die üblicherweise iterativ gelöst werden) erforderlich sind.
Das Bewegungsprofil 5, insbesondere das Zielbewegungsprofil 5b und gegebenenfalls auch das Startbewegungsprofil 5a, wird von einer Anlagensteuerung 6 vorgegeben. Die Anlagen- Steuerung 6 dient der Steuerung einer Anlage 10, in der die Antriebachse 1 implementiert ist. Das Bewegungsprofil 5 für die Antriebsachse 1 wird auf der Anlagensteuerung 6 erstellt. Die Anlagensteuerung 6 ist ein Computer mit entsprechender Software zur Erstellung des Bewegungsprofils 5. Der Antriebsachsenregler 4 kann auch in der Anlagensteuerung 6 integriert sein.
Wie eingangs erwähnt, kann die Antriebachse 1 beispielsweise in einem Langstatorlinearmotor (auch als Planarmotor) implementiert sein. Fig.5 zeigt beispielhaft einen Langstatorlinearmotor als Ausführung einer Anlage 10. Ein Langstatorlinearmotor besteht aus einem Stator 11 an den nebeneinander Magnetfelderzeugungseinheiten 12, wie Antriebsspulen oder bewegbare Magnete, angeordnet sind (in Fig.5 sind zwecks Übersichtlichkeit nur einige der Magnetfelderzeugungseinheiten dargestellt), die ein Magnetfeld erzeugen. Entlang des Stators 11 werden eine Vielzahl n von Transporteinheiten Tn bewegt. An jeder Transporteinheit Tn ist eine Erregungsmagnetanordnung 13, wie beispielsweise Permanentmagnete angeordnet (in Fig.5 ist zwecks Übersichtlichkeit nur an der T ransporteinheit T 1 die Erregungsmagnetanordnung dargestellt). Das von den Magnetfelderzeugungseinheiten 12 erzeugte Magnetfeld wirkt mit dem von der Erregungsmagnetanordnung 13 erzeugten Erregungsfeld zusammen, um die Transporteinheit Tn zu bewegen. Eine Antriebsachse 1 besteht damit aus den Magnetfelderzeugungseinheiten 12 (bzw. einer bestimmten Anzahl davon) als Antriebseinheit 2, die auf eine Transporteinheit Tn als bewegten Antriebsteil 3 einwirken, um diesen zu bewegen. Aufgrund der Bewegung wirken dabei immer andere Magnetfelderzeugungseinheiten 12 mit einer Transporteinheit Tn zusammen. Die Magnetfelderzeugungseinheiten 12 werden zur Erzeugung eines Magnetfeldes von einem Antriebsachsenregler 4 durch Stellgrößen SS angesteuert, beispielsweise um eine Spulenspannung an gewisse Magnetfelderzeugungseinheiten 12 anzulegen, um das Magnetfeld zu erzeugen. Die Bewegungssollgrößen BS für den Antriebsachsenregler 4 stammen von einem Bewegungsprofil 5, das die Bewegung der Transporteinheit Tn vorgibt. Genauso erhält der Antriebsachsenregler 4 Istgrößen IS der Bewegung der Transporteinheit Tn, beispielsweise Istpositionen am Stator 11 von Positionssensoren (nicht dargestellt). Auf diese Weise können die Bewegungen der Transporteinheiten Tn am Stator 11 einzeln und unabhängig voneinander geplant und durchgeführt werden. Bei einem Planarmotor bildet die Antriebsachse 1 eine Bewegungsrichtung am Stator 11 aus.
Aufgrund des Umstandes, dass die Transporteinheiten Tn einzeln und unabhängig voneinander am Stator 11 bewegt werden können, ist es bereits bekannt, eine Kollisionsvermeidung vorzusehen. Die Kollisionsvermeidung dient dazu, eine unerwünschte Kollision zwischen zwei Transporteinheiten Tn oder zwischen einer Transporteinheit Tn und einem anderen Teil der Anlage 10, wie beispielsweise einer an der Transportanlage vorgesehenen Be- arbeitungsstation, zu verhindern. Eine solche Kollisionsvermeidung geht beispielsweise aus der EP 3202 612 A1 hervor. Bei dieser Kollisionsvermeidung wird laufend geprüft, ob eine Transporteinheit TN ein Stillstandsmanöver oder Angleichsmanöver, bei dem die Beweung geändert wird, mit vorgegebener Kinematik ausführen kann, ohne Gefahr zu laufen, mit einer vorausfahrenden Transporteinheit oder mit einem ortsfesten Teil der Anlage 10 zu kollidieren. Ein solches Stillstandsmanöver oder Angleichsmanöver stellt damit ein Bewegungsprofil 5 dar, das beispielsweise wie oben geplant werden kann. Die Zielbewegungsphase (pz, vz, az) ist bei einem Stillstandsmanöver durch vz=az=Null gegeben. Bei einem Angleichsmanöver kann eine beliebige Zielbewegungsphase (pz, vz, az) vorgegeben sein. Ein Stillstandsmanöver oder ein Angleichsmanöver soll üblicherweise schnellstmöglich ausgeführt werden, also mit einem möglichst geringen Zielweg. Aus diesem Grund sind für solche Manöver auch minimale Beschleunigungen amin als Bewegungsbegrenzung definiert, um die Transporteinheit Tn schnellstmöglich verzögern zu können.
Die erfindungsgemäße Ermittlung des Zielbewegungsprofils 5b ohne nachgeschaltetem Ruckfilter ist insbesondere für solche Stillstandsmanöver oder Angleichsmanöver einer Kollisionsvermeidung vorteilhaft. Vorallem der Umstand, dass keine Totzeiten (wie bei einem Ruckfilter) bei der Erstellung des Zielbewegungsprofils 5b auftreten, ermöglicht es, einen erforderlichen Sicherheitsabstand zwischen benachbarten Transporteinheiten Tn am Stator 11 zu verringern. Damit können Transporteinheiten Tn dichter aneinander bewegt werden, was den Durchsatz von Transporteinheiten Tn pro Zeiteinheit erhöht, was insbesondere bei Transportanwendungen hilfreich ist.
In gewissen Anwendungen, bilden mehrere Transporteinheiten Tn auch einen Transporteinheitenverbund 14, wie die Transporteinheiten T1 , T2 in Fig.5 angedeutet durch die gestrichelte Linie. Es ist allerdings kein zwingendes Erfordernis, dass die Transporteinheiten Tn eines Transporteinheitenverbundes 14 unmittelbar benachbart sind, sondern es können dazwischen auch andere Transporteinheiten bewegt werden. Auch in einem solchen Transporteinheitenverbund 14 ist es natürlich vorteilhaft, wenn die Transporteinheiten Tn enger nebeneinander fahren können.
Die Transporteinheiten Tn in einem Transporteinheitenverbund 14 bewegen sich koordiniert zueinander, womit die Bewegungen der Transporteinheiten Tn in einem Transporteinheitenverbund 14 nicht mehr unabhängig voneinander sind. Beispielsweise soll der Abstand zwischen zwei Transporteinheiten Tn eines Transporteinheitenverbundes 14 konstant bleiben.
Wie die Bewegungen koordiniert werden, spielt dabei keine Rolle. Beispielsweise könnte eine Transporteinheit Tn im Transporteinheitenverbund 14 als Master dienen, die eine Be- wegung vorgibt, der die anderen Transporteinheiten Tn im Transporteinheitenverbund 14 folgen.
Es ist auch möglich, dass zwei Transporteinheiten Tn in einem Transporteinheitenverbund 14 mechanisch gekoppelt sind, wie beispielsweise in Fig.6 dargestellt, beispielsweise durch eine Verbindung 15 zwischen Kopplungspunkten 16 an den Transporteinheiten Tn. Die koordinierte Bewegung könnte hierbei beispielsweise fordern, dass der Abstand (beispielsweise die euklidische Distanz im Raum) zwischen den Kopplungspunkten 16 während der Bewegung gleichbleibt. Die koordinierte Bewegung könnte auch fordern, dass die Kraft, die von den beiden Transporteinheiten Tn über die Kopplungspunkte 16 auf die Verbindung 15 ausübt gleichbleibt.
Für jede Transporteinheit Tn sind Bewegungsbegrenzungen, insbesondere eine maximale Beschleunigung amax und eine minimale Beschleunigung amin, vorgegeben, die einzuhalten sind. Für eine unabhängige Bewegung einer Transporteinheit Tn stellt das kein Problem dar. Aufgrund der gekoppelten Bewegung von Transporteinheiten Tn in einem Transporteinheitenverbund 14, kann das allerdings zu Schwierigkeiten führen, insbesondere bei Bremsma- növern, wie beispielsweise einem Stillstandsmanöver oder Angleichsmanöver einer Kollisionsvermeidung, die mit maximal möglicher Beschleunigung durchgeführt werden, weil dabei gleichzeitig die koordinierte Bewegung aufrechterhalten werden muss. Solche Schwierigkeiten treten häufig in gekrümmten Abschnitten des Stators 11 auf.
Fährt beispielsweise ein Transporteinheitenverbund 14 in einen gekrümmten Abschnitt des Stators 11 , werden die Bewegungen der Transporteinheiten Tn im Transporteinheitenverbund 14 weiterhin koordiniert. Beispielsweise wird weiterhin der Abstand zwischen zwei Transporteinheiten Tn eingehalten. Es kann aber vorkommen, dass die Einhaltung der koordinierten Bewegung mit den vorgegebenen Bewegungsbegrenzungen nicht eingehalten werden kann. Beispielsweise könnte es die koordinierte Bewegung erforderlich machen, dass eine Transporteinheit Tn des Transporteinheitenverbundes 14 mit größerer negativer Beschleunigung als der minimalen Beschleunigung amin abbremsen müsste oder mit größerer Beschleunigung als der maximalen Beschleunigung amax beschleunigen müsste, um die koordinierte Bewegung aufrechtzuerhalten. Das ist aber aufgrund der vorgegebenen Bewegungsbegrenzungen nicht möglich.
Um dieses Problem zu beheben ist vorgesehen, dass Transporteinheiten Tn eines Transporteinheitenverbundes 14, neben den definierten ersten Beschleunigungsbegrenzungen, zweite Beschleunigungsbegrenzungen zugewiesen werden. Die zweiten Beschleunigungsbegrenzungen sind betraglich größer als die ersten Beschleunigungsbegrenzungen, also eine betraglich größere negative und/oder positive Beschleunigung als die ersten Beschleu- nigungsbegrenzungen. Damit hat eine Transporteinheit Tn in einem Transporteinheitenverbund 14 die Möglichkeit bedarfsweise für die Bewegung die zweiten Beschleunigungsbegrenzungen zu verwenden, um die koordinierte Bewegung der Transporteinheiten Tn innerhalb des Transporteinheitenverbund 14 aufrecht zu erhalten.
Die ersten Beschleunigungsbegrenzungen und zweiten Beschleunigungsbegrenzungen können konfigurierbar sein, beispielsweise von einem Anwender. Es ist aber auch denkbar, dass diese durch den Antriebsachsenregler 4 oder der Anlagensteuerung 6 gesetzt werden, beispielsweise aus der Kenntnis der Anwendung.
Beispielsweise führt eine Transporteinheit T1 eines Transporteinheitenverbundes 14 ein Bremsmanöver mit einer vorgegebenen maximalen Verzögerung gemäß den Vorgaben einer Bewegungsbegrenzung mit ersten Beschleunigungsbegrenzungen durch. Eine andere Transporteinheit T2 des Transporteinheitenverbundes 14 muss aufgrund der koordinierten Bewegung folgen. Würde diese zweite Transporteinheit ebenso nur mit der ersten Beschleunigungsbegrenzung abbremsen, hätte diese keinen Spielraum mehr, um gleichzeitig eine allfällige Änderung des Abstandes zwischen den beiden Transporteinheiten T1 , T2 auszuführen. Durch die zweite Beschleunigungsbegrenzung, die größer ist als die erste Beschleunigungsbegrenzung, hat die zweite Transporteinheit T2 diese Möglichkeit.
Dieser Ansatz der zweiten Beschleunigungsbegrenzung für eine T ransporteinheit Tn in einem Transporteinheitenverbund 14 ist aber unabhängig davon, wie das Bewegungsprofil der Transporteinheit Tn geplant oder erstellt wird.
Damit lässt sich für einen Langstatorlinearmotor ein vorteilhaftes Verfahren ableiten, um einen Transporteinheitenverbund 14 mit mehreren Transporteinheiten Tn, deren Bewegungen aufeinander koordiniert sind, zu steuern:
Den Transporteinheiten Tn des Transporteinheitenverbundes 14 ist jeweils eine erste Beschleunigungsbegrenzung zugeordnet, mit der eine maximal möglich positive und/oder negative erste Beschleunigung der Bewegung der Transporteinheiten festgelegt wird. Den Transporteinheiten Tn des Transporteinheitenverbundes 14 ist jeweils eine zweite Beschleunigungsbegrenzung zugeordnet, mit der eine maximal möglich positive und/oder negative zweite Beschleunigung der Bewegung der Transporteinheiten festgelegt wird, wobei die positive und/oder negative zweite Beschleunigung betraglich größer als die positive und/oder negative erste Beschleunigung ist. Die Transporteinheiten Tn im Transporteinheitenverbund 14 nutzen für die Bewegung die erste Beschleunigungsbegrenzung. Wenn damit die koordinierte Bewegung der Transporteinheiten Tn nicht möglich ist, nutzt zumindest eine Transporteinheit Tn des Transporteinheitenverbundes 14 die zweite Beschleunigungsbegrenzung.

Claims

Patentansprüche
1. Verfahren zum Regeln der Bewegung einer Antriebsachse (1) eines Antriebs, wobei die Bewegung der Antriebsachse(l) in vorgegebenen Regelungszeitschritten k durch die Vorgabe eines Bewegungssollwertes (BS) der Bewegung geregelt wird, wodurch sich in jedem Regelungszeitschritt k eine Bewegungsphase (p, v, a) der Bewegung der Antriebsach- se(1) ergibt, wobei für die Bewegung der Antriebsachse (1) eine Zielbewegungsphase (pz, vz, az) in Form einer Zielposition (pz), Zielgeschwindigkeit (vz) und Zielbeschleunigung (az) vorgegeben wird und die Zielbewegungsphase (pz, vz, az) ausgehend von einer Startbewegungsphase (ps, vs, as) in Form einer Startposition (ps), Startgeschwindigkeit (vs) und Startbeschleunigung (as) durch ein Bewegungsprofil (5) unter Einhaltung von vorgegebenen Bewegungsbegrenzungen eingestellt wird, und wobei in jedem Regelungszeitschritt k der Bewegungssollwert (BS) aus dem Bewegungsprofil (5) erhalten wird, dadurch gekennzeichnet, dass das Bewegungsprofil (5) aus einem Startbewegungsprofil (5a) und einem Zielbewegungsprofil (5b) besteht, wobei das Startbewegungsprofil (5a) an der Startbewegungsphase (ps, vs, as) startet und in das Zielbewegungsprofil (5b) übergeht, das in einer Anfangsbewegungsphase (PA, VA, 3A) startet und in der Zielbewegungsphase (pz, vz, az) endet, dass das Zielbewegungsprofil (5b) mit einem Beschleunigungsprofil über eine Mehrzahl von Regelungszeitschritten k ermittelt wird, wobei eine Beschleunigungsänderung in jedem Regelungszeitschritt k maximal einem vorgegebenen maximalen Ruck (jmax) entspricht, sodass das Beschleunigungsprofil des Zielbewegungsprofils (5b) als Treppenfunktion vorliegt, in der das Beschleunigungsprofil eine zeitlich diskrete Abfolge von Beschleunigungswerten an den Regelungszeitschritten k ist, dass die Treppenfunktion unter Einhaltung der vorgegebenen Bewegungsbegrenzungen erstellt wird, sodass die Fläche unterhalb der Treppenfunktion einer Geschwindigkeitsänderung (Av) zwischen der Anfangsgeschwindigkeit (VA) der Anfangsbewegungsphase (PA, VA, 3A) und der Zielgeschwindigkeit (vz) der Zielbewegungsphase (pz, vz, az) entspricht, und dass mit dem ermittelten Zielbewegungsprofil (5b) ein Zielweg ermittelt wird, der mit dem Zielbewegungsprofil (5b) zurückgelegt wird, und dass anhand des Zielweges ein Zeitpunkt ermittelt wird, an dem das ermittelte Zielbewegungsprofil (5b) gestartet wird, um die Zielposition (pz) der Zielbewegungsphase (pz, vz, az) zu erreichen.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Beschleunigung im Beschleunigungsprofil ausgehend von der Anfangsbeschleunigung (3A) in einem ersten Beschleunigungsabschnitt (7a) in einer Mehrzahl von Regelungszeitschritten k um maximal dem vorgegebenen maximalen Ruck (jmax) reduziert oder erhöht wird und dann die Beschleunigung in einem zweiten Beschleunigungsabschnitt (7b) in einer Mehrzahl von Rege- lungszeitschritten k um maximal dem vorgegebenen maximalen Ruck (jmax) erhöht oder reduziert wird, bis die Zielbeschleunigung (3A) erreicht wird.
3. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Beschleunigung ausgehend von der Anfangsbeschleunigung (aA) in einem ersten Beschleunigungsabschnitt (7a) in einer Mehrzahl von Regelungszeitschritten k um maximal dem vorgegebenen maximalen Ruck (jmax) reduziert oder erhöht wird, bis eine vorgegebene minimale Beschleunigung (amin) oder maximale Beschleunigung (amax) erreicht wird, dann die Beschleunigung in einem dritten Beschleunigungsabschnitt (7c) für eine Anzahl von Regelungszeitschritten k auf der minimalen Beschleunigung (amin) oder maximalen Beschleunigung (amax) gehalten wird und dann die Beschleunigung in einem zweiten Beschleunigungsabschnitt (7b) in einer Mehrzahl von Regelungszeitschritten k um maximal dem vorgegebenen maximalen Ruck (jmax) erhöht oder reduziert wird, bis die Zielbeschleunigung (aA) erreicht wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine Beschleunigungsänderung in einem Regelungszeitschritt k des Beschleunigungsprofils vorgegebenen maximalen Ruck (jmax) entspricht, wenn die vorgegebenen Bewegungsbegrenzungen das zulassen, sodass die Fläche unterhalb der Treppenfunktion bis auf einen Restfehler der Geschwindigkeitsänderung (Av) zwischen der Anfangsgeschwindigkeit (VA) der Anfangsbewegungsphase (PA, VA, 3A) und der Zielgeschwindigkeit (vz) der Zielbewegungsphase (pz, vz, az) entspricht, und dass die Beschleunigungsänderung in zumindest einem Regelungszeitschritt k des Beschleunigungsprofils um einen Ruckwert (Aj) verändert wird, wobei der Ruckwert (Aj) ermittelt wird, um den sich aus der Treppenfunktion ergebende Restfehler zwischen der Fläche unterhalb der Treppenfunktion und der Geschwindigkeitsänderung (Av) auszugleichen.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass ein sich aus der Treppenfunktion ergebender Positionsfehler zwischen der Zielposition (pz) und einer sich aus dem Zielbewegungsprofils (5b) ergebenden Position ausgeglichen wird, indem im Beschleunigungsprofil die Beschleunigungsänderung an einer Mehrzahl von Regelungszeitschritten k verändert wird, um den Zielweg um den Positionsfehler zu verlängern oder zu verkürzen, wobei die Fläche unterhalb des Beschleunigungsprofils unverändert bleibt.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass in jedem Regelungszeitschritt k des Startbewegungsprofils (5a) die aktuelle Bewegungsphase (p, v, a) als Anfangsbewegungsphase (PA, VA, 3A) verwendet wird und mit dieser Anfangsbewegungsphase (PA, VA, 8A) das Zielbewegungsprofil (5b) und der Zielweg ermittelt wird und das Zielbewegungsprofil (5b) im nächsten Regelungszeitschritt k+1 eingeleitet wird, wenn die Differenz zwischen der Zielposition (pz) und der Anfangsposition (PA) kleiner dem Zielweg ist.
7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass in jedem Regelungszeitschritt k des Startbewegungsprofils (5a) die Bewegungsphase (p, v, a) des auf den aktuellen Regelungszeitschritt k folgenden nächsten Regelungszeitschritt k+1 als Anfangsbewegungsphase (PA, VA, 3A) verwendet wird und mit dieser Anfangsbewegungs- phase (PA, VA, 3A) das Zielbewegungsprofil (5b) und der Zielweg ermittelt wird und das Zielbewegungsprofil (5b) im aktuellen Regelungszeitschritt k eingeleitet wird, wenn die Differenz zwischen der Zielposition (pz) und der Anfangsposition (PA) kleiner dem Zielweg ist.
PCT/EP2023/073958 2022-09-01 2023-08-31 Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit WO2024047193A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA50671/2022 2022-09-01
AT506712022 2022-09-01

Publications (1)

Publication Number Publication Date
WO2024047193A1 true WO2024047193A1 (de) 2024-03-07

Family

ID=87889508

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/073958 WO2024047193A1 (de) 2022-09-01 2023-08-31 Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit

Country Status (1)

Country Link
WO (1) WO2024047193A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3202612A1 (de) 2016-02-02 2017-08-09 Bernecker+Rainer Industrie-Elektronik Gesellschaft MbH Verfahren zum betreiben einer fördereinrichtung in form eines langstatorlinearmotors
EP3203337A2 (de) * 2016-02-05 2017-08-09 Bernecker+Rainer Industrie-Elektronik Gesellschaft MbH Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3202612A1 (de) 2016-02-02 2017-08-09 Bernecker+Rainer Industrie-Elektronik Gesellschaft MbH Verfahren zum betreiben einer fördereinrichtung in form eines langstatorlinearmotors
EP3203337A2 (de) * 2016-02-05 2017-08-09 Bernecker+Rainer Industrie-Elektronik Gesellschaft MbH Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BECKHOFF: "TF5200 TwinCAT 3 CNC Funktionsbeschreibung", 27 July 2021 (2021-07-27), XP093100911, Retrieved from the Internet <URL:https://download.beckhoff.com/download/document/automation/twincat3/TF5200_dynamic_param_de.pdf> [retrieved on 20231113] *
LARS BERSCHEID ET AL: "Jerk-limited Real-time Trajectory Generation with Arbitrary Target States", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 23 June 2021 (2021-06-23), XP081981099 *

Similar Documents

Publication Publication Date Title
EP3978300B1 (de) Verfahren zur regelung der normalkraft einer transporteinheit eines langstatorlinearmotors
EP3203337B1 (de) Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit
AT518733B1 (de) Verfahren zum Betreiben eines Langstatorlinearmotors
EP3379719B1 (de) Verfahren zur übergabe einer transporteinheit an einer übergabeposition
EP3202612B1 (de) Verfahren zum betreiben einer fördereinrichtung in form eines langstatorlinearmotors
DE102014003631B4 (de) Motorsteuervorrichtung, die eine Spannungssättigung erkennt
DE68909574T2 (de) Roboterachsensteuerung mit und ohne rückkuppelung.
EP2631043A2 (de) Verfahren und Vorrichtung zum Ausführen eines Manipulatorprozesses
AT518734A1 (de) Verfahren zum Betreiben eines Langstatorlinearmotors
EP3599127B1 (de) Verfahren zum betreiben eines langstatorlinearmotors mit transporteinheiten und kollisionsüberwachung
DE102017205791A1 (de) Servoregelungsvorrichtung zum Antreiben einer Vielzahl von Motoren
EP3581428B1 (de) Kurzschlussbremsung eines llm
EP3363751B1 (de) Verfahren zur übergabe einer transporteinheit eines langstatorlinearmotors an einer übergabeposition
DE3012703A1 (de) Verfahren und vorrichtung zum automatischen fuehren eines fahrzeugs
EP3802384B1 (de) Verfahren zum steuern einer transporteinheit einer transporteinrichtung in form eines langstatorlinearmotors
WO2019002587A1 (de) Regelungseinheit, mechatronisches system und verfahren zum regeln eines mechatronischen systems
WO2024047193A1 (de) Verfahren zum steuern der bewegung einer antriebsachse einer antriebseinheit
EP2135143B1 (de) Verfahren und einrichtung zur bewegungsführung eines bewegbaren maschinenelements einer numerisch gesteuerten maschine
WO2001033304A2 (de) Regelsystem für elektrische antriebe und verfahren zur bahnregelung
DE102015103452B4 (de) Verfahren zum zeitdiskreten Anhalten antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE19620706C1 (de) Numerisches Verfahren zur Regelung für lineare Regelvorgänge, insbesondere geeignet zur schnellen und exakten Lage- und Drehzahlregelung von Elektromotoren
EP4098473A1 (de) Transportanlage und verfahren zum betreiben einer transportanlage mit einer kollisionsüberwachung
DE2806127A1 (de) Steuerschaltung zum steuern der antriebsmotoren eines roboters
DE102022128460A1 (de) Regelung einer elektrischen Maschine mit zwei getrennten Wicklungssystemen und Betrieb eines Aktuators eines Steer-By-Wire-Systems
EP4275942A1 (de) Verfahren zum betreiben eines transportsystems sowie transportsystem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23764324

Country of ref document: EP

Kind code of ref document: A1