TRAJECTORY PLANNING WITH FLEXIBLE REPLANNING FUNCTIONALITY - OBSTACLE
20230166947 · 2023-06-01
Assignee
Inventors
Cpc classification
B66C13/48
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
An improved method for controlling a lifting device, which moves a load along a first movement direction and along a second movement direction within a specified working area of the lifting device from a starting point to an end point. Individual movements are planned for the first movement direction and for the second movement direction, by which the load is moved on while avoiding a collision with a changed or newly specified obstacle.
Claims
1. A method for controlling a lifting device which moves a load along a first movement direction and along a second movement direction within a specified working area of the lifting device in accordance with a specified trajectory from a starting point to an end point, wherein, at a command time point during the movement of the load, a new obstacle for the movement of the load, which obstacle is arranged between the position taken on by the load at the command time point and the end point, is specified, and/or an existing obstacle, which is arranged between the position taken on by the load at the command time point and the end point, is changed to a new obstacle for the movement of the load, wherein, taking into account specified kinematic constraints of the lifting device, at least one individual movement is planned for the first movement direction and for the second movement direction respectively, which individual movement determines the further movement of the load along the respective movement direction from the command time point onwards, wherein at least one individual movement for each movement direction ends in a projection of the end point onto the respective movement direction, and wherein the planned individual movements are executed in accordance with a specified movement sequence in order to move the load further along the first movement direction and further along the second movement direction in accordance with a replanning trajectory resulting from the movement sequence of the planned individual movements without colliding with the new obstacle.
2. The method according to claim 1, wherein the individual movements planned for the first movement direction and for the second movement direction are planned as individual movements that are independent of one another.
3. The method according to claim 1, wherein the planned individual movements each comprise a position profile that can be continuously differentiated at least four times in time.
4. The method according to claim 3, wherein the position profiles for generating the temporally at least four times continuous differentiability are filtered by a filter with a specifiable time constant.
5. The method according to claim 4, wherein the time constant of the filter is selected as a function of the geometry of the lifting device in order to comply with the specified kinematic constraints of the lifting device in a combined execution of the individual movements.
6. The method according to claim 1, wherein a further individual movement is planned for the second movement direction, which in combination with the individual movement planned along the first movement direction moves the load around the newly specified and/or the changed obstacle, and wherein the second individual movement is executed in accordance with the specified movement sequence before the individual movement already planned for the second movement direction.
7. The method according to claim 1, wherein the movement sequence is specified such that individual movements along the first movement direction and individual movements along the second movement direction are started alternately.
8. The method according to claim 1, wherein the movement sequence is specified such that an individual movement along the first movement direction and an individual movement along the second movement direction are executed overlapping in time.
9. The method according to claim 1, wherein, before the execution of at least one planned individual movement, it is checked whether the expected replanning trajectory leads to a collision of the load with an obstacle specified in the working area.
10. The method according to claim 9, wherein, in order to check whether the expected replanning trajectory leads to a collision of the load with an obstacle specified in the working area, projections of a keypoint derived from the specified obstacle onto the movement directions are determined, wherein a collision time is determined at which the load reaches the projection onto the first movement direction with the individual movement planned for the first movement direction and a collision time is determined, at which the load reaches the projection onto the second movement direction with the individual movement planned for the second movement direction, and wherein the determined collision times are compared with one another.
11. The method according to claim 9, wherein, in order to check whether the expected replanning trajectory leads to a collision of the load with an obstacle specified in the working area, a projection of a keypoint derived from the specified obstacle onto one of the movement directions is determined, wherein a collision time is determined at which the load reaches the determined projection with the individual movement planned for this movement direction, wherein a position of the load on the other movement direction taken on by the load at the determined collision time is determined, and wherein the determined position is compared with a projection of the keypoint onto the movement direction for which the position of the load was determined.
12. The method according to claim 10, wherein the collision times are determined using a root finding method.
13. The method according to claim 1, wherein, in the event of a determined collision with an obstacle, the at least one individual movement is not executed, and wherein instead a specified braking operation is performed for at least the duration of a specified minimum braking time along that movement direction for which the at least one individual movement that was not executed had been planned.
14. The method according to claim 13, wherein instead of the at least one individual movement which has not been executed, a new individual movement is planned for the corresponding movement direction, wherein it is checked whether the replanning trajectory resulting from the newly planned individual movement leads to a collision of the load with an obstacle specified in the working area, and wherein the new individual movement is executed if no collision is detected, or wherein the specified braking operation is continued for at least one further minimum braking time and a replanning of an individual movement and a check of the replanning trajectory resulting from the replanned individual movement are performed again if a new collision with an obstacle is detected.
15. The method according to claim 1, wherein the position of the load is measured and is used for planning and/or executing the individual movements.
16. The method according to claim 1, wherein the load is additionally moved along a third movement direction by the lifting device, wherein the load is moved within a specified 3D working space in accordance with a three-dimensional trajectory and wherein, for replanning the trajectory, at least one individual movement is also planned for the third movement direction and is executed in accordance with a specified movement sequence in addition to the individual movements planned for the first movement direction and for the second movement direction.
17. A lifting device for moving a load from a starting point to an end point in accordance with a specified trajectory within a specified working area of the lifting device, wherein a load receiving element is provided in the lifting device for receiving the load which is connected by at least one retaining element to a running element, wherein the running element is movable along a first movement direction by a running element drive and the load receiving element is movable along a second movement direction by a lifting drive, wherein a computing unit is provided in the lifting device, which computing unit is designed to read in, at a command time point during the movement of the load, an obstacle which is newly specified for the movement of the load and which is arranged between the position taken on by the load at the command time point and the end point, and/or an existing obstacle which is arranged between the position taken on by the load at the command time point and the end point and is changed to a new obstacle for the movement of the load, wherein the computing unit is further configured to plan, taking into account specified kinematic constraints of the lifting device, an individual movement for the first movement direction and for the second movement direction respectively which define the further movement of the load along the respective direction of movement from the command time point onwards, wherein the individual movements end in each case in a projection of the end point onto the respective direction of movement, and wherein the computing unit is configured to control the running element drive and the lifting drive of the lifting device in order to execute the planned individual movements in accordance with a specified movement sequence and thus to move the load further along the first movement direction and along the second movement direction in accordance with a replanning trajectory resulting from the movement sequence of the planned individual movements without colliding with an obstacle.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In the following, the present invention is described in greater detail with reference to
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
DETAILED DESCRIPTION
[0042] The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the present invention only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the present invention. In this regard, no attempt is made to show structural details of the present invention in more detail than is necessary for the fundamental understanding of the present invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the present invention may be embodied in practice.
[0043]
[0044] A running element 5 is usually arranged on this boom 4, which is movable in the longitudinal direction of the boom 4, i.e., in the X-direction in the example shown. Accordingly, a running element 5 can be mounted in guides by rollers. A running element drive, not shown, is provided for the running element 5 in order to move the running element 5 in the X-direction. The running element drive can be provided on the running element 5 itself, but can also be arranged on the boom 4 or on the supporting structure 3. The running element 5 is usually connected by retaining elements 6 to a load receiving element 7 for receiving a load 8. In the case of a container crane 2, the load 8 is typically a container 9, in most cases an ISO container 20, 40 or 45 feet long, 8 feet wide and 8 feet, 6 inches high.
[0045] The retaining elements 6 are usually in the form of ropes, wherein in most cases four retaining elements 6 are arranged on the running element 5, but more or fewer retaining elements 6 can also be provided, in the simplest case also only a single retaining element 6. To accommodate a load 8, such as a container 9, the distance between the running element 5 and the load receiving element 7 can be adjusted by a lifting drive (not shown), thus in the Y-direction in
[0046] In the situation shown in
[0047] In order to move a load 8 along a trajectory T from the starting point A to the end point E, the lifting device 1 has a crane controller 16 with a computing unit 12, for example in the form of an electronic control unit in the form of suitable hardware and/or software, by which the movement of the load 8 along the respective movement direction X, Y, Z can be controlled. If a starting point A and/or end point E is defined manually by a user, for example, the starting point A and/or end point E can be transmitted to the computing unit 12, for example, via a suitable interface. A starting point A and/or an end point E can also be determined in the computing unit 12. Possible implementations of a computing unit 12 include microprocessor-based hardware, microcontrollers, and integrated circuits (ASIC, FPGA). The crane controller 16 communicates with the drives provided for this purpose, such as a running element drive or a winch, in order to control and/or regulate the movement of the load 8, and is typically designed to be able to detect the current position of the running element 5, the position of the load receiving element 7 and, if necessary, the position of the supporting structure 3.
[0048] In this sense, in the situation shown in
[0049]
[0050] From a trajectory T along which the load 8 is moved, a rapid transfer of the load 8 from the starting point A to the end point E is usually required. As explained at the beginning, during such a transfer it may become necessary for several reasons to adapt a given trajectory T during the movement of the load 8 to changing circumstances in the area of the lifting device 1, i.e., to replan the trajectory T. This problem is solved by the method according to the invention. How the method according to the invention can be used to replan a trajectory T taking into account a changed or newly specified obstacle 11n is specifically shown in
[0051] Here, three situations are plotted along the time axis t, which can occur during the application of the method according to the invention during the movement of a load 8 by a lifting device 1 along a first and along a second movement direction, in this case along the movement directions X and Y. In the situation shown in
[0052] At time point t.sub.K, hereinafter also referred to as command time point t.sub.K, a new obstacle 11n is now specified in place of the previous obstacle 11a. The command time point t.sub.K can be specified by an operator, such as a crane operator, and can therefore be selected as freely as possible. However, the command time point t.sub.K can also be generated internally in the computing unit 12. Also, several successive command time points t.sub.K for a repeated change of an obstacle 11 are conceivable. At command time point t.sub.K, the load 8 is at position P.sub.z(t.sub.K). According to the invention, the replanning of the movement of the load 8 is started immediately after the new obstacle 11n has been specified. This is done according to the previous explanations by projections of the position P.sub.z(t.sub.K) taken on by the load 8 at the command time point t.sub.K and of the end point E onto the movement directions X, Y, as well as by projections of keypoints S.sub.1n, S.sub.2n, which are derived from the new obstacle 11n, onto the movement directions X, Y. Preferably, the keypoints S.sub.1n, S.sub.2n are corner points of the prohibition zone V.sub.1n as shown. For the prohibition zone V.sub.1a, keypoints S.sub.1a, S.sub.2A can of course also be specified. As will be shown below, keypoints such as S.sub.1n, S.sub.2n can be used as intermediate targets, particularly when planning movements along the Y-axis, to avoid collisions with a prohibition zone V.sub.1n and thus with the obstacle 11.sub.n.
[0053] The projections of the position P.sub.z(t.sub.K) taken on by the load 8 at the command time point t.sub.K, of the end point E and of the keypoints S.sub.1n, S.sub.2n on the X-axis are referred to as P.sub.Z′, E′, S.sub.1n′ and S.sub.2n′, while the projections on the Y-axis are referred to as P.sub.Z″, E″, S.sub.1n″ and S.sub.2n″. According to the invention, the projections P.sub.Z′, E′, S.sub.1n′, S.sub.2n′ and the projections P.sub.Z″, E″, S.sub.1n″, S.sub.2n″ are considered separately. For each of these groups of projections, individual movements TE are planned to connect the respective projections P.sub.Z′, E′, S.sub.1n′, S.sub.2n′ and P.sub.Z″, E″, S.sub.1n″, S.sub.2n″ along the corresponding movement direction X, Y, respectively. An individual movement TE preferably defines a profile of position, velocity and acceleration along the respective movement direction. For example, by an individual movement TE.sub.X for the movement direction X, the projections P.sub.Z′, E′, S.sub.1n′, S.sub.n2′ along the movement direction X are connected. For each of the movement directions X. Y there is at least one individual movement TE. Individual movements related to movement directions such as X, Y are referred to here as TE.sub.X, TE.sub.Y.
[0054] In order to avoid obstacles 11a, 11n that are located between the position P.sub.Z(t.sub.K) taken on by the load 8 at the command time point t.sub.K and the end point E, several individual movements TE.sub.Y can be planned, in particular for the second movement direction Y. Thus, individual movements TE.sub.Y in the form of lifting movements (“Hoist Up”) can be provided for the load 8 along the movement direction Y on the one hand, and individual movements TE.sub.Y in the form of lowering movements (“Hoist Down”) can be provided on the other hand. To avoid obstacles 11a, 11n, lifting movements (“Hoist Up”) are usually performed first, and lowering movements (“Hoist Down”) are only performed after a suitable horizontal movement along the X-axis (“Move Trolley”) to move the load 8 around an obstacle 11n or to lift the load 8 over an obstacle 11n. It should be noted that in order to move a load 8 around an obstacle 11n, individual movements TE along the movement directions X, Y must be combined.
[0055] In the situation shown in
[0056] In this context, it should be noted that along the X-axis, a single individual movement TE.sub.X from the projection P.sub.Z′(t.sub.k) to the projection E′ is usually sufficient to ensure a collision-free movement of the load 8 into the end point E. It should also be noted at this point that the present invention also covers the case where an obstacle 11a previously assumed for planning a trajectory T subsequently turns out not to exist, i.e. the obstacle 11a disappears. In such a case, a single individual movement TE.sub.Y along the Y-axis is sufficient to transfer the load 8 from its position P.sub.Z(t.sub.K) to the end point E.
[0057] After planning the individual movements TE, the planned individual movements TE are executed according to a specified sequence, hereinafter referred to as “movement sequence”, to move the load 8 along the first movement direction X and along the second movement direction Y. Thus, a replanning trajectory TU results from the planned individual movements TE. The replanning trajectory TU is shown by the solid line in
[0058] Individual movements TE, as may occur in the method according to the invention, are shown in
[0059]
[0060] By separating the new overall movement to be planned into a plurality of individual movements TE to be planned instead, the (re-)planning task to be solved is significantly simplified compared to methods known from the prior art. Thus, the complex problem of planning at least one two-dimensional movement is reduced to planning several only one-dimensional movements. Especially this circumstance proves to be advantageous in the practical implementation, since the planning of one-dimensional movements is a well-known problem in control and automation engineering, which has already been solved in various ways. In the concrete planning of the individual TE movements, a plurality of known approaches can thus be used. If, for example, a transfer of the load 8 to the end point E is to be ensured by time-optimal individual movements TE, the bang-bang controller approach, for example, which is sufficiently known from control engineering literature, can be used, using maximum accelerations along the movement directions X, Y that can be realized by the given drives of the lifting device 1.
[0061] In
[0062] In the example shown in
σ(x) stands herein for the sigma function well known from mathematics, which takes on the value one for arguments greater than or equal to zero (x≥0), and is equal to zero otherwise. v.sub.x0 stands herein for the initial velocity at the beginning of the individual movement. Accordingly, the planning of individual movements TE, on the basis of which a position profile sa, a velocity profile v.sub.x and an acceleration profile a.sub.x are determined, can be performed by defining functions as shown above, for example by specifying time points T.sub.a1 and T.sub.a2. In an advantageous manner, boundary conditions can also be specified for this purpose, such as s.sub.x(t.sub.E)=E′, v.sub.x(t.sub.E)=v.sub.tE. In particular, the velocity v.sub.tE can be chosen equal to zero, but also different from zero.
[0063] According to the above explanations, for planning a time-optimal individual movement TE, acceleration phases with maximum positive acceleration a.sup.+.sub.max, with maximum negative acceleration a.sup.−.sub.max, as well as with vanishing acceleration, i.e. an acceleration a.sub.x=0, must be specified. In the procedure shown in
[0064] Kinematic and/or geometric limit values can, for example, be stored in the computing unit 12 or specified to the computing unit 12. Further kinematic limit values are preferably a maximum speed v.sub.Tmax and/or a maximum acceleration a.sub.Tmax of the running element 5, or a maximum speed v.sub.Hmax and a maximum acceleration a.sub.Hmax of the lift drive in Y-direction. A geometric limitation can be given, for example, by a maximum deflection angle Θ.sub.XYmax of the load receiving element 7 in the plane E.sub.XY. In the case of a third movement direction of the lifting device in the Z direction, a maximum speed v.sub.Smax and a maximum acceleration a.sub.Smax of the supporting structure 3 can additionally be specified as kinematic limit values and a maximum deflection angle Θ.sub.ZYmax of the load receiving element 7 in the plane E.sub.ZY can be specified as a geometric limit value. However, in addition to planning time-optimal individual movements TE, other approaches to planning individual movements TE can also be used.
[0065] In many cases, it proves advantageous in this context to plan the individual movements TE.sub.x, TE.sub.y (and if necessary TE.sub.z) along the axes X, Y (and if necessary Z) independently of one another. This means that there is no relationship between the planned individual movements TE.sub.x, TE.sub.y (or TE.sub.z) on the respective axes, which could be expressed mathematically, for example, and which, in the case of a change in the position P.sub.z of the load 8 along a first movement direction, for example the X-axis, would cause a change in the position P.sub.z of the load 8 also along a second movement direction, for example the Y-axis.
[0066] The planned individual movements TE are subsequently executed either simultaneously or offset in time. Staggering planned individual movements TE may be necessary, particularly in the case of prohibited areas V.sub.i or obstacles 11 described above. For example, it may be necessary to delay the start of a lowering movement in the Y-direction in order to drive around an obstacle 11. An individual movement TE.sub.Y planned in the Y-direction would therefore only be started with a time delay after the individual movement planned in the X-direction has already been started. The specification of which individual movement TE is to be executed first and which individual movement TE is to be executed later, if necessary, is expressed in the context of the present invention by a so-called movement sequence, which can be specified, for example, to the crane controller 16 or to the computing unit 12 provided in the crane controller 16 via a suitable interface. A movement sequence can thus be stored in the computing unit 12. A movement sequence thus defines the order in which the planned individual TE movements are to be executed. For example, a movement sequence might be: “First horizontal movement in X-direction, only then vertical movement in Y-direction.” A movement sequence can also be in the form of a table in which TE start times are assigned to the planned individual movements at which they are started. A movement sequence can also comprise time intervals that define waiting times that must at least be provided between the start times of successive individual movements TE.
[0067] A central problem in the manipulation of loads 8 by lifting devices 1, which in many cases can either be solved, but usually at least greatly reduced, by suitable trajectory planning, is the problem of load swing. In particular, rapid movement operations of lifting devices can often excite undesirable swinging and/or swaying movements of transported loads 8 or of load receiving elements. Swinging of loads 8 can in turn delay handling and manipulation procedures, since loads such as containers often cannot be placed at all in such cases, or at least not with sufficient precision, and it is necessary to wait until a given swinging has subsided again. In
[0068] In the present context, it is shown that so-called flat trajectories, i.e., trajectories which can be continuously differentiated a sufficient number of times depending on the concrete design of the lifting device, are effective against (load) swinging and/or pendulum movements. This approach is based on the fact that a lifting device 1 as shown in
[0069] Flat outputs and their derivatives allow, in the case of a flat system such as the lifting device 1 under consideration, the representation (also “parameterization”) of the internal state or system variables of the flat system. The internal state or system variables of a flat system can thus be represented as functions of the flat outputs and their derivatives, which, of course, the person skilled in the art of control engineering knows about. For the suppression of swinging of a load 8 transported by a lifting device 1, the fact that (in an ideal consideration) a control system constructed with the aid of a flat output cannot excite any swinging or pendulum movements of the load is of importance at this point.
[0070] In the case of the lifting device 1 considered here, the position profiles of the load 8 along the movement directions X, Y represent flat outputs of the system “lifting device” 1. Here it is shown that for the suppression of swinging and/or pendulum movements it is sufficient to specify the position profiles s.sub.x(t), s.sub.y(t) determined by the planned individual movements TE as four times continuously time-differentiable position profiles s.sub.x(t), s.sub.y(t). In this manner, swinging and/or pendulum movements can be suppressed without having to rely on measurements of the load position P.sub.Z. It should be mentioned at this point that the use of trajectories that can be continuously differentiated even more often can ensure even smoother movement profiles that are even gentler on the drives.
[0071] To ensure that the position profiles s.sub.x(t), s.sub.y(t) defined by the specified individual movements TE are actually fourfold continuously differentiable, the position profiles s.sub.x(t), s.sub.y(t) can be filtered before they are executed. However, the described fourfold differentiability can also be achieved in a manner other than filtering, for example by polynomial approaches for the specified position, velocity and/or acceleration profiles. The filtering of individual movements TE, which are available as scalar progressions, is much easier than the filtering of multidimensional profiles. This is another reason why the use of individual movements TE represents a significant advantage in the control of lifting devices 1.
[0072] The described approach for generating flat trajectories by a suitable filtering or polynomial approach can also be used in a particularly advantageous manner to comply with the kinematic constraints for the lifting device drives mentioned further above as well as the geometric limitation of the deflection angle of the load. For example, the partial movements of the load 8 are related to the movement of the running element 5 via the known pendulum equations:
[0073] The variables x.sub.T, v.sub.T, a.sub.T here stand for the movements of the running element 5, x.sub.L and y.sub.L on the other hand for the coordinates of the load 8, whose corresponding derivatives are noted as {dot over (x)}.sub.L, ,
, x.sub.L.sup.(4) and so on. According to the above, the given equations represent a flat parameterization of the state variables x.sub.T, v.sub.T, a.sub.T as a function of the flat outputs x.sub.L, y.sub.L. The given relationship makes it clear that specifications regarding the profiles of the coordination x.sub.L and y.sub.L have a direct effect on the movement of the running element 5.
[0074] To implement the described filtering to generate flat trajectories, for example, a suitable filter F can be used, such as a moving-average filter (MA filter). A schematic representation of such filtering is shown in
[0075] The filter time τ.sub.filt of a filter F implemented as an MA filter can be selected here in a particularly advantageous manner as a function of the geometry of the lifting device 1 and the pendulum equations. By selecting larger time constants, the previously planned individual movements can be filtered even more strongly and, for example, even more conservative progressions can be specified for the running element. By multiple filtering, individual movements TE can be generated in an extremely advantageous manner, by which kinematic constraints specified for the drives of the lifting device 1 are taken into account, such as speed, acceleration, jerk limitations.
[0076] How prohibition zones V.sub.i can be defined in concrete terms is further shown in more detail in
[0077] In a situation such as that shown in
[0078] A first possibility in this respect is to execute the planned individual movements TE at intervals from one another, i.e., to wait after executing an individual movement TE and only continue with the next individual movement TE corresponding to the movement sequence after a specified waiting time.
[0079] Specifically, a movement sequence can specify, for example, that in the situation shown in
[0080] In the course of determining the movement sequence in which the planned individual movements are to be executed, it is often particularly advantageous to additionally check whether a collision of the load 8 with a prohibition zone V.sub.i may occur in the profile of the resulting replanning trajectory TU.
[0081] How to proceed in this respect is shown in
[0082] In the X-direction, however, it can be seen that the individual movement TE.sub.xa would lead to a collision with the obstacle 11. The individual movement TE.sub.xa planned at the beginning is shown in
[0083] In a particularly elegant manner, a check as to whether a collision with an obstacle is to be expected can be performed in the following manner: Before the execution of at least one planned individual movement TE, so-called collision times t.sub.iX, t.sub.iY are determined and compared with one another. The collision times t.sub.iX, t.sub.iY are to be understood as the respective time points at which the load 8 would reach a projection S.sub.i′ or S.sub.i″ of a keypoint S.sub.i derived from a prohibition zone V.sub.i placed around an obstacle 11 on the respective movement direction X, Y by the respective planned individual movements TE.sub.X, TE.sub.Y.
[0084] As mentioned, keypoints S.sub.i are preferably corner points of prohibition zones V.sub.i. In order to check whether an expected replanning trajectory TU would lead to a collision of the load 8 with an obstacle 11 specified in the working area 15, it can be checked in the situation shown in
[0085] In the procedure described, particular attention must be paid to the Y-coordinate of the load position P.sub.Z, i.e., the projection P.sub.Z″ of the load position P.sub.Z on the Y-axis. It must be taken into account whether the Y-coordinate P.sub.Z″ of the load position P.sub.Z at the beginning of an individual movement TE.sub.Y in the Y-direction is larger or smaller than the projection S.sub.i″ of the next keypoint S.sub.i in the Y-direction onto the Y-axis. In many practically relevant cases, the load position P.sub.Z at the beginning of a newly planned individual movement TE is given by the load position P.sub.Z at command time point t.sub.k, i.e. P.sub.Z(t.sub.k). If the projection S.sub.i″ of the keypoint S.sub.i closest in Y-direction to the Y-axis is smaller than the projection P.sub.Z″ of the load position P.sub.Z to the Y-axis, the condition for a collision is fulfilled exactly if vice versa t.sub.iY<t.sub.iX applies.
[0086] Individual movements TE.sub.X, TE.sub.Y are often not available in analytical form. In an advantageous manner, numerical root finding methods can also be used in such cases to determine the collision times t.sub.iX, t.sub.iY, such as the well-known bisection method or Newton's method.
[0087] In practical implementation, it is often advantageous to combine both analytical and numerical methods in order to determine the collision times t.sub.iX, t.sub.iY. Such a case is described below. The acceleration profiles a.sub.x and a.sub.y are initially specified as piecewise constant as described. For these piecewise constant acceleration profiles a.sub.x and a.sub.y, the corresponding position profiles s.sub.x and s.sub.y can easily be calculated analytically. For the resulting analytical descriptions of the position profiles s.sub.x(t) and s.sub.y(t), the collision times t.sub.iX, t.sub.iY can be calculated with little effort, e.g. by determining the zeros t.sub.x0, t.sub.y0 of the functions f.sub.x(t)=s.sub.x(t)−Si′, f.sub.y(t)=s.sub.y(t)−Si′. For these zeros t.sub.x0, t.sub.y0, accordingly f.sub.x(t.sub.x0)=f.sub.y(t.sub.y0)=0 is valid by definition. Of course, the formulas f.sub.x(t) and f.sub.y(t) can also take into account the height and width of the load 8, which are usually given by the height H.sub.7 of the load receiving element 7 plus the height H.sub.9 of a container 9 in the Y-direction, as well as half the width B.sub.7 of the load receiving element 7 (typically corresponding to half the width B.sub.9 of the container 9). Depending on whether the load 8 approaches the next keypoint S.sub.i from the left, right, top or bottom, the function f.sub.x(t), for example, can be increased or decreased by half the width B.sub.9.
[0088] If the individual movements TE.sub.X, TE.sub.Y are filtered, for example by an MA filter described at the beginning, the position profiles s.sub.x(t) and s.sub.y(t) in particular are filtered to form filtered position profiles {tilde over (s)}.sub.x(t) and {tilde over (s)}.sub.y(t). For such filtered position profiles {tilde over (s)}.sub.x(t) and {tilde over (s)}.sub.y(t), the property of an MA filter can now be utilized, according to which the zeros t.sub.x0, t.sub.y0 determined from the function f.sub.x(t) shown above can be shifted by filtering by a maximum of the filter time τ.sub.filt of the MA filter used for filtering. Accordingly, for the case of twofold filtering, a time interval of length 2.Math.τ.sub.filt can be placed around the previously determined zeros t.sub.x0, t.sub.y0, with the zeros t.sub.x0, t.sub.y0 at the beginning of the interval at the left interval boundary. In such a time interval, a bisection procedure can now be used to search for zeros of the functions {tilde over (f)}.sub.x(t)={tilde over (s)}.sub.x(t)−S.sub.i′ and {tilde over (f)}.sub.y(t)={tilde over (s)}.sub.y(t)−S.sub.i″. These zeros then correspond to the sought collision times t.sub.iX, t.sub.iY for the filtered position profiles {tilde over (s)}.sub.x(t) and {tilde over (s)}.sub.y(t).
[0089] Besides the described comparison of two collision times t.sub.iX, t.sub.iY, another approach for collision checking can be mentioned. Thus, initially only the collision time t.sub.iy can be calculated, which indicates when a projection of a given keypoint S.sub.i″ onto the Y-axis is reached along the Y-axis by a planned individual movement TE.sub.Y in Y-direction. This collision time t.sub.iy can also be used to determine the position s.sub.x(t.sub.iy), which describes the position on the X-axis specified by the planned individual movement TE.sub.x in the X-direction at the collision time t.sub.iy.
[0090] The check whether a collision with an obstacle 11 is to be expected due to planned individual movements TE can then be performed by comparing the position s.sub.x(t.sub.iy) with the projection Si′ of the keypoint Si on the X-axis. In the specific case shown in
[0091] On the other hand, to check for a collision, it is also possible to first determine the collision time t.sub.ix, to use this collision time t.sub.ix to determine the corresponding position on the Y-axis s.sub.y(t.sub.ix), and to compare the corresponding position on the Y-axis s.sub.y(t.sub.ix) with a projection Si″ of a keypoint Si on the Y-axis. In this sense, in the case shown in
[0092] If one of the above-mentioned advance calculations before the execution of at least one individual movement TE shows that a collision is to be expected, the individual movement TE causing the collision is not executed and instead a specified braking operation is performed along the movement direction X, Y for which the at least one individual movement not executed is planned, in
[0093] After the minimum braking time T.sub.St, at least one individual movement TE that has not been executed is replanned to a new individual movement TE in a replanning step in an advantageous manner. In a further checking step with the at least one new individual movement TE, it can be checked again whether the replanning trajectory TU to be expected on the basis of the new individual movement TE leads to a collision. If no collision is detected, the newly planned individual movement TE can be executed.
[0094] If, however, a collision of the load 8 with an obstacle 11 is predicted again in the preceding verification step, a specified braking operation can advantageously be performed again for at least one further minimum braking time T.sub.St. After that, a replanning step and a review step following this replanning step can be performed again.
[0095] The load 8 can also be brought to a complete standstill by repeatedly performing the braking operation described above. Further planning of individual movements TE then occurs starting from the standstill of the load 8. The possibility of using the method according to the invention to plan corresponding individual movements TE starting from the standstill of the load 8 and thus a trajectory T resulting from these individual movements TE directly opens up the option of also planning fundamentally new trajectories T for the movement of a load 8 using the method according to the invention. If the load 8 is at standstill at the start of a movement operation and no trajectory T is yet known for its movement from the starting point A to the end point E, the standstill at the starting point A can be assumed/specified as the end of a repeatedly executed braking operation and, by applying the method according to the invention, a first trajectory T for transferring the load 8 from standstill at the starting point A to the end point E can also be planned.
[0096] Similar to the previously described determination of the collision times t.sub.ix, t.sub.iy, a time interval can also be specified for a braking operation in which the load 8 can be brought to a complete standstill. Specifically, the limits t.sub.k (command time point) and t.sub.k+T.sub.TE can be specified for this time interval, where T.sub.TE describes the duration of a planned individual movement TE. Within this time interval, the load 8 comes to a standstill when a braking operation is repeatedly executed, wherein the specific time point can be determined as before, for example, by a bisection method.
[0097] Although the present invention has so far been described in terms of a trajectory T in the X-Y plane E.sub.XY, it is also possible to extend it to a three-dimensional trajectory T in space. The basic method for replanning even three-dimensional trajectories T on the basis of preferably independent individual movements remains unchanged. If the load 8 is additionally moved along a third movement direction Z by the lifting device 1, at least one individual movement T.sub.EZ is also planned for the third movement direction Z in order to replan the trajectory T in accordance with the method according to the invention, which is executed in accordance with a specified movement sequence in addition to the individual movements TE.sub.X, TE.sub.Y planned for the first movement direction X and for the second movement direction Y.
[0098] For the application of the present invention in the planning of three-dimensional trajectories, it is in many cases advantageous to specify a 3D working area for constraining the movement of the load 8 instead of a two-dimensional working area 15. In contrast to a purely two-dimensional consideration, however, it may also be necessary in the 3D case to take into account the extent of an obstacle 11 as well as the extent of a load 8 in the Z direction. This may be necessary, for example, in assembly halls where obstacles 11 arranged on the walls project into the space of the assembly hall. In such cases, situations may arise in which an obstacle 11 can also be avoided by suitable lowering movements, but this can also be implemented by the method according to the invention.
[0099] Such a case is shown in
[0100] In many practical applications, it can be advantageous in this context to use optical measuring systems to detect the load position P.sub.Z or also obstacles 11, as described for example in EP 3 653 562 A1. Optical measuring systems include suitable camera systems in particular, but also laser scanners. For the purpose of monitoring obstacles 11 that change with respect to their position in the working area 15, a camera can be mounted/installed directly on the trolley of a lifting device 1. Specifically, an optical detection of obstacles can in many cases provide information about how high and at which spatial positions obstacles 11 to be avoided are located. If a change in the position of an obstacle 11 is detected, a new prohibition zone V can be derived from it and the replanning of a trajectory for the movement of a load can be performed as described. In addition to camera and/or laser scanning systems, other approaches to detecting obstacles are also conceivable. In many cases, automation or logistics systems implemented in software also provide information about obstacles 11 to be considered.
[0101] It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention. While the present invention has been described with reference to an exemplary embodiment, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitation. Changes may be made, within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the present invention in its aspects. Although the present invention has been described herein with reference to particular means, materials and embodiments, the present invention is not intended to be limited to the particulars disclosed herein; rather, the present invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims.