FIELD OF INVENTION
[0001] The present invention relates generally to trajectory calculation for crane carried
loads, and more particularly to avoiding collisions in such trajectory calculation.
BACKGROUND
[0002] In harbours, ships are loaded and unloaded with cranes. Cranes are used both for
container movements and for bulk goods movement.
[0003] When planning movement of a load from one point to another, there are typically conflicting
objectives. On one hand, it is usually desired to effect the movement with a minimum
duration. On the other hand, any obstacles between the start point and the end point
need to be avoided, which of course, takes time.
[0004] US-6,065,619 presents a cargo handling path setting method and apparatus. A theoretical simulation
test (calculation) is performed based on set conditions to compute a cargo handling
path for a suspended load and the amount of swing of the suspended load (including
that when an abnormality occurred and the trolley stopped abruptly). In the case of
a calculated collision, the traversing starting time point and the lowering starting
time point are slightly delayed, or other set values are properly revised, and a theoretical
simulation test is conducted again. This procedure is repeated to set a cargo handling
path for the state of the obstacles present in the way during carriage.
[0005] However, any improvement in the trajectory calculation is beneficial as it can reduce
time for movements and/or more securely avoid collisions.
SUMMARY
[0006] An object of the present invention is to improve calculation of trajectories for
loads moved by cranes.
[0007] According to a first aspect of the invention, it is presented a method of calculating
a trajectory for a crane to move a load from a starting position to a destination
position. The method comprises the steps of: obtaining data representing obstacles
restricting a path from the starting position to the destination position of the load;
calculating a trajectory for the load to follow. The step of calculating includes
the use of a two dimensional geometrical model, wherein the model comprises a first
set of geometrical figures, wherein each geometrical figure of the first set corresponds
in position to a side of one of the obstacles, and a second geometrical figure representing
potential positions of the load in the case of swinging, wherein the trajectory is
calculated such that the second geometrical figure avoids intersecting any of the
geometrical figures of the first set.
[0008] The second geometrical figure may be fixed to a calculated opposite swing position
of the load for a plurality of potential load positions of the trajectory, wherein
the plurality of potential load positions are for a plurality points in time.
[0009] Any side of the obstacles may correspond to at most one geometrical figure of the
first set. In other words, there are no duplicates of geometric figures representing
a side of an obstacle.
[0010] The method may further comprise the step of sending signals to effect movement of
the crane according to the calculated trajectory.
[0011] The second geometrical figure may be a circle containing potential swing positions
of the load.
[0012] The step of calculating may include solving differential equations.
[0013] The first set of geometrical figures may comprise at least one circle with its diameter
matching the corresponding side of an obstacle.
[0014] The first set of geometrical figures may comprise at least one line with its length
matching the corresponding side of an obstacle.
[0015] The first set of geometrical figures may comprise at least one polygon with the length
of one of its sides or a major dimension matching the corresponding side of an obstacle.
[0016] The first set of geometrical figures may comprise at least one ellipse with one of
its axes matching the corresponding side of an obstacle.
[0017] A second aspect of the invention is a computer program comprising computer program
code executable in a controller of a trajectory calculator, wherein the computer program
code, when run in the controller, causes the trajectory calculator to perform the
method according to the first aspect.
[0018] A third aspect of the invention is a computer program product comprising a computer
program according to the second aspect and a computer readable means on which the
computer program is stored.
[0019] A fourth aspect of the invention is a trajectory calculator for calculating a trajectory
for a crane to move a load from a starting position to a destination position. The
trajectory calculator comprises: a data obtainer arranged to obtain data representing
obstacles restricting a path from the starting position to the destination position
of the load; and a calculator module arranged to calculate a trajectory for the load
to follow. The calculator module is arranged to use a two dimensional geometrical
model, wherein the model comprises: a first set of geometrical figures, wherein each
geometrical figure of the first set corresponds in position to a side of one of the
obstacles, and a second geometrical figure representing potential positions of the
load in the case of swinging, wherein the calculator module is arranged to calculate
the trajectory such that the second geometrical figure avoids intersecting any of
the geometrical figures of the first set.
[0020] It is to be noted that any feature of the first, second, third and/or fourth aspect
are, when possible, applicable to any other aspect.
[0021] Whenever the term match is used herein, it is to be construed as being of essentially
identical.
[0022] Generally, all terms used in the claims are to be interpreted according to their
ordinary meaning in the technical field, unless explicitly defined otherwise herein.
All references to "a/an/the element, apparatus, component, means, step, etc." are
to be interpreted openly as referring to at least one instance of the element, apparatus,
component, means, step, etc., unless explicitly stated otherwise. The steps of any
method disclosed herein do not have to be performed in the exact order disclosed,
unless explicitly stated.
BRIEF DESCRIPTION OF DRAWINGS
[0023] The invention is now described, by way of example, with reference to the accompanying
drawings, in which:
Fig 1 is a schematic diagram showing a model including a trajectory for a load from
a starting position to an end position when there are no obstacles,
Fig 2 is a schematic diagram showing a model including a trajectory for the load from
the starting position to the end position when there are obstacles and no consideration
is made for emergency stops,
Fig 3 is a schematic diagram showing a model including a trajectory for the load from
the starting position to the end position when there are obstacles and consideration
is made for sudden stops,
Fig 4 is a schematic drawing showing modules of a trajectory calculator capable of
calculating the trajectory of Fig 3,
Fig 5 is a schematic drawing showing hardware devices of the trajectory calculator
of Fig 4,
Fig 6 is a schematic drawing showing one example of a computer program product comprising
computer readable means; and
Fig 7 is a flow chart illustrating calculation of trajectory according to one embodiment.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0024] The present invention will now be described more fully hereinafter with reference
to the accompanying drawings, in which certain embodiments of the invention are shown.
This invention may, however, be embodied in many different forms and should not be
construed as limited to the embodiments set forth herein; rather, these embodiments
are provided by way of example so that this disclosure will be thorough and complete,
and will fully convey the scope of the invention to those skilled in the art. Like
numbers refer to like elements throughout the description.
[0025] Fig 1 is a schematic diagram showing a model including a trajectory 20 for a load
12 from a starting position 11a to an end position 11b when there are no obstacles.
The load 12 is controlled from a crane comprising a trolley 10 and a cable 13. The
height of the load 12 in the y direction 12 compared to the trolley 10 can be adjusted
by hoisting. Moreover, the trolley 10 can move along the x direction. In this example,
there are no obstacles, so the calculation of the trajectory is as simple as hoisting
the load 12 sufficiently to clear the ground, moving the trolley 10 and lowering the
load 12 to the end position 11b.
[0026] Fig 2 is a schematic diagram showing a model including a trajectory 21 for the load
12 from the starting position 11a to the end position 11b when there are obstacles
15a-e and no consideration is made for emergency stops. The obstacles 15a-e can be
any obstacle which needs to be cleared by the load 12 in its movement. For example,
the obstacles 15a-e can be shipping containers. In this trajectory 21, the obstacles
15a-e are only just passed in the movement of the load 12, as illustrated by the dashed
lines of the trajectory 21. In one way, this trajectory 21 is an optimal route since
there is no superfluous and slow hoisting to clear the obstacles 15a-e.
[0027] However, consider the midway position 11c of the load 12. While in movement, the
cable 13' is at an angle due to acceleration and movement of the trolley 10 along
the x-axis. If the trolley 10 at this point would have to make an emergency stop,
the load 12 would swing from position 11c into the obstacle 15a. It is thus desirable
to have some margin between the load and the obstacles to avoid the load 12 from swinging
into obstacles 15a-e in the case of a sudden stop. However, the margin should not
be too large, as this would result in unnecessary and slow hoisting.
[0028] Fig 3 is a schematic diagram showing a model including a trajectory 22 for the load
12 from the starting position 11a to the end position 11b when there are obstacles
15a-e and consideration is made for sudden stops. In this model, a set of geometrical
figures 30a, 30b, 30c, 30e are generated, wherein each geometrical figure 30a, 30b,
30c, 30e corresponds in position to a side 17a, 17b, 17c, 17e of one of the obstacles
15a-e. The sides 17a, 17b, 17c, 17e are all external sides which could potentially
be interfaces of collision for the load. Optionally, geometric figures are also provided
for other external surfaces such as top surfaces (not shown). The geometrical figures
can be circles, ellipses, lines, rectangles, etc, as long as the sides of the obstacles
are encompassed.
[0029] Moreover, a second geometrical figure 31 representing potential positions of the
load 12 in the case of swinging is generated. In this example, the second geometrical
figure 31 is a circle, but any suitable geometrical figure can be selected as long
as it encompasses the potential maximal swinging position of the load 12. This is
explained in more detail with reference to Figs 8a-c.
[0030] In this example, the trajectory is calculated such that the second geometrical figure
31 avoids intersecting any of the geometrical figures 30a, 30b, 30c, 30e of the set.
Consider midway position 11d. If the trolley were to suddenly stop, e.g. due to an
emergency stop or power failure, due to the built in margins of the calculated trajectory
22, the load 12 will not swing into the obstacles 15a-e.
[0031] Fig 8a is a schematic illustration of when swinging is considered when calculating
the trajectory. For each position in the trajectory, the angle α denotes an angle
from the normal of the trolley when the load is in a particular position 11c. α can
be calculated as a function of a number of variables, e.g. previous acceleration in
the x direction and previous acceleration in the y direction, cable length, etc. Based
on the position of the load 11c, an opposite swing position 11e is calculated. The
worst case scenario in the case of a sudden stop is that the load swings all the way
to a position 11e, defined as the opposite side of the normal, at the angle α' = a
away from the normal. However, α', can be calculated as an angle smaller than α, taking
into account friction, etc. The second geometrical figure 31 is positioned based on
the calculated opposite swing position, e.g. centred about the load in this position
11e. The trajectory is thus calculated such that the second geometrical figure 31
avoids intersecting the geometrical figures, here 30c, of the obstacles, here 15b
throughout the trajectory.
[0032] Fig 8b is a schematic illustration a potential extreme case of swinging. If, as explained
with reference to Fig 8a, the trajectory is calculated only at the opposite swing
position 11e, there may exist, when α is large, a situation where obstacles 15a-b
are situated between the actual position and the opposite swing position lie. Due
to the large angle α, the second geometrical figure 31 does not intersect any of the
geometrical figures of the obstacles. However, it is clear that if there were to be
a sudden stop when the load is in position 11c, the load would swing into the obstacles
15a-b. Fig 8c is a schematic illustration of a solution to the potential extreme case
of swinging of Fig 8b. Here, there is not only one second geometrical figure representing
the swing position, but a set of second geometrical figures 31a-d. The set of second
geometrical figures 31a-d can for example be determined such that they together cover
an arc 32 between the position 11c of the load 12 and the opposite swing position
11e. Alternatively, all positions between the position 11c of the load 12 and the
opposite swing position 11e are considered. In any case, the trajectory is determined
such that the whole set of second geometrical figures 31a-d avoid intersecting the
geometrical figures of the obstacles.
[0033] Fig 4 is a schematic drawing showing modules 40, 42 of a trajectory calculator 1
capable of calculating the trajectory of Fig 3. The modules 40, 42 can be implemented
using hardware and/or software of the trajectory calculator 1.
[0034] A data obtainer 40 is arranged to obtain data representing obstacles restricting
a path from the starting position to the destination position of the load.
[0035] A calculator module 42 is arranged to calculate a trajectory for the load to follow
as was explained with reference to Fig 3.
[0036] Fig 5 is a schematic drawing showing hardware devices of the trajectory calculator
1 of Fig 4,
[0037] A controller 44 is provided using any suitable central processing unit (CPU), microcontroller,
digital signal processor (DSP), etc., capable of executing software instructions stored
in a computer program product or memory 46. The memory 46 can be any combination of
read and write memory (RAM) and read only memory (ROM). The memory also comprises
persistent storage, which, for example, can be any single one or combination of magnetic
memory, optical memory, or solid state memory or even remotely mounted memory.
[0038] An input/output (I/O) interface 47 is provided to allow the trajectory calculator
1 to interact with other components, such as the crane 50. The I/O interface 47 can
for example be a network interface such as an Ethernet interface.
[0039] Fig 6 shows one example of a computer program product 70 comprising computer readable
means. On this computer readable means a computer program 71 can be stored, which
computer program can cause a controller to execute a method according to embodiments
described herein. In this example, the computer program product is an optical disc,
such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. As
explained above, the computer program product could also be embodied as a memory of
a device, such as memory 46 of the trajectory calculator 1. While the computer program
71 is here schematically shown as a track on the depicted optical disk, the computer
program can be stored in any way which is suitable for the computer program product.
[0040] Fig 7 is a flow chart illustrating calculation of trajectory according to the embodiment
illustrated in Fig 3.
[0041] In an initial obtain data step 60, the model is built, e.g. by obtaining data for
obstacles to avoid.
[0042] In a calculate trajectory step 62, the trajectory is calculated as is explained with
reference to Fig 3 above. The trajectory can be calculated using the model to obtain,
under the conditions given, an optimal trajectory path, e.g. using differential equations.
[0043] In a send movement signals step 64, the calculated trajectory is sent to the crane
to be effected.
[0044] The invention has mainly been described above with reference to a few embodiments.
However, as is readily appreciated by a person skilled in the art, other embodiments
than the ones disclosed above are equally possible within the scope of the invention,
as defined by the appended patent claims.
1. A method of calculating a trajectory for a crane (50) to move a load (12) from a starting
position (11a) to a destination position (11b) comprising the steps of:
obtaining (60) data representing obstacles (15a-e) restricting a path from the starting
position to the destination position of the load; and
calculating (62) a trajectory (22) for the load to follow,
characterised in that the step of calculating includes the use of a two dimensional geometrical model (5),
wherein the model comprises:
a first set of geometrical figures (30a, 30b, 30c, 30e), wherein each geometrical
figure of the first set corresponds in position to a side (17a, 17b, 17c, 17e) of
one of the obstacles (15a-e), and
a second geometrical figure (31) representing potential positions of the load in the
case of swinging,
wherein the trajectory is calculated such that the second geometrical figure avoids
intersecting any of the geometrical figures of the first set.
2. The method according to claim 1, wherein the second geometrical figure is fixed to
a calculated opposite swing position (11e) of the load for a plurality of potential
load positions of the trajectory, wherein the plurality of potential load positions
are for a plurality points in time.
3. The method according to claim 1 or 2, wherein any side (17a, 17b, 17c, 17e) of the
obstacles corresponds to at most one geometrical figure (30a, 30b, 30c, 30e) of the
first set.
4. The method according to any one of the preceding claims, further comprising the step
(64) of sending signals to effect movement of the crane according to the calculated
trajectory.
5. The method according to any one of the preceding claims, wherein the second geometrical
figure (31) is a circle containing potential swing positions of the load.
6. The method according to any one of the preceding claims, wherein the step of calculating
includes solving differential equations.
7. The method according to any one of the preceding claims, wherein the first set of
geometrical figures comprises at least one circle with its diameter matching the corresponding
side of an obstacle.
8. The method according to any one of the preceding claims, wherein the first set of
geometrical figures comprises at least one line with its length matching the corresponding
side of an obstacle.
9. The method according to any one of the preceding claims, wherein the first set of
geometrical figures comprises at least one polygon with the length of one of its sides
or a major dimension matching the corresponding side of an obstacle.
10. The method according to any one of the preceding claims, wherein the first set of
geometrical figures comprises at least one ellipse with one of its axes matching the
corresponding side of an obstacle.
11. A computer program (71) comprising computer program code executable in a controller
(44) of a trajectory calculator (1), wherein the computer program code, when run in
the controller, causes the trajectory calculator to perform the method according to
any one of claims 1 to 10.
12. A computer program product (70) comprising a computer program according to claim 11
and a computer readable means on which the computer program is stored.
13. A trajectory calculator for calculating a trajectory for a crane to move a load from
a starting position to a destination position, the trajectory calculator comprising:
a data obtainer (40) arranged to obtain data representing obstacles restricting a
path from the starting position to the destination position of the load; and
a calculator module (42) arranged to calculate a trajectory for the load to follow,
characterised in that the calculator module is arranged to use a two dimensional geometrical model, wherein
the model comprises:
a first set of geometrical figures, wherein each geometrical figure of the first set
corresponds in position to a side of one of the obstacles, and
a second geometrical figure representing potential positions of the load in the case
of swinging,
wherein the calculator module is arranged to calculate the trajectory such that the
second geometrical figure avoids intersecting any of the geometrical figures of the
first set.