Crane pathfinding system and method

The hybrid pathfinding system for overhead cranes efficiently navigates through factory environments by combining global and local pathfinding methods to avoid static and dynamic obstacles, optimizing computational efficiency and safety.

WO2026150161A1PCT designated stage Publication Date: 2026-07-16KONECRANES GLOBAL OY

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
KONECRANES GLOBAL OY
Filing Date
2026-01-07
Publication Date
2026-07-16

AI Technical Summary

Technical Problem

Existing pathfinding algorithms for overhead cranes in factory environments are computationally expensive due to the large number of obstacles, leading to inefficiencies in navigating between them.

Method used

A method and system that employs a hybrid pathfinding approach, using a global path to avoid predefined forbidden zones and static obstacles, and a local path to dynamically avoid dynamic obstacles, utilizing sensors to detect obstacles within a threshold distance and generate an alternative path if necessary, with the aid of artificial potential field algorithms.

Benefits of technology

This approach reduces computational overhead by minimizing recalculations and ensures efficient, obstacle-free navigation while maintaining a smooth and safe path for the crane, balancing computational efficiency with real-time obstacle avoidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FI2026050004_16072026_PF_FP_ABST
    Figure FI2026050004_16072026_PF_FP_ABST
Patent Text Reader

Abstract

Method of controlling a crane system (2) comprising defining one or more forbidden zone (28), the forbidden zone defining a location in which a carrying member (18) of the crane or the load thereon is not permitted. A first path (36) between a first location (32) and second location (24) is determined, the first path (36) configured such that the carrying member (18) or the load thereon does not enter a forbidden zone (28) during traversal of the first path (36). The carrying member (18) is moved along said first path (36) and detecting if an obstacle (30) is within a threshold distance of the carrying member (10), the load thereon and / or the first path. A second path (38) is determined if said obstacle (30) is within a threshold distance of the carrying member (10), the load or the first path, the second path (38) defining a path where the carrying member (18) or the load thereon avoids said obstacle (30).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Crane pathfindinq system and method

[0002] The present disclosure relates to a method and system of pathfinding for a crane, in particular, an overheard crane system.

[0003] Background of the Invention

[0004] Overhead crane systems may be used to transport heavy loads within a certain environment, for example, over a factory floor. Automated systems may be used to transport the load with minimal human interaction. Such systems used a path finding algorithm to move the load to the destination whilst avoiding obstacles.

[0005] The inventor has found numerous problems with prior art systems. Path finding algorithms may use sensors to detect obstacles, thus helping the system avoid said obstacles. Given the large amount of potential obstacles in a factory environment, it may be computationally expensive to pathfind between the obstacles.

[0006] The present invention aims to overcome and / or ameliorate one or more of the above problems.

[0007] Statement of Invention

[0008] According to a first aspect there is provided: a method of controlling a crane system comprising: defining one or more forbidden zone, the forbidden zone defining a location in which a carrying member of the crane or the load thereon is not permitted; determining a first path between a first location and second location, the first path configured such that the carrying member or the load thereon does not enter a forbidden zone during traversal of the first path; moving the carrying member along said first path and detecting if an obstacle is within a threshold distance of the carrying member, the load thereon and / or thefirst path; and determining a second path if said obstacle is within a threshold distance of the carrying member, the load or the first path, the second path defining a path where the carrying member or the load thereon avoids said obstacle.

[0009] The method may comprise moving the carrying member along the second path. The second path may be configured to return to the first path after avoiding said obstacle (i.e. the second path extends between portions of the first path).

[0010] The second path may be configured to provide an optimum path to avoid said obstacle. The second path may comprise a local path. The second path may be determined using an artificial potential field algorithm. The second path may comprise a plurality of linear segments. The second path may be postprocessed to provide said segments. The second path may be dynamically generated. The second path may be only generated in the event an obstacle is detected. The second path may branch / deviate from the first path.

[0011] The second path may be configured to avoid a forbidden zone.

[0012] The first path may be configured to provide an optimum path between the first location and second location. The optimum path may comprise a shortest and / or quickest route. The optimum path may comprise a path configured to avoid excessively sharp turns. The optimum path may be determined using the A* algorithm. The first path may be static / preconfigured / predetermined (i.e. remain unchanged when the second path is generated).

[0013] The forbidden zone may comprise a static area or volume. The forbidden zone may enclose a fixed object and / or fixed working area.

[0014] The obstacle may comprise a movable or dynamic object.The first path may remain unmodified between first location and second location (i.e. the second path only modifies the first path such as to avoid the obstacle).

[0015] The first path and / or second path may be configured to avoid a forbidden zone and / or obstacle by a predetermined margin. The predetermined margin may be a function of one or more: the length / payout of the carrying member; the speed of traversal of the crane; the shape / size of the load; and / or the angle about which the path changes. The threshold distance may be a function of one or more: the length / payout of the carrying member and / or the shape / size of the load. The threshold distance may be a function of the mass of the load.

[0016] The first path may be determined by a global pathfinding system. The second path may be determined by a local pathfinding system. The local pathfinding system may be only initiated in the event an obstacle is detected (e.g. the crane is driven along the global path and only along the local path as necessary to avoid an obstacle). The local pathfinding system may determine a path in a first area size and global pathfinding system determines a path in a second area size larger than the first area size.

[0017] The detection of the obstacle may be performed using a sensor system. The sensor system may comprise a detection distance greater than a minimum stopping distance of the crane system.

[0018] The method may comprise identifying the carrying member and / or load thereon. Data relating to the carrying member and / or load may be disregarded during detecting of the obstacle.

[0019] The local path and / or global path may comprise a series of waypoints. Each waypoint may comprise a target area. When the crane system reaches the target area, the crane system may move toward the next waypoint in the series. The radius of the target area may be variable. The radius may comprise thedistance between a waypoint and the nearest objection (e.g. a corner thereof). The radius may be defined may constructing a line between the next waypoint and the obstacles, with the radius defined at the point said line intercepts the global / local path.

[0020] The working area may be divided into an array of 2-dimensional and / or 3-dimensional cells. The forbidden zones and / or obstacles may be defined using said cells. The first and / or second path may be determined using said cells.

[0021] According to a further aspect, there is a pathfinding system for controlling a crane system configured to: receive one or more forbidden zone, the forbidden zone defining a location in which a carrying member of the crane or the load thereon is not permitted; determine a first path between a first location and second location, the first path configured such that the carrying member or the load thereon does not enter a forbidden zone during traversal of the first path; provide instructions to move the carrying member along said first path and receive data indicative if an obstacle is within a threshold distance of the carrying member, the load thereon and / or the first path; and determine a second path if said obstacle is within a threshold distance of the carrying member, the load or the first path, the second path defining a path where the carrying member or the load thereon avoids said obstacle.

[0022] According to a further aspect, there is provided: a computer program or computer readable medium comprising program instructions which, when executed by the computer, cause the computer to carry out a computer process implementing the method according to any preceding claim.

[0023] According to a first aspect, there is provided: a crane system comprising: a controller configured to receive data defining one or more forbidden zone, defining a location in which a carrying member of the crane or the load thereon is not permitted, where the controller is configured to determine a first path between a first location and second location, the first path configured such thatthe carrying member or the load thereon does not enter a forbidden zone during traversal of the first path; a control system configured to move the crane along said first path; a sensor system configured to detect if an obstacle is within a threshold distance of the carrying member, the load thereon or the first path; and where the controller is configured to determine a second path if said obstacle is within a threshold distance of the carrying member, the load or the first path, the second path defining a path where the carrying member or the load thereon avoids said obstacle.

[0024] The sensor system may comprise a LIDAR or RADAR system. The pathfinding system may comprise a controller / processor. One or more motor may be provided to effect movement of the carrying member / crane. The motor(s) may comprise a respective control system. The pathfinding system may be operatively connected to the motor(s) (e.g. to provide commands thereto). The pathfinding system may be operatively connected to a plurality of motors to provide movement of the carrying member / crane in two or more dimensions.

[0025] Any aspect of the invention may be combined with any other aspect of the invention where practicable.

[0026]

[0027] Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings:

[0028] Figure 1 A shows a schematic side view of a first embodiment of a crane;

[0029] Figure 1B shows a schematic side view of a second embodiment of a crane;

[0030] Figure 2 shows a schematic top view of a working area;

[0031] Figure 3 shows a schematic top view of a global path determination;

[0032] Figure 4 shows a schematic top view of a local path determination;

[0033] Figure 5 shows a schematic view of a pathfinding method;Figure 6 shows a schematic view of a pathfinding system.

[0034] A crane system 2 is shown schematically in figure 1A. The crane comprises a gantry type crane. The crane 2 comprises bridge portion 4. A hoist mechanism 6 is mounted to the bridge portion 4 and is movable along the length thereof. The bridge 4 may comprise a girder, beam, rail, jib or the like. The hoist 6 comprises a carriage or trolley 8 movably mounted to the bridge 4. The carriage may comprise a wheel, bearing or roller to provide movement thereof. Movement may be effected by a motor 10 provided on the trolley 8. The motor may comprise a gearbox or the like. The gearbox may then be operatively connected to the wheel / bearing / roller. In other embodiments, the trolley 8 may be effected via external driving means (e.g. via a screw drive or endless loop).

[0035] A motor (not shown) may be provided to effect movement of the gantry / bridge portion, where the gantry / bridge 4 is movable. The motor may comprise a gearbox. The gearbox may be connected to wheel or the like to drive the gantry / bridge. The gantry / bridge 4 may be mounted to gantry, rail, guide or support structure to allow horizontal movement thereof. The gantry / bridge 4 may be movable along a rail 12 or pair or rails. The bridge may comprise one or more wheel 14 configured to engage the ground, rail or the support structure where provided. The bridge may comprise a plurality of legs 16. The wheels 14 are provided on the legs 16. This provides a gantry crane like arrangement.

[0036] In the embodiment shown in figure 1 , the rail 12 may be provided on fixed structure. The wheels 14 are therefore mounted directly to the bridge 4. This provides an overhead crane like arrangement.

[0037] A carrying member 18 is provided on the hoist 6 to allow connection to a load in use. The carrying member 18 is typically flexible. For example, the carrying member may comprise a rope, cable or chain. The rope may comprise a metallic (e.g. steel) or polymeric / synthetic rope. In some embodiments, the carrying member may be rigid or comprise rigid portions. A connector 20 isprovided at an end of the carrying member 18 for connection to a load. The connector 20 may comprise a hook, eyelet, carabiner or the like. The carrying member 18 is presented in a schematic manner in figure 1, and it can be appreciated that the carrying member 18 may be looped over a pulley (e.g. to form a pulley system) and / or comprises a plurality of parallel members. The “end” of the carrying member 18 may comprise a lowermost point of the carrying member 18 in use.

[0038] The crane 2 may be configured to raise / lower the load. For example, the hoist 6 may comprise a winch, pulley system and / or other hoisting mechanism for effecting movement of the load in a vertical direction in use. The winch / pulley may pay-out or pay-in the carrying member 18. A drum (e.g. a rope drum) or spindle may be provided to store the carrying member 18. A motor (not shown) may be provided to effect movement in the vertical direction (i.e. to rotate the drum). The motor may comprise a gearbox. Typically, the carrying member 18 may be moved in a 3-dimensional space.

[0039] Any or all of the above motors (e.g. to drive the trolley, the gantry or pay in / out the carrying member) may comprise a brake. The brake may comprise a mechanical and / or electrical brake. Each of the motors may comprise an independent drive and / or control system (e.g. to allow independent control of the movement of the load in 3-dimensions).

[0040] It can be appreciated that the exact form of the crane is not pertinent to the invention at hand, and in generally terms, the system comprises a hoist movable in a horizontal direction. The crane may comprise any suitable type of crane, for example one or more of: an overhead / bridge crane; a tower crane; a gantry crane (e.g. the bridge portions is movable); deck crane; jib crane; or hammerhead crane. Typically, any of the aforementioned driving motors are electric motors.The crane 2 comprises a sensor system 22. The sensor system 22 is configured to detect objects in the near vicinity of the crane 2, and in particular, the load on the crane 2. The sensor system has a field of view 24. Typically, the load and the certain area around the load are provided within the field of view. For example, an area of at least 10m or at least 20m is visible around in the load in use. The field of view may extend 360 degrees around the crane 2.

[0041] The sensor system 22 may comprise a ranging system. This allows detection and / or ranging of obstacles around the crane 2 and / or the load. The sensor system 22 may comprise a LIDAR and / or RADAR system. The sensor system 22 may comprise a stereo-camera or camera system capable of range estimation. The sensor system 22 may comprise a scanning type laser range finding system. It can be appreciated the sensor system 22 may take any suitable form to detect obstacles in the environment.

[0042] The sensor system 22 is provided at a position with good visibility, for example, on the gantry 4. This allows the sensor system 22 to have a good heigh advantage. The sensor system 22 is typically provided on the crane 2 itself. Thus, a single sensor system 22 may monitor the crane. In other embodiments, the sensor system 22 may be external to the crane (e.g. mounted on a building or gantry). A plurality of sensor systems 22 may be used to monitor the crane 2 or plurality of cranes.

[0043] A second embodiment of the crane system 2 is shown in figure 1 B. Such an arrangement is mounted on rails 12 that are suspended above the ground. This forms an overhead crane type arrangement. The legs 16 are therefore relatively shorter than the embodiment in figure 1 A and / or the wheels 14 are mounted directly to the gantry 4. The gantry 4 comprises a girder or the like.

[0044] A pathfinding system is described with reference to figures 2-4. A working area 26 is defined. The working area 26 defines a space in which the crane operates. This may be the physical limit in which the crane operates (e.g.defined by the end of rail system 12 or gantry 4). In some embodiments, the working area 26 may define a boundary in which the crane is permitted to operate. For example, the crane 2 may not be permitted to operate across the whole factory floor, for example, to provide protected area.

[0045] One or more forbidden zone 28 is defined. The forbidden zone 28 defines an area within the working area 26 that operation of the crane 2 is not permitted. Whilst the gantry 4 may be allowed to pass over such zones 28, the load and / or carrying member 18 are not permitted into the zone 28. The zone 28 may contain on obstacle 30. It can be understood that the obstacle may comprise any object in which contact with the crane load would be undesirable.

[0046] Examples may comprise any of: machinery or processing equipment; electrical, lighting, HVAC equipment; dangerous or flammable materials; or other cranes etc. In other embodiments, the zone 28 may define area in which no obstacle is present, however, crane operation is not permitted, for example, walkways or safe zones where human may be present.

[0047] The zone 28 may be defined in any suitable form. Typically, the zone 28 may comprise a similar size / shape to obstacle 30 with an additional spatial margin. Where the obstacle 30 may be movable, the zone 28 may define a working area of the movable obstacle, thus ensuring crane operation does not interfere with the moving obstacle regardless of the position thereof.

[0048] The zones 28 are static (i.e. they do not move in day-to-day operation). The zones 28 are thus used to identify static obstacles accordingly. Where zones 28 are used to identify movable obstacles, the zone 28 may include the complete working area of obstacle, as described above. Regardless, the zone 28 remains static. The zones 28 are typically pre-defined. For example, the zones 28 and the shape thereof are preprogrammed into the system. The zones 28 may be defined by a plurality of co-ordinates. Additionally or alternatively, the working area 26 is divided into a grid or array, and individual grid areas including said zone 28 are recorded. The zones 28 may be 2-dimensional (e.g. a complete floor area is forbidden) or 3-dimensional (e.g. a volume above and / or below a predefined area is forbidden). The zones 28 may comprise a cuboid shape or any suitable shape to define the zone 28.

[0049] The zones 28 may be manually defined and / or input into the system. If static obstacles are moved within the working area 26 then the zones 28 may be redefined accordingly. In some embodiments, the system may be automatically configured to update positions of the zones 28, for example, via tracking system or via scanning the working area 26.

[0050] Once the forbidden zones 28 have been properly defined, the system may be used to transport a load from a first position 32 to a second position 34. The system determines a path 36 between the first position 32 and the second position 34. The system is configured to determine a path 36 that avoids the zones 28. The path 36 comprises a shortest and / or quickest path between the first position 32 and the second position 34. Any suitable algorithm may be used to determine said path, for example, Dijkstra's algorithm or A* algorithm. Pathfinding may be performed in a single pass.

[0051] The path 36 may take into account the dynamics of the crane and / or load thereon. For example, the path 36 may exclude sharp turns to prevent excessive swaying. Swaying of the load and / or carrying member 18 may be prevented or at least reduced during acceleration / deceleration and / or whilst passing an obstacle. The pathfinding system make take into consideration the length / payout of the carrying member when calculating the path. For example, for a given length of the carrying member, a maximum sway distance can be determined. The maximum sway distance may be a function of the speed of the carrying member 18 / load and / or the angle at which the path 36 turns. A margin about which a forbidden zone must be avoid can be determined accordingly. For example, a long carrying member 18 with a relatively sharp turn, the margin may be larger and for a short carrying member 18 and a gentle turn, the margin is smaller. Anti-sway technology may be used to reduce / prevent swaying.As shown in figure 3, many paths may be determined. The shortest and / or quickest path (shown in solid lines) is selected over less optimal paths (shown in dashed lines). Although the path 36 is shown as series in figure 3, it can be appreciated that the path 36 may comprise any suitable form. For example, the path 36 may be curved or may comprise multiple linear segments. Such a system may provide “global” pathfinding system, for example, as it defines the overall (i.e. global) path in which the crane 2 should take.

[0052] The pathfinding system may divide in the working area 26 into a volumetric array of cells. The forbidden zones 28 are defined the same array. The size of cells determines the accuracy of the model and therefore the accuracy of the path. However, increasing the numbers of cells in the system increases the computational overhead, and so the size of the cells may be chosen to balance accuracy with said overhead. The pathfinding algorithm then uses each cell in the system as a node to find the optimum path between the first position 32 and the second position 34. Cells in which forbidden zones 28 are contained are disregarded by the algorithm.

[0053] The path-finding algorithm may avoid forbidden zones by a predefined spatial margin (e.g. 1m). This may be beneficial where margins are not pre-defined within the zones 28 or to provide an extra margin of safety.

[0054] The crane system 2 follows the path 36 from the first position 32 toward the second position 34. Typically, this is performed automatically, and movement is controlled by a computer. Movement may be monitored by a human operator. Alternatively, the path 36 is indicated to the user and the user manually controls the crane 2 along said path. A movement control system for the crane 2 receives path information and control the movement of the crane system 2 accordingly. During movement of the crane 2, the sensor system 22 is continually (in real-time, or near real-time) scanning the local vicinity of the crane 2 and / or load. As shown in figure 4, if the sensor system 22 detects anobstacle on the path 36, then the system is configured to generate a new path 38 to avoid the obstacle.

[0055] The sensor system 22 is configured to detect objects which are not expected on the path 36 and / or which may potentially collide with a portion of the crane (e.g. the carrying member 18) or load thereon. Such objects may be referred to as “dynamic” objects (e.g. they are not preprogrammed or predefined in the system). Such objects are typically movable objects, for example, humans, vehicles, movable loads etc.

[0056] The sensor system 22 may be configured to disregard or filter out objects detected within the forbidden zones 28. This helps to prevent false detection of the dynamic objects. As the system is configured to generate a path avoiding the forbidden zones 28, such filtering may not be required, as the static objects in the forbidden zones may be outside of the field of view 24 of the sensor 22. The sensor system 22 may be configured to disregard or filter out objects detected outside a predetermined threshold range from the crane 2 and / or load. The sensor system 22 may only determine a collision risk if an obstacle is within a certain distance of the crane 2 and / or load. For example, if the obstacle is greater than the 2m away from the path 36 followed by the load or the load itself, then action need not be taken.

[0057] The sensor system 22 is configured to disregard data relating to the carrying member 18, hook 20 or the load. This helps to prevent falsely identifying these components as an obstacle. The system may be pre-programmed with the shape / size of the load and / or any portions of the crane within the field of view 24 of the sensor system. The user may manually acknowledge that the carrying member / load is detected and / or that the shape / size thereof has been accurately determined by the system. A button or other input may be provided to allow the user to provide said acknowledgement. In some embodiments, the sensor system 22 may disregard all data within a predetermined range from the crane / load.In some embodiments, the system is configured to determine if the dynamic obstacle intercepts the global path 36 (e.g. within threshold distance thereof). The system may therefore pre-empt that the load may intercept the obstacle or pass within a threshold distance thereof. In some embodiments, the system is configured to merely determine whether the load and / or carrying member is within a threshold range of obstacle. The system may therefore be reactive. The threshold distances / range may be determined in accordance with the shape / size of the load (e.g. a large load may require a large threshold distance). The threshold distances / range may be determined in accordance with the mass of the load The shape / or size of the load by be determined by the sensor system 22. The shape / size data is then provided to the pathfinding system. The predetermined margin around the forbidden zone may be similarly determined. The threshold distance may be determined in accordance with the payout length of the carrying member (e.g. a long payout may require a large threshold distance).

[0058] In some embodiments, the shape, size and / or mass of the load may be receive from an external source. For example, shape, size and / or mass of the load may be stored in an inventory and / or task management system (e.g. Enterprise resource planning system). The shape, size and / or mass of the load may then be retrieved by the pathfinding system from the inventor / task management system.

[0059] The sensor system 22 is configured to detect and react to the obstacle in sufficient time such that the crane system 2 has sufficient time to either stop or go around the obstacle. For example, if the minimum stopping distance of the crane system 2 is 5m, then sensor system 2 is configured to see obstacles at least 5m ahead of the crane 2. This ensures that crane 2 is able to stop in the event that a new path cannot be determined. This also allows greater time for the new path 38 to be generated and ensure that the new path does not excessively make sharp turns.For slower moving crane system 2, or when the system is stationary, the sensor system 22 may be configured to detected obstacles in a 360 degree field of view. Each direction in the field of view may comprise an evenly shared priority. When the crane is moving on higher velocity, the sensor system 22 may be configured to prioritise one or more direction, typically, the direction in which the crane system 2 is moving. This may increase the time in which the pathfinding system has to react, for example, to create the new path 38.

[0060] The new path 38 may be generated by a “local” pathfinding system. The local pathfinding system is configured to pathfind around the obstacle in a local vicinity. For example, local system may pathfind in an area less than 30m, 20m or 10m around the vicinity of the crane 2. The local system is configured to pathfind around the obstacle whilst attempting to return to path 36 defined by the global pathfinding system. The local pathfinding system is configured to find the shortest / quickest path 38 to avoid and obstacle and return to the global path 36. For example, as shown in figure 2, the local path 38 avoids the dynamic obstacle 40 and returns to the global path 36. The local pathfinding system may use any algorithm to find the local path 38, as previously discussed with respect to the global path. The local path 38 is determined using the current position of the crane 2 and the position where the original global path 36 exits the local area (i.e. the area obscured by the obstacle), or to the second position 34 if located inside the local area.

[0061] During determination of the local path 38, the local pathfinding system is configured to use obstacle data from the sensor system 22. The sensor system 22 may provide co-ordinates and / or other position data of the obstacle to the local pathfinding system. The local pathfinding system is also configured to use forbidden zone 28 data (i.e. to avoid such zones). This ensures that the local path 38 avoids both dynamic obstacles and static obstacles. In the example shown in figure 4, the shortest path around the dynamic obstacle 40 would be to move around the left side of the dynamic obstacle 40, however, such a pathwould approach the forbidden zone 28, and so the local path 38 moves around the right side of the dynamic obstacle 40. The local pathfinding system may be configured to avoid dynamic and / or forbidden zones by predetermined margin. The margin may allow for additionally safety and / or to compensate for dynamic movement of the load (e.g. swaying). The local pathing finding system may use the same margin calculation system as described with respect to the global path 36. The local path 38 may be provide as waypoints, as previously described.

[0062] The local path 38 system may use the same grid / cell system as provided for the global path 36. The local path 38 and / or the global path may therefore traverse in 3-dimensional space (e.g. the hoist 8 is moved about a 2-dimensional place, and the carrying member is winched up / down to provide the third dimension).

