Crane system and crane control method
The crane system addresses high data processing demands by using inclusion rectangle processing and data compression, reducing costs and equipment requirements for efficient obstacle detection and avoidance.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KITO CORP
- Filing Date
- 2024-12-13
- Publication Date
- 2026-06-25
AI Technical Summary
Existing crane systems require high-performance data processing equipment and large storage capacity to handle the large amount of data generated by three-dimensional environmental maps, making them costly and inefficient.
A crane system and control method that utilizes a three-dimensional sensor, position detection unit, and data processing unit to create inclusion rectangle data based on three-dimensional obstacle data, reducing data processing load through inclusion rectangle processing and data compression techniques.
The system reduces data processing requirements, enabling the use of lower-performance devices and lowering the overall cost of the crane system while maintaining effective obstacle avoidance capabilities.
Smart Images

Figure 2026104267000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a crane system and a crane control method.
Background Art
[0002] Among crane systems that suspend and transport a load using a rope or a chain, there is, for example, one as shown in Patent Document 1. In Patent Document 1, the shape of the suspended load is detected, and the three-dimensional position of the suspended load is detected. Further, information on the position and shape of an obstacle is detected, the range where the obstacle exists and the protected area where the suspended load and the rope cannot enter are recorded in a three-dimensional environmental map, and based on the three-dimensional environmental map, a two-dimensional environmental map is generated that records areas where the suspended load and the rope cannot pass within the height range through which the suspended load and the rope pass. Then, based on the shape of the suspended load, the three-dimensional position of the suspended load, and the two-dimensional environmental map, it is predicted whether an interference state where the suspended load or the rope collides with an obstacle, or an interference state where the suspended load and the rope enter the protected area may occur, and when an interference state is predicted, the crane is made to perform an operation to avoid the interference state.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, in Patent Document 1, for example, a three-dimensional laser distance sensor is used to detect a suspended load and an obstacle, create a three-dimensional environmental map, and create a two-dimensional environmental map based on the three-dimensional environmental map. Then, using the two-dimensional environmental map, an interference prediction unit determines in real time whether a suspended load or the like interferes with an obstacle.
[0005] However, such systems involve a large amount of data that makes up the environmental map, and in order to perform real-time judgments, the data processing load is high, requiring equipment with high point cloud data processing performance. This issue is difficult to resolve even if a two-dimensional environmental system is used instead of a three-dimensional one. Furthermore, a recording device with a large recording capacity is required to store the data.
[0006] This invention has been made in view of the above circumstances, and aims to provide a crane system and a crane control method that can reduce the cost of the crane system by reducing the load on data processing, thereby enabling the use of a lower-performance data processing device. [Means for solving the problem]
[0007] To solve the above problems, according to a first aspect of the present invention, a crane system is provided which includes a hoisting machine and a horizontal movement mechanism for lifting and lowering a load and moving it horizontally, comprising: a three-dimensional sensor for measuring the three-dimensional position of an obstacle that hinders the transport of the load; a position detection unit for detecting the horizontal and vertical positions of the load; a data processing unit for processing data related to the obstacle based on coordinate data acquired by the three-dimensional sensor; and a control unit for controlling the horizontal movement of the horizontal movement mechanism and the operation of the hoisting machine, wherein the data processing unit comprises an inclusion rectangle processing unit that creates inclusion rectangle data corresponding to a rectangular data including an obstacle region based on three-dimensional data including an obstacle region indicating the obstacle.
[0008] Furthermore, in order to solve the above problems, a second aspect of the present invention provides a crane control method for controlling a crane system equipped with a hoisting machine and a horizontal movement mechanism for lifting and lowering loads and moving them horizontally, wherein the crane system comprises a three-dimensional sensor for measuring the three-dimensional position of obstacles that hinder the transport of loads, a position detection unit for detecting the horizontal and vertical positions of loads, a data processing unit for processing data related to obstacles based on coordinate data acquired by the three-dimensional sensor, and a control unit for controlling the horizontal movement of the horizontal movement mechanism and the operation of the hoisting machine, wherein the data processing unit performs inclusion rectangle processing to create inclusion rectangle data corresponding to rectangular data including an obstacle region based on three-dimensional data including an obstacle region indicating an obstacle. [Effects of the Invention]
[0009] According to the present invention, it is possible to provide a crane system and a crane control method that can reduce the load in data processing. [Brief explanation of the drawing]
[0010] [Figure 1] This is a perspective view showing the schematic configuration of a crane system according to one embodiment of the present invention. [Figure 2] This figure shows the control configuration of the crane system shown in Figure 1. [Figure 3] This figure shows the functional configuration of the data processing device included in the crane system shown in Figure 1. [Figure 4] Figure 3 shows an image of the grid map processing performed by the grid map creation unit of the data processing device shown in Figure 3. (a) shows an image of the acquired data before processing, (b) shows an image of the grid map processed data after processing, and (c) shows an image of the grid map processed data without height information. [Figure 5]Figure 4 shows an image illustrating the morphological transformation applied to the grid map processing data created in Figure 4. (a) shows the state before morphological transformation, (b) shows the image after closing processing, and (c) shows the image after opening processing. [Figure 6] Figure 3 shows an image of the labeling process performed by the labeling processing unit of the data processing device shown in Figure 3. (a) shows an image of the data before labeling, and (b) shows an image of the labeled data after labeling. [Figure 7] Figure 3 shows an image of the inclusion rectangle processing performed by the inclusion rectangle processing unit of the data processing device shown. [Figure 8] This diagram shows an L-shaped obstacle area. [Figure 9] Figure 3 shows an image of the rectangular subdivision process performed by the rectangular subdivision unit of the data processing device shown. [Figure 10] Figure 3 shows an image of the data integration process performed by the data integration unit of the data processing device shown in Figure 3. [Figure 11] Figure 3 is a flowchart detailing the data integration process performed by the data integration unit of the data processing device shown in Figure 3. [Figure 12] This figure shows an image of the planar overlap amount between the first location data and the second location data being integrated during the data integration process performed by the data integration unit of the data processing device shown in Figure 3. [Figure 13] This figure shows an image of the height difference between the first point data and the second point data being integrated during the data integration process performed by the data integration unit of the data processing device shown in Figure 3. [Figure 14] This diagram illustrates the concept of rectangular integration when the data for the first and second locations are not simple rectangles. (a) shows the image before integration, and (b) shows the image after integration to create the integrated data. [Figure 15] This diagram illustrates how the data for the second location is contained within the data for the first location. [Modes for carrying out the invention]
[0011] Hereinafter, the crane system 1 and the crane control method according to an embodiment of the present invention will be described based on the drawings. In the following description, the X direction is the longitudinal direction of the traveling rail 2, and the Y direction is the longitudinal direction of the traversing rail 3. Also, the Z direction is the vertical direction (suspension direction; hoisting and lowering direction) in the suspended state of the hoist 10.
[0012] (1. Schematic configuration of the crane system 1) FIG. 1 is a perspective view showing a schematic configuration of the crane system 1 according to the present embodiment. FIG. 2 is a diagram showing a control configuration of the crane system 1. As shown in FIGS. 1 and 2, the crane system 1 mainly includes a pair of traveling rails 2, a traversing rail 3, a traveling trolley 4, a traversing trolley 5, a hoist 10, a position detection unit 20, a three-dimensional sensor 30, and a motor control unit 50.
[0013] The pair of traveling rails 2 are rails having flanges, such as H-shaped steel, and are attached to a predetermined portion, such as a ceiling. The pair of traveling rails 2 are separated from each other by an amount corresponding to the moving distance of the hoist 10 along the traversing rail 3.
[0014] The traversing rail 3 is a rail having flanges, such as H-shaped steel, similar to the pair of traveling rails 2 described above, and traveling trolleys 4 are attached to both ends thereof.
[0015] The traveling trolley 4 includes a traveling motor 4a and a traveling motor driver 4b (see FIG. 2). Based on a control command from the motor control unit 50 described later, the traveling motor driver 4b controls the traveling motor 4a, thereby driving the traveling motor 4a. By driving the traveling motor 4a, the traversing rail 3 can move along each traveling rail 2. At this time, by the synchronous operation of the traveling motor 4a of the traveling trolley 4 on one end side and the traveling motor 4a of the traveling trolley 4 on the other end side, it is possible to move the traversing rail 3, the hoist 10, etc.
[0016] The traverse trolley 5 is equipped with a traverse motor 5a and a traverse motor driver 5b (see Figure 2). Based on control commands from the motor control unit 50 (described later), the traverse motor driver 5b controls the traverse motor 5a, thereby driving the traverse motor 5a. A hoisting machine 10 is attached to the lower side of the traverse trolley 5. Therefore, by driving the traverse motor 5a, it is possible to move the hoisting machine 10 along the traverse rail 3.
[0017] The pair of running rails 2, the traverse rails 3, the pair of running trolleys 4, and the traverse trolleys 5 correspond to the horizontal movement mechanism.
[0018] In this view, when the crane system 1 is viewed from above, the crane system 1 can move the hoisting machine 10 to any location in the XY plane by controlling the drive of the travel motors 4a of the pair of traveling trolleys 4 and the drive of the traverse motor 5a of the traverse trolley 5.
[0019] The hoisting machine 10 is equipped with a hoisting motor 11 and a hoisting motor driver 12. Based on control commands from the motor control unit 50, which will be described later, the hoisting motor driver 12 controls the hoisting motor 11, thereby driving the hoisting motor 11.
[0020] Furthermore, the hoisting machine 10 is equipped with a hoisting member 13 that is rotated by a hoisting motor 11. The hoisting member 13 is the part that raises and lowers the suspension member S1, such as a chain or wire rope. Therefore, when the suspension member S1 is a chain, the hoisting member 13 corresponds to a load sheave. When the suspension member S1 is a wire rope, the hoisting member 13 corresponds to a winding drum.
[0021] In this hoisting machine 10, the suspension member S1 is raised and lowered by the drive of the hoisting motor 11. A hook F1 is attached to the lower end of the suspension member S1, and by operating the hoisting motor 11 with the load P attached to the hook F1, the load P can be raised and lowered.
[0022] The position detection unit 20 is the part that detects the X and Y directions (i.e., horizontal position) of the hoisting machine 10 and the load P suspended from the hoisting machine 10, and the Z direction (i.e., vertical position) of the load P. Examples of the position detection unit 20 include an encoder and a laser distance meter. The position detection unit 20 may be part of the hoisting machine 10 or it may be provided separately. For example, if the position detection unit 20 is an encoder, it is preferable that the position detection unit 20 be mounted on the respective traveling trolley 4 and traversing trolley 5 in order to detect the X and Y directions.
[0023] The 3D sensor 30 is a sensor for acquiring 3D data (obstacle information) of the environment in which the hoisting machine 10 transports the load P. In other words, it is necessary to prevent the load P from colliding with obstacles when transporting it. Therefore, the 3D sensor 30 acquires 3D data of the area in which the load P is transported.
[0024] Furthermore, various types of sensors can be used as the 3D sensor 30, such as LiDAR (light detection and ranging) sensors and stereo vision sensors.
[0025] When this 3D sensor 30 scans the surrounding environment, 3D data is acquired, but the amount of data is very large. For example, if a LiDAR type sensor is used as the 3D sensor 30, the laser light emitted by the 3D sensor 30 acquires point cloud data with coordinate positions in the XYZ directions, amounting to tens of thousands of points.
[0026] To accurately measure obstacle information, it is preferable that the 3D sensor 30 is not moving when acquiring data. However, if the horizontal movement speed of the crane system 1 on which the 3D sensor 30 is mounted is sufficiently slower than the data acquisition speed (the amount of horizontal movement during data acquisition is small), and the measurement error of the acquired data is acceptable, the 3D sensor 30 may be moved while acquiring data.
[0027] When acquiring 3D data while moving the 3D sensor 30, a data acquisition command is sent from the processing unit to the 3D sensor 30 when the crane system 1 has moved horizontally by a certain distance and passed the measurement point, and the acquisition of 3D data begins. This timing is set so that the horizontal range that the 3D sensor 30 can measure overlaps by a certain amount with the range before and after movement (for example, if the horizontal measurable range of the 3D sensor 30 is a circle with a radius of 4m, 3D data measurement will start every time the crane system moves 7m).
[0028] The motor control unit 50 is the part that generates and transmits predetermined control commands to the travel motor driver 4b, the traverse motor driver 5b, and the hoisting motor driver 12 based on the data processing results from the data processing device 100, which will be described later. As a result, the travel motor 4a, the traverse motor 5a, and the hoisting motor 11 are controlled in accordance with their respective control commands. In addition, when generating the above control commands, the motor control unit 50 controls the driving of the travel motor driver 4b, the traverse motor driver 5b, and the hoisting motor driver 12 so that the load P does not move into an area where an obstacle exists.
[0029] While a computer can be used as the motor control unit 50, it is preferable to use a PLC (Programmable Logic Controller) from the standpoint of cost advantages and reliability.
[0030] (2. Functional configuration of the data processing device 100) Next, the functional configuration of the data processing device 100 will be described. Figure 3 shows the functional configuration of the data processing device 100. The data processing device 100 is the part that performs predetermined data processing from the point cloud based on the 3D data acquired by the 3D sensor 30 described above. The data processing device 100 has a CPU (Central Processing Unit), memory such as a memory unit (ROM (Read Only Memory), RAM (Random Access Memory), non-volatile memory, etc.), and other elements, and by executing a predetermined program stored in the memory, it is possible to realize the functional configuration described later. The data processing device 100 may use a GPU (Graphics Processing Unit) in addition to a CPU with excellent data processing performance, or instead of a CPU.
[0031] In the predetermined data processing performed by the data processing device 100, even if the processing capacity of the motor control unit 50 is not very high, the data size of the 3D data is compressed so that the motor control unit 50 can generate control commands to control the driving of the travel motor driver 4b, the traverse motor driver 5b, and the hoisting motor driver 12.
[0032] As shown in Figure 3, the data processing device 100 has a functional configuration that includes a point cloud data coordinate processing unit 101, a grid map creation unit 102, a morphology transformation unit 103, a labeling processing unit 104, an inclusion rectangle processing unit 105, a rectangle subdivision unit 106, a relabeling processing unit 107, a height information assignment unit 108, a data integration unit 109, and a relabeling processing unit 110.
[0033] When the 3D data acquired by the 3D sensor 30 is transmitted to the data processing device 100, the data processing device 100 performs data processing in the following order: point cloud data coordinate processing unit 101, grid map creation unit 102, morphology transformation unit 103, labeling processing unit 104, inclusion rectangle processing unit 105, rectangle subdivision unit 106, relabeling processing unit 107, height information assignment unit 108, data integration unit 109, and relabeling processing unit 110. The details of the data processing performed in each part will be explained below.
[0034] (2-1. Processing of point cloud data in the coordinate processing unit 101) The point cloud acquired by the 3D sensor 30 is 3D data of coordinates from the 3D sensor 30. Therefore, when the 3D sensor receives measurement data, the coordinate data for the area in which the crane system 1 transports the load P is reflected in the measurement data acquired by the 3D sensor 30, thereby converting it into 3D point cloud data of coordinates for the transport area.
[0035] (2-2. Processing in Grid Map Creation Section 102) As described above, when the 3D sensor 30 is activated, point cloud data containing tens of thousands of coordinate positions in the XYZ directions is acquired as 3D data. Therefore, when the 3D data is received, the grid map creation unit 102 performs a grid map conversion process in order to organize and compress the 3D data.
[0036] Figure 4 shows the state before and after this grid map processing. Hereafter, the data after grid map processing will be referred to as grid map processed data, but the same term is used to refer to the grid map processed data as well. Figure 4 is a diagram illustrating the grid map processing, where (a) shows an image of the acquired data before processing, (b) shows an image of the grid map processed data after processing, and (c) shows an image of the grid map processed data without height information.
[0037] In Figure 4, a portion of the large-sized 3D data is shown. Figure 4 also shows the surrounding environment as viewed from above (i.e., the XY coordinate system). Within this XY coordinate system, dots indicate the coordinates where obstacles exist (Z coordinate is not 0) in a considerable number (e.g., tens of thousands) of coordinate data points transmitted from the 3D sensor 30 that scanned a predetermined range. In the following explanation, dots corresponding to obstacles will be referred to as obstacle dots E1. Here, a height of zero (Z coordinate zero), where no obstacles exist, is set by measuring the distance to the floor before acquiring the 3D data of the obstacle. Alternatively, the distance from the 3D sensor 30 to the floor may be pre-entered as a set value.
[0038] The 3D data acquired by the 3D sensor 30 includes the coordinate data of the object to which the laser light is reflected, and therefore also includes the coordinate data of the floor surface. By setting the distance to the floor surface, the 3D data for the floor surface is not measured. This allows for the removal of unnecessary 3D data during measurement. As a result, unnecessary data processing is eliminated, and data processing time is reduced.
[0039] Furthermore, the distance from the 3D sensor 30 to the floor surface varies depending on the location due to unevenness in the floor surface. In such cases, even if there are no obstacles, unnecessary 3D data is measured due to slight unevenness in the floor surface. Therefore, by setting the measurement conditions so that information within a certain height range from the floor surface is not measured, unnecessary 3D data can be prevented from being measured. Here, the certain height range from the floor surface can be determined, for example, by the minimum height at which hoisting is required when transporting the load P, or by creating a floor surface map in advance.
[0040] Furthermore, depending on the mounting position of the 3D sensor 30 on the crane system 1, the hoisting machine 10, suspension member S1, and hook F1 may be included in the measurement of 3D data. Therefore, by setting the measurement conditions in the height direction of the 3D data so that the hoisting machine 10, suspension member S1, and hook F1 are not measured, measurement errors caused by the hoisting machine 10, suspension member S1, and hook F1 can be prevented. It is preferable to raise the hook F1 as much as possible when taking measurements.
[0041] Furthermore, Figure 4 shows a grid-like configuration in which multiple grids (meshes) G are arranged in the X and Y directions, with each grid having a predetermined area, such as 10cm x 10cm. Also, since the measurement accuracy of the 3D sensor varies depending on the distance between the 3D sensor 30 and the floor, it is best to determine the size of the grid comprehensively based on the measurement accuracy and the size of the load P.
[0042] As shown in Figure 4(a), before grid map processing, each grid G may contain only one obstacle dot E1, or it may contain multiple obstacle dots E1. Furthermore, each obstacle dot E1 contains information about its X, Y, and Z coordinate positions. Therefore, if even one obstacle dot E1 exists in each grid G, it is determined that there is an obstacle in that grid G.
[0043] Here, the grid map shown in Figure 4 is two-dimensional in the XY direction, but each obstacle dot E1 also has information about its Z coordinate, which represents its height. Furthermore, when transporting a load P, this Z coordinate information related to height must also be taken into consideration. On the other hand, if there are multiple obstacle dots E1 within a given grid G, the "height" of the obstacle within that grid G must be determined from the information of one of the obstacle dots E1.
[0044] Therefore, if there are multiple obstacle dots E1 within a given grid G, the Z coordinates of the multiple obstacle dots E1 are compared, and the obstacle dot E1 with the highest height is determined to be the height of the obstacle in that grid G. The height information determined in this way is represented, for example, as "0.4" (units are, for example, "m") in the grid G with (X,Y)=(1,1) in Figure 4(b).
[0045] Furthermore, in Figure 4(b), obstacles are displayed with shading along with height information. On the other hand, in Figure 4(a), if the obstacle dot E1 is not present within a specific grid G, it means that there are no obstacles, so in Figure 4(b), the height information is set to "0" and the area is displayed without shading.
[0046] Furthermore, Figure 4(c) shows a grid map that does not include height information. Grids without obstacle dots E1 (where the height information is "0" in Figure 4(b)) are indicated by the letter "F," while grids with obstacle dots E1 (where a non-zero value is entered in Figure 4(b)) are indicated by the letter "T."
[0047] By performing the grid map processing described above in the grid map creation unit 102 and creating grid map processing data, information about numerous obstacle dots E1 is reduced, and the 3D data acquired by the 3D sensor 30 is compressed. In the following explanation, a grid G in which no obstacle dots E1 are present and is judged as "no obstacles" will be referred to as grid G0 without obstacles. A grid G in which obstacles are present will be referred to as grid G1 with obstacles.
[0048] When determining the grid G, it may be set as ±a (a is a predetermined dimension such as 10 cm, for example) from a reference point. Also, the coordinates of the boundaries in the X and Y directions of the grid G may be defined as an arithmetic progression such as 0, a1, a2, a3, … an. At this time, for example, the first grid Gx1 in the X direction can be defined as 0≦Gx1<a1.
[0049] (2-2. Processing in the Morphology Conversion Unit 103) Next, the processing in the morphology conversion unit 103 will be described. In the processing of this morphology conversion unit 103, mainly two processes are performed: a closing process and an opening process.
[0050] FIG. 5 is a diagram showing an image of performing morphology conversion on the grid map processing data created in FIG. 4. (a) shows the state before morphology conversion, (b) is a diagram showing the image after the closing process, and (c) is a diagram showing the image after the opening process. In FIG. 5, each grid G processed by the grid map in FIG. 4(c) is represented in dot form.
[0051] Here, among the grid map processing data created by the above-described grid map creation unit 102, there are two types: those having height information (Z coordinate) (FIG. 4(b)) and those having no height information (Z coordinate) but only indicating the presence or absence of obstacles (FIG. 4(c)). And in the processing of the morphology conversion unit 103, a grid map (FIG. 4(c)) that has no height information (Z coordinate) but only indicates the presence or absence of obstacles is used. On the other hand, the grid map represented by FIG. 4(b) including height (Z coordinate) is used to give height information to the subdivided rectangular data SR in the height information adding unit 108 described later.
[0052] In Figure 6(a), as in Figure 4(c), the presence or absence of obstacles is represented by binarization. For example, grid G labeled with the letter "F" indicates "no obstacles," and grid G labeled with the letter "T" indicates "obstacles present." Hereafter, grid G labeled with the letter "F" will be referred to as grid G2 without obstacles, and grid G labeled with the letter "T" will be referred to as grid G3 with obstacles.
[0053] As shown in Figure 5(a), before morphological transformation, the grid map processing data contains empty spaces (G2) between grids G3 corresponding to obstacle dots E1, indicating the absence of obstacles, or it may contain noise. Closing processing is then performed on this grid map processing data.
[0054] As shown in Figure 5(a), before morphological transformation, the grid map processing data contains areas where the number of grids G3 does not reach a predetermined number and is therefore judged as noise. For example, if the threshold for judging something as noise is set to the point where there are not three or more grids G3 in the X direction and three or more in the Y direction (for example, in a grid of size 10cm x 10cm, when both the X and Y directions are less than 30cm), then the area enclosed by the circle J1 in Figure 5(a) becomes noise.
[0055] Then, if any parts are still identified as noise after the closing process, the opening process changes the gridded G3 in those identified noise parts to ungridded G2. As a result, the gridded G3 corresponding to the noise becomes ungridded G2. In this way, one or more sets of gridded G3 (consecutive regions) corresponding to obstacles are formed. In the following, we will refer to such sets of gridded G3 (consecutive regions) as obstacle regions H.
[0056] (2-3. Processing in labeling processing unit 104) Next, the processing in the labeling processing unit 104 will be explained. Figure 6 is a diagram showing an image of the labeling process performed by the labeling processing unit 104, where (a) shows an image of the data before labeling and (b) shows an image of the labeled data after labeling.
[0057] Once the above morphological transformation is complete, the transformed data (referred to as the morphologically transformed data) will have one or more obstacle regions H, as shown in Figure 6(a), for example. At this time, in the data before labeling, grid G in areas without obstacles is assigned the label "F", and grid G in obstacle regions H with obstacles is assigned the label "T".
[0058] Therefore, labeling is performed on each obstacle region H as shown in Figure 6(b). In this labeling process, all grids G3 in each obstacle region H that are assigned T in Figure 6(a) are assigned numbers such as "1", "2", and so on. Also, the ungridged G2 that are assigned F in Figure 6(a) are assigned the number 0.
[0059] This labeling process makes it possible to distinguish between grids G3 within obstacle areas H that have been assigned numbers, for example, as obstacle number 1 and obstacle number 2.
[0060] (2-4. Processing in the containing rectangle processing unit 105) Next, the processing in the containment rectangle processing unit 105 will be explained. Figure 7 is a diagram showing an image of the containment rectangle processing performed by the containment rectangle processing unit 105. In this containment rectangle processing, the X and Y directions are each used as sides, and containment rectangle data R is formed for each obstacle region H that contains a continuous grid G3. In this case, for example, if obstacle region H number 1 has 22 grids, when the containment rectangle data R is formed, the area shown in the diagram expands to 42 grids. Similarly, for example, if obstacle region H number 2 has 10 grids, when the containment rectangle data R is formed, the area shown in the diagram expands to 15 grids.
[0061] However, the enclosed rectangle data R shown in Figure 7 can be represented by four data points: information indicating that it is rectangular data, and the XY coordinates of two diagonally opposite points in grid G3 that constitute the rectangular data. Therefore, by performing the enclosed rectangle processing shown in Figure 7 to form the enclosed rectangle data R, it is possible to compress the XY coordinate data of each grid G3 into XY coordinate data representing the obstacle region H.
[0062] (2-5. Processing in the rectangular subdivision section 106) Next, we will explain the processing in the rectangular subdivision unit 106 (rectangular subdivision processing). As shown in Figure 8, even though the obstacle area H is not originally rectangular, such as an L-shape, when a containing rectangular data R is formed for data compression purposes, the containing rectangular data R will contain multiple non-grid areas G2. If data for transporting cargo P is created in this state, even though cargo P could be transported without obstacles, the area where cargo P cannot be transported will become larger. For example, in a space with many obstacles, such as inside a warehouse, the space in which cargo P can be transported will become smaller.
[0063] Therefore, a rectangular subdivision process is performed as shown in Figure 9. Figure 9 is a diagram illustrating the rectangular subdivision process. As shown in Figure 9, in the rectangular subdivision process in the rectangular subdivision unit 106, the grid G located at the four corners of the contained rectangular data R (letting the search base coordinates SC be SC1 at the top left, SC2 at the top right, SC3 at the bottom left, and SC4 at the bottom right) is used as a base point to search for a set of rectangles that are inside the contained rectangular data R but outside the obstacle area H, and are empty spaces (ungrid G2) (let's call this condition (1)). Hereinafter, the set of ungrid G2 that satisfies condition (1) will be referred to as empty rectangle A.
[0064] For example, in Figure 9, if we use the search base coordinate SC2 in the upper right corner of the contained rectangle data R as the base point, there are two possible blank rectangles A that satisfy condition 1 and yield a continuous gridless G2: one that obtains the maximum dimension in the X direction along the contained rectangle data R (shown by a dashed line; first blank rectangle candidate A21), and one that obtains the maximum dimension in the Y direction along the contained rectangle data R (shown by a dashed line; second blank rectangle candidate A22). In this case, comparing the first blank rectangle candidate A21 and the second blank rectangle candidate A22, the area of the first blank rectangle candidate A21 is larger.
[0065] Therefore, when searching for a blank rectangle A using the upper right search base coordinate SC2 as the base point, the first blank rectangle candidate A21 is determined as the comparison blank rectangle B2. Similarly, the same process is performed for the upper left search base coordinate SC1, the lower left search base coordinate SC3, and the lower right search base coordinate SC4, in addition to the upper right search base coordinate SC2, to determine the comparison blank rectangles B1 (which does not exist in Figure 9), B3, and B4.
[0066] Next, the sizes of the comparison blank rectangles B1 to B4 are compared, and the largest of them, the maximum blank rectangle C, is determined. For example, in Figure 9, the first blank rectangle candidate A21, which is the comparison blank rectangle B2, has 16 grid points, so this comparison blank rectangle B2 (first blank rectangle candidate A21) is determined to be the maximum blank rectangle C.
[0067] Next, we find the diagonal coordinates of the upper right corner of the largest empty rectangle C, which is diagonally opposite the search base coordinate SC2. Hereafter, we will refer to these diagonal coordinates as the division base point D.
[0068] Using the division base point D calculated as described above as the starting point, the contained rectangle data R is divided so as to exclude the largest blank rectangle C. More specifically, the contained rectangle data R is divided into a total of four subdivided rectangle data SR, with the diagonals being "top-left search base coordinate SC1 and division base point D", "top-right search base coordinate SC2 and division base point D", "bottom-left search base coordinate SC3 and division base point D", and "bottom-right search base coordinate SC4 and division base point D". Of these, the subdivided rectangle data SR with the diagonal being "top-right search base coordinate SC2 and division base point D" corresponds to the largest blank rectangle C, so the remaining three rectangles (subdivided rectangle data SR: top-left subdivided rectangle data SR1, bottom-left subdivided rectangle data SR3, bottom-right subdivided rectangle data SR4) are left excluding this rectangle with the diagonal being "top-right search base coordinate SC2 and division base point D".
[0069] In other words, the processing in the rectangular subdivision unit 106 creates subdivided rectangular data SR containing a total of three sets of diagonal coordinates corresponding to the obstacles. By creating subdivided rectangular data SR in this way, it is possible to appropriately remove blank spaces from the contained rectangular data R while minimizing the increase in data size.
[0070] Here, the subdivided rectangle data SR1 is represented by the coordinates of the diagonal corners, specifically "the top-left search base coordinate SC1 and the division base point D," the subdivided rectangle data SR3 by "the bottom-left search base coordinate SC3 and the division base point D," and the subdivided rectangle data SR4 by "the bottom-right search base coordinate SC4 and the division base point D." However, the data representing the region of each subdivided rectangle data SR is obtained by comparing the sizes of the X and Y coordinates of two points, and then rearranging the X and Y coordinate values into four data points, for example, (minimum X value, maximum X value, minimum Y value, maximum Y value). This simplifies the rectangle integration process described later.
[0071] Furthermore, since a single subdivision process can only remove the largest blank rectangle C from the initial rectangular range, blank rectangles slightly smaller than the largest blank rectangle C remain in the subdivision rectangle data SR. (For example, the blank rectangle in the lower left of the subdivision rectangle data SR3 and the blank rectangle in the upper left of the subdivision rectangle data SR4 in Figure 9 are blank rectangles newly created by the subdivision process.) Therefore, by applying the subdivision process to the subdivision rectangle data SR as well, the range in which the crane system 1 can move can be made wider.
[0072] (Limits of subdivision) Here, repeatedly performing the subdivision process can broaden the scope, but this may result in an enormous subdivision time. Therefore, it is preferable to determine the minimum size of the blank rectangle used for subdivision. The minimum size of the blank rectangle can be determined by considering the size of the cargo P that can be transported or the minimum area of the place where cargo P will be placed, but it may also be possible to select the optimal size based on the number of data points obtained after the subdivision process.
[0073] (Regarding the relabeling processing unit 107) The relabeling processing unit 107 performs relabeling on the subdivided rectangle data SR created by the subdivision process. By assigning a label to each of the subdivided rectangle data SRs, they can be distinguished from one another.
[0074] The division base point D can be the midpoint in the X and Y directions of a given grid G (center point), or it can be the boundary in the X and Y directions of a given grid G (boundary intersection). However, if the midpoint is used as the division base point D, the area of the maximum empty rectangle C becomes smaller compared to the boundary intersection, and the area of the compressed obstacle region HR becomes larger by that amount. Therefore, if the division base point D is located at the boundary intersection, the area of the maximum empty rectangle C can be increased, and the area of the region represented by the subdivided rectangle data SR does not become unnecessarily large by that amount.
[0075] (Regarding the height information assignment unit 108) The above-mentioned creation of subdivided rectangle data SR is performed based on grid map processing data that does not have height information (Z coordinate). Therefore, the height information assignment unit 108 refers to the grid map processing data (Figure 4(c)) that has height information (Z coordinate) created by the grid map creation unit 102 described above, and assigns height information (Z coordinate) to the subdivided rectangle data SR. In other words, the grid map processing data that does not have height information (Z coordinate) and the grid map processing data that does have height information (Z coordinate) are integrated.
[0076] For the subdivided rectangular data SR, the maximum height value among the height (Z coordinate) data shown in Figure 4(b) at the corresponding coordinate location is assigned as the maximum height (Z coordinate) data for the subdivided rectangular data SR. This allows the subdivided rectangular data SR to be represented by a total of five data points (minimum X value, maximum X value, minimum Y value, maximum Y value, height) consisting of the XY coordinate data of two diagonal points and height data. Similarly, the unsubdivided inclusive rectangular data R can also be represented by a total of five data points, including height data.
[0077] (2-6. Processing in the data integration unit 109) Next, the processing in the data integration unit 109 will be explained. With the 3D sensor 30 described above, 3D data can only be acquired within the range measurable by the 3D sensor 30 of the environment in which the load P is transported. Therefore, the 3D sensor 30 (hoisting machine 10) is moved to acquire 3D data at different locations, and by integrating this 3D data, overall 3D data of the environment in which the load P is transported is created.
[0078] Figure 10 shows an image of the data integration process in the data integration unit 109. In Figure 10, the data acquired by the 3D sensor 30 at the first location and subjected to the above-mentioned rectangular subdivision process (referred to as the first location data Q1) is shown by a dashed line, and the data acquired by the 3D sensor 30 at the second location and subjected to the above-mentioned rectangular subdivision process (referred to as the second location data Q2) is shown by a double-dashed line. The integrated data Q3, which is the result of integrating these data, is shown by a solid line.
[0079] As is clear from Figure 10, in the data integration process, similar to the enclosing rectangle process described above, the data is integrated by enclosing the first location data Q1 and the second location data Q2 within a rectangle. The details of this process will be explained based on the flowchart shown in Figure 11.
[0080] (Step S01): Adding new data to the obstacle rectangle database First, the newly acquired data is added to the obstacle rectangle database. For example, if the first point data Q1 already exists in the obstacle rectangle database, the point cloud data newly acquired by the 3D sensor 30 is processed up to the height information assignment unit 108, and then the second point data Q2 is added as new data.
[0081] Note that the obstacle rectangle database may already contain integrated data that has undergone several data integration processes. Therefore, in the following explanation, integrated data will also be included in the first location data Q1 mentioned above.
[0082] (Step S02): Rectangular interference determination Next, a rectangular interference check is performed. In this rectangular interference check, as shown in Figure 12, it is determined whether the amount of overlap between the existing first point data Q1 and the newly added second point data Q2 exceeds the plane detection threshold α. At this time, it is determined whether the amount of overlap exceeds the plane detection threshold α in both the X and Y directions (Figure 12 illustrates the case where the amount of overlap exceeds the plane detection threshold α).
[0083] Furthermore, as shown in Figure 13, if the height difference between the first point data Q1 and the second point data Q2 that are to be integrated is too large, the load P can pass over the top of the lower obstacle (rectangle), so it is preferable to treat these two obstacles (rectangles) as separate entities. Therefore, in determining the rectangular interference described above, it is determined whether the height difference between the already existing first point data Q1 and the newly added second point data Q2 exceeds the height determination threshold β (Figure 13 illustrates the case where the height difference is exactly the height determination threshold β).
[0084] If the above overlap amount exceeds the plane detection threshold α and does not exceed the height detection threshold β (the height difference is small), then it is determined that "interference exists" (Yes), and the process proceeds to the next step S03. On the other hand, if the above overlap amount does not exceed the plane detection threshold α, or exceeds the height detection threshold β (the height difference is large), then it is determined that "no interference exists" (No), and the process proceeds to step S06, which will be described later.
[0085] Therefore, in determining the rectangular interference described above, it is preferable to use a brute-force method to determine whether the overlap amount exceeds the plane determination threshold α and whether the height difference exceeds the height determination threshold β between each subdivided rectangular data SR present in the first point data Q1 and the second point data Q2.
[0086] In practice, as already explained, one rectangle can be represented by five data points (minimum X value, maximum X value, minimum Y value, maximum Y value, height). Therefore, it is preferable to use a brute-force method to determine whether the overlap amount exceeds the plane determination threshold α and whether the height difference exceeds the height determination threshold β between the coordinate data of the first location data Q1 and the coordinate data of the second location data Q2. The first location data Q1 used in this brute-force method is preferably the coordinate data of multiple subdivided rectangle data SR or inclusion rectangle data R from several past location data points, but it may also be the coordinate data of subdivided rectangle data SR or inclusion rectangle data R from already created integrated data.
[0087] Furthermore, if it is possible to identify the rectangles that actually interfere with each other, instead of the brute-force method described above, it may be possible to determine whether the amount of overlap between the interfering rectangles (pairs of diagonal coordinates) exceeds the plane determination threshold α, and whether the height difference exceeds the height determination threshold β.
[0088] (How to determine the plane detection threshold α) Here, the plane determination threshold α may be determined from the measurement accuracy of the 3D sensor 30, the accuracy of the measurement position of the crane system 1, and the size of one grid, or it may be adjusted and determined based on the number of data after rectangular integration processing.
[0089] (How to determine the height threshold β) Furthermore, the height determination threshold β may be determined based on the measurement accuracy of the 3D sensor 30 and the size of the load P, or it may be adjusted and determined based on the number of data points after rectangular integration processing.
[0090] (Step S03): Rectangle integration If the determination in step S02 above indicates "interference present" (Yes), then rectangular merge is performed. The image of this rectangular merge is already shown in Figure 10. In this case, if the first location data Q1 and the second location data Q2 are not simple rectangles, it is preferable to perform the rectangular merge in such a way as shown in Figure 14 that the multiple (two in Figure 14) subdivided rectangular data SRs that are determined to actually interfere are included to create an included rectangular data R. Figure 14 shows an image of rectangular merge when the first location data Q1 and the second location data Q2 are not simple rectangles, with (a) showing the image before merge and (b) showing the image after merge to create the merged data Q3.
[0091] (Step S04): Update the obstacle rectangle database. Next, we update the obstacle rectangle database. This update adds the diagonal coordinate sets created during rectangle integration.
[0092] (Step S05): Reset the discrimination range Next, the discrimination range is reset. In this reset of the discrimination range, for example, if a brute-force method of determination was performed in step S04 above, the diagonal coordinate set is reset to the initial one so that the brute-force method of determination can be performed again.
[0093] (Step S06): Determination of intrinsic rectangle removal In the rectangular interference determination in step S02 described above, if the difference in height between the already existing first point data Q1 and the newly added second point data Q2 exceeds the height determination threshold β, it is determined that there is "no interference" (No). In this case, as shown in Figure 15, when viewed from above, the second point data Q2 (another subdivided rectangular data SR) is contained within the first point data Q1 (a specific subdivided rectangular data SR), and even if the height difference exceeds β, it is determined that there is "no interference" (No) despite the fact that there is actually a significant overlap due to the containment of the subdivided rectangular data SR.
[0094] Therefore, in step S06, a determination of whether a rectangle is contained is made. In this determination of whether a rectangle is contained, the maximum values of the X coordinates, the maximum values of the Y coordinates, the minimum values of the X coordinates, and the minimum values of the Y coordinates are compared between the coordinate data representing the subdivided rectangle data SR or contained rectangle data R in the first location data Q1 and the coordinate data representing the subdivided rectangle data SR or contained rectangle data R in the second location data Q2. Note that this comparison assumes that the values of the X and Y coordinates are positive.
[0095] In this determination, if the maximum X and Y coordinates of a particular subdivided rectangle are greater than the maximum X and Y coordinates of another subdivided rectangle, and the minimum X and Y coordinates of a particular subdivided rectangle data SR are smaller than the minimum X and Y coordinates of another subdivided rectangle data SR, and the height (Z coordinate) of the particular subdivided rectangle data SR is greater than the height (Z coordinate) of another subdivided rectangle data SR, then it is determined that another subdivided rectangle data SR is inherent in the particular subdivided rectangle data SR (Yes). In that case, proceed to the next step S07.
[0096] Furthermore, if the maximum X and Y coordinates of a particular subdivided rectangle data SR are smaller than the maximum X and Y coordinates of another subdivided rectangle data SR, or if the minimum X and Y coordinates of a particular subdivided rectangle data SR are larger than the minimum X and Y coordinates of another subdivided rectangle data SR, or if the height (Z coordinate) of a particular subdivided rectangle data SR is smaller than the height (Z coordinate) of another subdivided rectangle data SR, then it is determined that no other subdivided rectangle data SR is inherently contained within that particular subdivided rectangle data SR (No). In this case, the series of processes is terminated. Note that, similar to the determination of rectangle interference, the determination of inherent rectangles is also performed on all subdivided rectangle data SRs using a brute-force method.
[0097] (Step S07): Removal of the imprinted rectangle In the determination in step S06 above, if it is determined that another subdivided rectangle data SR is inherently contained within a specific subdivided rectangle data SR (Yes), the other contained subdivided rectangle data SR is removed from the obstacle rectangle database.
[0098] By going through the processes described in steps S01 to S07, the data integration process in the data integration unit 109 is completed. This completes the process of compressing the data size of the 3D data.
[0099] When transporting the load P based on the compressed 3D data, the size of the load P is input to the motor control unit 50 in advance. Based on the height (Z coordinate) information of the 3D data of the obstacle, the hoisting motor driver 12 controls the hoisting motor 11 based on the control command from the motor control unit 50, enabling the load P to be transported without contacting the obstacle in the height direction.
[0100] Furthermore, based on the horizontal (XY coordinate) information of the 3D data of the obstacle, the travel motor driver 4b controls the travel motor 4a and the traverse motor driver 5b controls the traverse motor 5a based on control commands from the motor control unit 50, thereby enabling the load P to be transported without coming into contact with the obstacle in the horizontal direction.
[0101] Furthermore, based on the compressed 3D data, even if the processing capacity of the motor control unit 50 is not very high, the motor control unit 50 can generate control commands to control the driving of the travel motor driver 4b, the traverse motor driver 5b, and the hoisting motor driver 12 without delay, enabling the crane system 1 to transport the load P while avoiding obstacles.
[0102] This allows for the use of less expensive control devices in the motor control unit, thereby reducing the cost of crane system 1.
[0103] (2-7. Processing in the relabeling processing unit 110) Next, the relabeling processing unit 110 performs the same relabeling process as the relabeling processing unit 107 described above on each of the 3D data after the data integration process has been completed. By assigning labels to each of the integrated 3D data in this way, they can be distinguished from one another.
[0104] (3. Variant) Although the various embodiments of the present invention have been described above, the present invention can also be implemented using other procedures. These will be described below.
[0105] In the above-described embodiment, the data processing device 100 processed data based on 3D point cloud data obtained by reflecting the coordinate data of the crane system 1 in addition to the measurement data acquired by the 3D sensor 30. However, the data processing device 100 may also process both the 3D point cloud data acquired by the 3D sensor 30 and the 3D point cloud data, and when the crane system 1 transports the load P, it may control the movement of the crane system 1 by sending both the processed data and the coordinate data of the crane system 1 at the time the 3D sensor 30 acquired the data to the motor control unit.
[0106] Furthermore, while the morphological transformation and subdivision processes are performed using data that does not include height (Z coordinate), they may also be performed using data that includes height (Z coordinate) (Figure 4(b)).
[0107] Furthermore, while Figure 4(b) shows a grid map diagram using height (Z coordinate) to create a grid map diagram without height (Z coordinate), it is also possible to directly create a grid map diagram without height (Z coordinate) from the image diagram shown in Figure 4(a). In that case, the grid map diagram without height (Z coordinate) shown in Figure 4(b) will also be created at the same time.
[0108] Furthermore, in the above-described embodiment, one blank rectangle B is removed in the rectangular subdivision section 106, but multiple blank rectangles B may be removed instead.
[0109] (4. Note) The contents described in the above-mentioned embodiment can be understood, for example, as follows: [1] That is, A crane system 1 comprising a hoisting machine 10 for raising and lowering a load P and moving it horizontally, and a pair of traveling rails 2, a traversing rail 3, a pair of traveling trolleys 4 and a traversing trolley 5 (horizontal movement mechanism), A 3D sensor 30 measures the three-dimensional position of obstacles that hinder the transport of the load P, A position detection unit 20 detects the horizontal and vertical position of the load P, A data processing device 100 performs data processing on obstacles based on coordinate data acquired by a 3D sensor 30, A motor control unit 50 (control unit) controls the operation of a pair of running rails 2, a traverse rail 3, a pair of running trolleys 4 and traverse trolleys 5 (horizontal movement mechanism), and a hoisting machine 10. Equipped with, The data processing device 100 is The system includes an inclusion rectangle processing unit 105 that creates inclusion rectangle data R corresponding to rectangular data containing an obstacle region H, based on three-dimensional data including an obstacle region H.
[0110] In this way, by creating inclusion rectangle data R in the inclusion rectangle processing unit 105, the point cloud data acquired by the 3D sensor 30 can be represented by this inclusion rectangle data R. Therefore, data indicating obstacles can be significantly compressed from the point cloud data.
[0111] Therefore, in the crane system 1, it is possible to reduce the load on data processing when driving the travel motor 4a, the traverse motor 5a, and the hoisting motor 11.
[0112] [2] In addition, in the above embodiment, in addition to the contents described in [1] above, Preferably, the data processing device 100 includes a rectangular subdivision unit 106 that divides the contained rectangular data R into a plurality of subdivided rectangular data SR.
[0113] In this way, by dividing the contained rectangular data R into multiple subdivided rectangular data SR in the rectangular subdivision unit 106, it is possible to appropriately remove blank spaces from the contained rectangular data R while suppressing the increase in data size. As a result, it is possible to increase the area that the hoisting machine 10 can pass through. It becomes possible to extend it.
[0114] [3] In addition, in the above embodiment, in addition to the contents described in [2] above, In the rectangular subdivision unit 106, using the grid search base coordinates SC at the four corners of the rectangular shape created by the contained rectangular data R as a base point, it searches for a continuous and rectangular empty rectangle B that is inside the contained rectangular data R but outside the obstacle region H, and is empty grid G. If multiple blank rectangles B are found, the one with the largest area among those multiple blank rectangles B is determined to be the largest blank rectangle C. Among the largest empty rectangle C, the diagonal coordinates of the search base point SC are determined as the division base point D. The containing rectangular data R is divided so that the division base point D and the search base point coordinates SC are diagonally opposite each other, forming multiple subdivided rectangular data SR. It is preferable to remove the blank rectangle B from the four subdivided rectangle data SR.
[0115] In this way, by dividing the contained rectangular data R into multiple subdivided rectangular data SR based on the division base point D, it is possible to appropriately remove blank spaces from the contained rectangular data R while suppressing the increase in data size.
[0116] [4] In addition, in the above embodiment, in addition to the contents described in [1] or [3] above, The horizontal direction is represented by the X and Y directions. Preferably, the coordinates of the inclusion rectangle data R and the subdivision rectangle data SR are expressed by the maximum and minimum values of the X coordinate, the maximum and minimum values of the Y coordinate, and the maximum height within the area represented by the rectangle data.
[0117] Thus, since obstacles are represented by five data points (minimum X value, maximum X value, minimum Y value, maximum Y value, and maximum height within the rectangle), data compression is possible. Furthermore, because the rectangle data is represented by the maximum and minimum values of the X and Y coordinates, the process of merging rectangles can be easily performed.
[0118] [5] In addition, in the above embodiments, in addition to the contents described in any of [1] to [4] above or a combination thereof, Preferably, the data processing device 100 includes a data integration unit 109 that integrates previously acquired contained rectangular data R or subdivided rectangular data SR contained in contained rectangular data R with contained rectangular data R or subdivided rectangular data SR contained in contained rectangular data R created from newly acquired point cloud data when the 3D sensor 30 is moved.
[0119] In this way, by integrating previously acquired contained rectangle data R or subdivided rectangle data SR contained in contained rectangle data R with newly acquired contained rectangle data R or subdivided rectangle data SR contained in contained rectangle data R, it is possible to obtain 3D data over a wide range of the environment in which the cargo P is transported, and to achieve significant data compression while creating such wide-range 3D data.
[0120] Therefore, in the crane system 1, it is possible to reduce the load on data processing when driving the travel motor 4a, the traverse motor 5a, and the hoisting motor 11.
[0121] [6] In addition, in the above embodiment, in addition to the contents of [5] described above, The data processing device 100 includes a rectangular subdivision unit 106 that divides the contained rectangular data R into a plurality of subdivided rectangular data SR, The data integration unit 109 is The system determines whether the overlap amount between previously acquired contained rectangle data R or subdivided rectangle data SR contained in contained rectangle data R and newly acquired point cloud data when the 3D sensor 30 is moved exceeds the plane determination threshold α. Furthermore, it is determined whether the height difference between the previously acquired contained rectangle data R or the subdivided rectangle data SR contained in the contained rectangle data R, and the contained rectangle data R or the subdivided rectangle data SR contained in the contained rectangle data R created from the point cloud data newly acquired when the 3D sensor 30 is moved, exceeds the height determination threshold β. If the overlap amount is determined to exceed the plane detection threshold α, and the height difference is determined not to exceed the height detection threshold β, then "interference exists" is detected, and rectangular merger is performed between the contained rectangular data R or the subdivided rectangular data SR contained within the contained rectangular data R that is determined to be interfering. If the overlap amount is determined not to exceed the plane determination threshold α, or if the height difference is determined to exceed the height determination threshold β, it is preferable to determine "no interference" and not perform rectangular merging.
[0122] In this way, by determining whether the amount of overlap between the contained rectangular data R or the subdivided rectangular data SR contained within the contained rectangular data R exceeds the plane determination threshold α, and by determining whether the height difference between the contained rectangular data R or the subdivided rectangular data SR contained within the contained rectangular data R exceeds the height determination threshold β, it is possible to appropriately determine whether or not to perform rectangle merging.
[0123] [7] In addition, in the above embodiment, in addition to the contents described in [6] above, If it is determined that there is "no interference", the data integration unit 109 performs a determination of whether the rectangle is contained, The horizontal direction is represented by the X and Y directions. In determining whether a rectangle is contained, The diagonal coordinate sets representing the previously acquired contained rectangle data R or the subdivided rectangle data SR contained in the contained rectangle data R are compared with the coordinate sets representing the contained rectangle data R or the subdivided rectangle data SR contained in the contained rectangle data R, which were created from the point cloud data newly acquired when the 3D sensor 30 was moved. The maximum values of the X coordinates in the X direction, the maximum values of the Y coordinates in the Y direction, the minimum values of the X coordinates, and the minimum values of the Y coordinates are compared. If the maximum X and Y coordinates of one containing rectangular data R or the subdivided rectangular data SR contained within the containing rectangular data R are greater than the maximum X and Y coordinates of the other containing rectangular data R or the subdivided rectangular data SR contained within the containing rectangular data R, Furthermore, if the minimum X-coordinate and Y-coordinate of one containing rectangular data R or the subdivided rectangular data SR contained in the containing rectangular data R are smaller than the minimum X-coordinate and Y-coordinate of the other containing rectangular data R or the subdivided rectangular data SR contained in the containing rectangular data R, and the height of one containing rectangular data R is greater than the height of the other containing rectangular data R, it is preferable to determine that the other containing rectangular data R or the subdivided rectangular data SR contained in the containing rectangular data R are inherently contained in one containing rectangular data R or the subdivided rectangular data SR contained in the containing rectangular data R.
[0124] In this way, by performing a rectangle containment determination, it is possible to appropriately determine whether one containing rectangle data R or the subdivided rectangle data SR contained within the containing rectangle data R contains other containing rectangle data R or the subdivided rectangle data SR contained within the containing rectangle data R.
[0125] [8] In addition, in the above embodiment, A crane control method for controlling a crane system 1 comprising a hoisting machine 10 for raising and lowering a load P and moving it horizontally, and a pair of traveling rails 2, a traversing rail 3, a pair of traveling trolleys 4 and a traversing trolley 5 (horizontal movement mechanism), Crane system 1 is, A 3D sensor 30 measures the three-dimensional position of obstacles that hinder the transport of the load P, A position detection unit 20 detects the horizontal and vertical position of the load P, A data processing device 100 performs data processing on obstacles based on coordinate data acquired by a 3D sensor 30, A control unit that controls the horizontal movement of a pair of running rails 2, a traverse rail 3, a pair of running trolleys 4 and traverse trolleys 5 (horizontal movement mechanism), and the operation of the hoisting machine 10, Equipped with, In the data processing device 100, Based on 3D data including an obstacle region H, an inclusion rectangle processing is performed to create an inclusion rectangle data R corresponding to the rectangular data containing the obstacle region H.
[0126] In this way, by creating enclosed rectangle data R using enclosed rectangle processing, this enclosed rectangle data R can be represented by information indicating that it is rectangular data and the coordinates of two diagonally opposite points G that constitute the rectangular data. Therefore, it becomes possible to significantly compress the data from the data representing the obstacle region H.
[0127] Therefore, in the control method for the crane system 1, it is possible to reduce the load on data processing when driving the travel motor 4a, the traverse motor 5a, and the hoisting motor 11. [Explanation of Symbols]
[0128] 1...Crane system, 2...Travel rail, 3...Traverse rail, 4...Travel trolley, 4a...Travel motor, 4b...Travel motor driver, 5...Traverse trolley, 5a...Traverse motor, 5b...Traverse motor driver, 10...Hoisting machine, 11...Hoisting motor, 12...Hoisting motor driver, 13...Hoisting member, 20...Position detection unit, 30...3D sensor, 50...Motor control unit, 100...Data processing unit, 101...Point cloud data coordinate processing unit, 102...Grid map creation unit, 103...Morphology transformation unit, 104...Labeling processing unit, 105...Inclusion rectangle processing unit, 106...Rectangle subdivision unit, 107...Relabeling processing unit 108…Height information assignment unit, 109…Data integration unit, 110…Relabeling processing unit, A…Blank rectangle, A21…First blank rectangle candidate, A22…Second blank rectangle candidate, B1~B4…Comparison blank rectangle, C…Maximum blank rectangle, D…Division base point, J1…Obstacle dot, F1…Hook, G…Grid, G0…No height grid, G1…Height grid, G2…No grid, G3…Grid, H…Obstacle area, HR…Compressed obstacle area, P…Load, Q1…First point data, Q2…Second point data, Q3…Integrated data, R…Inclusion rectangle data, S1…Suspension member, SC…Search base point coordinates, SR…Subdivision rectangle data
Claims
1. A crane system comprising a hoisting machine and a horizontal movement mechanism for lifting and lowering loads and moving them horizontally, A three-dimensional sensor that measures the three-dimensional position of an obstacle that hinders the transport of the aforementioned load, A position detection unit for detecting the horizontal and vertical positions of the load, A data processing device that performs data processing on the obstacle based on the coordinate data acquired by the three-dimensional sensor, A control unit that controls the horizontal movement of the horizontal movement mechanism and the operation of the hoisting machine, Equipped with, The aforementioned data processing device is The system includes a containing rectangle processing unit that creates containing rectangle data corresponding to a rectangle data including the obstacle region based on three-dimensional data including the obstacle region indicating the said obstacle. A crane system characterized by the following features.
2. The crane system according to claim 1, The data processing device includes a rectangle subdivision unit that divides the contained rectangle data into a plurality of subdivided rectangle data. A crane system characterized by the following features.
3. The crane system according to claim 2, In the rectangular subdivision unit, using the coordinates of the grid search base points located at the four corners of the rectangular shape created by the contained rectangular data as a base point, a continuous blank rectangle that forms a rectangle is located inside the contained rectangular data but outside the obstacle area. If multiple blank rectangles are found, the one with the largest area among them is determined to be the largest blank rectangle. Among the largest blank rectangle, the diagonal coordinates of the search base point coordinates are determined as the division base points. The inclusion rectangle data is divided to form a plurality of subdivided rectangle data such that the division base point and the search base point coordinates are diagonal to each other. From the four subdivided rectangle data, remove the blank rectangle. A crane system characterized by the following features.
4. A crane system according to claim 2 or 3, The aforementioned horizontal direction is represented by the X direction and the Y direction. The coordinates of the inclusion rectangle data and the subdivision rectangle data are represented by the maximum and minimum values of the X coordinate, the maximum and minimum values of the Y coordinate, and the maximum height within the area represented by the rectangle data. A crane system characterized by the following features.
5. The crane system according to claim 4, The data processing device includes a data integration unit that integrates previously acquired contained rectangle data or subdivided rectangle data included in said contained rectangle data with contained rectangle data or subdivided rectangle data created from newly acquired point cloud data when the 3D sensor is moved. A crane system characterized by the following features.
6. The crane system according to claim 5, The aforementioned data integration unit, The system determines whether the overlap amount between the previously acquired inclusion rectangle data or the subdivided rectangle data contained in the inclusion rectangle data and the newly acquired point cloud data when the 3D sensor is moved exceeds the plane determination threshold. Furthermore, it is determined whether the height difference between the previously acquired inclusion rectangle data or the subdivided rectangle data included in the inclusion rectangle data and the newly acquired point cloud data when the 3D sensor is moved exceeds a height determination threshold. If it is determined that the overlap amount exceeds the plane determination threshold, and the height difference does not exceed the height determination threshold, then "interference present" is determined, and rectangle merging is performed between the containing rectangle data or the subdivided rectangle data included in the containing rectangle data that is determined to be interfering. If it is determined that the overlap amount does not exceed the plane determination threshold, or if it is determined that the height difference exceeds the height determination threshold, then the rectangle merge is not performed, and the result is "no interference". A crane system characterized by the following features.
7. The crane system according to claim 6, If it is determined that there is "no interference," the data integration unit will perform a determination of whether the rectangle is contained within it. In the determination of the presence of the rectangle, The set of diagonal coordinates representing the contained rectangle data or the subdivided rectangle data included in the contained rectangle data acquired in the past is compared with the coordinates representing the contained rectangle data or the subdivided rectangle data included in the contained rectangle data created from the point cloud data newly acquired when the 3D sensor was moved, comparing the maximum values of the X coordinates in the X direction, the maximum values of the Y coordinates in the Y direction, the minimum values of the X coordinates, and the minimum values of the Y coordinates. If the maximum X-coordinate and Y-coordinate of one of the containing rectangular data or the subdivided rectangular data included in the containing rectangular data are greater than the maximum X-coordinate and Y-coordinate of the other containing rectangular data or the subdivided rectangular data included in the containing rectangular data, Furthermore, if the minimum X-coordinate and Y-coordinate of one of the contained rectangular data or the subdivided rectangular data contained within the contained rectangular data are smaller than the minimum X-coordinate and Y-coordinate of the other contained rectangular data or the subdivided rectangular data contained within the contained rectangular data, and the height of one of the contained rectangular data is greater than the height of the other contained rectangular data, then it is determined that one of the contained rectangular data or the subdivided rectangular data contained within the contained rectangular data contains the other contained rectangular data or the subdivided rectangular data contained within the contained rectangular data. A crane system characterized by the following features.
8. A crane control method for controlling a crane system equipped with a hoisting machine and a horizontal movement mechanism for lifting and lowering loads and moving them horizontally, The aforementioned crane system is A three-dimensional sensor that measures the three-dimensional position of an obstacle that hinders the transport of the aforementioned load, A position detection unit for detecting the horizontal and vertical positions of the load, A data processing device that performs data processing on the obstacle based on the coordinate data acquired by the three-dimensional sensor, A control unit that controls the horizontal movement of the horizontal movement mechanism and the operation of the hoisting machine, Equipped with, In the aforementioned data processing device, Based on the three-dimensional data including the obstacle region that indicates the aforementioned obstacle, an inclusion rectangle processing is performed to create inclusion rectangle data corresponding to the rectangular data including the obstacle region. A crane control method characterized by the following features.