[0063] The local pathfinding system may take into consideration dynamic properties of the obstacle 40. For example, the system may calculate the velocity / trajectory of the obstacle 40. The system can first calculate whether the obstacle 40 will interrupt the path of the crane 2 at all, and thus whether avoiding is required. If the system determines the obstacle 40 should be avoided, then local pathfinding system generates a local path 38 taking into account the position of the obstacle 40 in relation to the crane 2 at a given time. For example, if the obstacle 40 is moving relatively quickly, then little deviation from the global path 36 may be required as the obstacle 40 may partially remove itself from the global path 36. The movement of the obstacle 40 is continually tracked and the local path 38 is dynamically updated in accordance with said movement.

[0064] The local pathfinding system may use an artificial potential field algorithm to determine the local path 38. Such systems are fast and lightweight.

[0065] Furthermore, defining obstacles 30 or forbidden zones 28 as “high potential” ensures that the algorithm acts to move away from such areas rapidly. The artificial potential field may be defined as discrete or continuous fields.As the crane is generally moving when a local path 38 is computed, system takes into account the amount of time the crane needs to decelerate or other dynamic properties of the crane. This helps to prevent generating paths that would cause the crane 2 to have to make sudden changes in heading, having to stop and backtrack in order to reach the first waypoints of the local path 38. Information regarding nominal speeds and accelerations of the crane is known by the system, and are used to determine where to start the local path 38 in order to give the crane enough time to react. The position where the local path 38 is started from is selected along the current direction vector of the crane, in a position where the crane has enough time to stop even if travelling at the nominal speed. This ensures that even if the local path has a 180° heading change relative to the old path, the crane is able to execute it without having to backtrack.

[0066] Post-processing may be applied to an initial local path 38 to generate local path 38. For example, the algorithm may generate excessively curved or kinked initial path portions. The local path 38 may be divided into a plurality of straight line segments. During the segmentation process, the system may check to ensure that the straight segment does not “cut the corner” and intercept an obstacle 30 or forbidden zone 28. If the line segment does intercept an obstacle 30 or forbidden zone 28, the line may be divided into smaller segments and the checking process is repeated. Redundant waypoints may be removed (e.g. where multiple waypoints line on the line). The system may be configured to provide a notification to the user that a local path 36 has been generated and / or that an obstacle 30 has been avoided.

[0067] In some cases, it may be that is not possible to generate a local path 38. For example, if a dynamic obstacle 40 completely blocks a path between two forbidden zones 28, then it may not be possible to generate a local path 38. If such an event is detected, then the crane 2 may be configured to stop. A user then may manually move the crane 2, or attended to the obstacle such thatautomatic operation may resume. The system may provide a notification to a user that the crane cannot progress. The system may indicate to the user the position of one or more obstacle 30 that is impeding progress.

[0068] Once the local path 38 is determined, the movement control system for the crane 2 receives local path information and controls the movement of the crane system 2 accordingly. The crane system 2 is moved until it reaches the global path again 36. During the movement on the local path, the local pathfinding system and sensor system 22 are continually monitoring the dynamic obstacle 40, and recalculating the local path 38 as required. Once the crane 2 reaches the global path 36, it follows the global path 36 toward the second position 34. The sensor system 22 continually monitors for further dynamic obstacles.

[0069] The local pathfinding system aims to return the crane 2 back to global path 36 in an efficient manner as possible. The local pathfinding system typically does not attempt to modify or otherwise deviate from the global path 38, other than to avoid obstacles in the local vicinity. This helps to ensure that the crane maintains an optimal path between the first position 32 and the second position 34. The local pathfinding system operates (e.g. generates paths) in smaller area then than global pathfinding system. For example, the local pathfinding system typically operates in area in within the field of view 24 of the sensor system 22. The global pathfinding system may operate in the full range of the movement of the crane 2, which is typically a significantly larger area then visible by the sensor system 22.

[0070] The global path 36 and / or local 38 comprises a list of waypoints. The crane control system is then configured to control to crane 2 to follow the waypoints to reach the target position. Each waypoint may comprise coordinates in three dimensions, and a target radius for each axis. The target radius defines a cuboid around each waypoint. During traversal of the crane, the system “looks ahead” by a certain target radius. This ensures that the crane 2 can transition between different line segments smoothly (e.g. it can provide a smooth, curvedtransition between two angled segments). The target radius may be the distance between the waypoint on the path and the nearest obstacle 30. This ensures that the crane does not cut the corner and engage the obstacle 30. This may work where the closest point of the obstacle 30 to waypoint is a corner thereof. If the closest point of the obstacle 30 is its face, the positioning of the next waypoint is taken account. A line defined by the next waypoint and the nearest obstacle corner is drawn, and the point where the previous segment of the path intersects with the line defines the target radius. This ensures that if the crane is following the path, it will avoid the obstacle, as the line drawn from the next point corresponds to a trajectory achieved if the crane had instantaneous acceleration.

[0071] Once the crane reaches the specified radius for each axis, that waypoint is considered to be reached. Movement towards the next waypoint can then be started. The local pathfinding system may edit or override the waypoints of the global path 36 when generating the local path 38. The waypoints for the remainder of the global path 36 remain unchanged. During operation, the crane periodically sends status information about the current path. This may comprise a unique ID generated for the path to ensure that the planner is following the correct path, and / or the current path segment to simplify the supervision of obstacles along the current path.

[0072] In general, the crane system 2 is configured to move along the global path 36. This need only be determined once during movement of the load. The local pathfinding system need only be engaged in the event that the dynamic load is detected. This significantly reduces the computational load, as the computationally expensive local pathfinding is only initiated on a contingency basis. Furthermore, the global path 36 does not need to be recalculated once the obstacle has been avoided. The present system thus provides a hybrid system using a global pathfinding using a static zones and local dynamic pathfinding system only when an obstacle is detected.Operation of the invention is described with reference to figure 5. In a first step A, the forbidden zones 28 are input into the system. Typically, this is only performed before first use and when static obstacles are moved within the working area 26 on an ad hoc basis. The forbidden zone data is stored in a system between each use. In the next step B, a destination is input into the system (e.g. manually or via a computerised system). The global pathfinding system generates an optimal global path 36 between the present location of the load / crane and the destination. In the next step, C, the crane system proceeds to move along said path automatically / manually. In step D, the sensor system 22 monitors for dynamic obstacles. Typically, the monitoring is performed continuously and / or at predetermined time intervals. If such an obstacle 40 is detected, in step E, the local pathing finding system determines a local path 38 around the obstacle 40 and the crane 2 moves along said path 38 in step F accordingly. The local path 38 rejoins the global path 36 in step G, and the crane 2 moves along the global path 36. The dynamic detection routine (i.e local path finding) is repeated until the destination is reached. If no obstacle is detected, then the crane 2 simply follows the global path 36 to the destination in step H. This process may then be repeated for further destinations.

[0073] The overall control system 42 for the crane is shown in figure 6. The system 42 comprises a pathfinding system 44 configured to create a path through the working area 26. The pathfinding system comprises a global pathfinding system 46 to determine the global path 36 and a local pathfinding system 46 to determine the local path 38 when required. The pathfinding system 44 may comprise any suitable hardware and / or software. The pathfinding system 44 comprises a processing system. The processing system may be provided by any of: a processor; SoC; mobile / cellular phone; programmable logic controller (PLC); cloud computer etc. The pathfinding system 44 may comprise volatile and / or non-volatile memory (e.g. RAM). The forbidden zone data 48 is stored in the memory.An object detection system 50 is configured to detect objects around the crane 2. The object detection system 50 may comprise any suitable and / or hardware as previously discussed. The object detection system 50 is operatively connected to the sensor system 22. The object detection system 50 receives data from the sensor system 22 and then determines if an object is present from such data. Object detection may be determined using any suitable method. The object detection system 50 may be configured to filter out any irrelevant data or objections (e.g. the crane load, shadows or other artifacts). Data relating the detected objects (e.g. position and / or size data) is then passed to the pathfinding system 44. The local pathfinding system 46 may receive data from the object detection system 50 periodically. The local pathfinding system 46 may receive a list of detected obstacles that comprises the centre coordinate location, side lengths and / or velocity for each obstacle. The object detection system 50 may provide shape / size data of the load to pathfinding system 44, such that it can determine the threshold distance and / or predetermined margin.

[0074] In the present embodiment, the object detection system 50 and the pathfinding system 44 are provided as separate systems. The systems 44,50 may be connected wirelessly and / or wired. In other embodiments, the object detection system 50 and the pathfinding system 44 are provided via a single integrated system.

[0075] The pathfinding system 44 then interprets such data to determine if a local path 38 need be generated. For example, the pathfinding system 44 determines if an obstacle intercepts the global path 36. This is continually repeated each time new object information is received. The pathfinding system 44 may discriminate or ignore object data from the object detection system 50 within certain criteria (e.g. if the object data is within the forbidden zone 28). Data is continually input from the object detection system 50 as objects in the working area 26 may continually move.The pathing finding system 44 is operatively connected to a crane control system 52. The crane control system 52 is configured to control the position of the crane 2, for example, using one or more motor 54 or other actuator. The motor 54 may comprise any or all of the motors for the trolley, the gantry for pay in / out of the carrying member 18. The pathfinding system 44 may therefore independently control the position of the carrying member 18 / load in each dimension as required. The pathfinding system 44 may be separate from motor control systems and operatively connected thereto (e.g. to provide commands thereto). This may allow retrofit of the pathfinding system to conventional crane systems. The pathfinding system 44 may comprise a dedicated computer. Alternatively, the control system for each of the motors may be provided in the same hardware / system as the pathfinding system 44 (e.g. to provide a unified system). In some embodiments, the pathfinding system 44 is incorporated into any of the control systems for one or more of the motors. The crane control system 52 may receive the waypoints from the pathing finding system 44. The crane control system 52 may then convert the waypoints into vectors to drive the motors in each axis accordingly. Alternatively, the crane is driven in a continuous path.

[0076] In some instances, local path finding may be not used and the global path 36 is simply followed during the whole routine. In such cases, the local pathfinding system 46 is deactivated. A part or full length of the global path 36 and / or local path 38 may be stored. The stored path may then be used as a default global path 36 during the next usage cycle. The user may be able to accept and / or reject proposed or stored paths, for example, via a user input such as a button. When an obstacle is detected, the user may be able to define that obstacle form part of a forbidden zone 28. The forbidden zones 28 may be defined in an ad hoc basis. Deleting forbidden zones 28 may be possible, however, it may require higher user privileges etc.The present system may be used in any suitable environment, for example, one or more of: a factory or other manufacturing environments; a warehouse or storage facility; a port; railyard; or other logistics centre.

Claims

Claims:

1. A method of controlling a crane system (2) comprising:defining one or more forbidden zone (28), the forbidden zone defining a location in which a carrying member (18) of the crane or the load thereon is not permitted;determining a first path (36) between a first location (32) and second location (24), the first path (36) configured such that the carrying member (18) or the load thereon does not enter a forbidden zone (28) during traversal of the first path (36);moving the carrying member (18) along said first path (36) and detecting if an obstacle (30) is within a threshold distance of the carrying member (10), the load thereon and / or the first path; anddetermining a second path (38) if said obstacle (30) is within a threshold distance of the carrying member (10), the load or the first path, the second path (38) defining a path where the carrying member (18) or the load thereon avoids said obstacle (30).

2. A method according to claim 1 , where the second path (38) is configured to return to first path (36) after avoiding said obstacle (30).

3. A method according to claim 2, where the second path (38) is configured to provide an optimum path to avoid said obstacle (30) and return to the first path (36).

4. A method according to any preceding claim, where the second path (38) is configured to avoid a forbidden zone (28).

5. A method according to any preceding claim, where the first path (36) is configured to provide an optimum path between the first location (32) and second location (34).

6. A method according to any preceding claim, where the forbidden zone (28) comprises a static area or volume.

7. A method according to any preceding claim, where the obstacle (30) comprises a movable or dynamic object.

8. A method according to any preceding claim, where the first path (36) remains unmodified between first location (32) and second location (34).

9. A method according to any preceding claim, where the first path (36) and / or second path (36) is configured to avoid a forbidden zone (28) and / or obstacle (30) by a predetermined margin.

10. A method according to any preceding claim, where first path (36) is determined by a global pathfinding system (44) and the second path (38) is determined by a local pathfinding system (46), and the local pathfinding system (46) is only initiated in the event an obstacle (30) is detected.

11. A method according to any preceding claim, where first path (36) is determined by a global pathfinding system (44) and the second path (38) is determined by a local pathfinding system (46), and the local pathfinding system (46) determines a path (38) in a first area size and global pathfinding system (44) determines a path (36) in a second area size larger than the first area size.

12. A method according to any preceding claim, where detection of the obstacle (30) is performed using a sensor system (22), and the sensor system (22) comprises a detection distance greater than a minimum stopping distance of the crane system.

13. A method according to any preceding claim, comprising identifying the carrying member (18) and / or load thereon, and disregarding data relating to the carrying member (18) and / or load during detecting of the obstacle (30).

14. A pathfinding system for controlling a crane system (2) configured to:receive one or more forbidden zone (28), the forbidden zone defining a location in which a carrying member (18) of the crane or the load thereon is not permitted;determine a first path (36) between a first location (32) and second location (24), the first path (36) configured such that the carrying member (18) or the load thereon does not enter a forbidden zone (28) during traversal of the first path (36);provide instructions to move the carrying member (18) along said first path (36) and receive data indicative if an obstacle (30) is within a threshold distance of the carrying member (10), the load thereon and / or the first path; anddetermine a second path (38) if said obstacle (30) is within a threshold distance of the carrying member (10), the load or the first path, the second path (38) defining a path where the carrying member (18) or the load thereon avoids said obstacle (30).

15. A crane system (2) comprising:a controller (44) configured to receive data defining one or more forbidden zone (28), defining a location in which a carrying member (18) of the crane or the load thereon is not permitted, where the controller (44) is configured to determine a first path (36) between a first location (32) and second location (34), the first path (36) configured such that the carrying member (18) or the load thereon does not enter a forbidden zone (28) during traversal of the first path (36);a control system (52) configured to move the crane along said first path (36);a sensor system (22) configured to detect if an obstacle (30) is within a threshold distance of the carrying member (10), the load thereon or the first path; andwhere the controller (44) is configured to determine a second path (38) if said obstacle (30) is within a threshold distance of the carrying member (10), the load or the first path, the second path (38) defining a path where the carrying member (18) or the load thereon avoids said obstacle (30).

16. A crane system (2) according to claim 15, where the sensor system (22) comprises a LIDAR or RADAR system.