A robust laser scanner ship unloader bulk material grab positioning method and apparatus
By using laser scanners and multi-line radar monitoring, robust positioning of bulk material grabbing by the ship unloader was achieved, solving the problems of production instability and safety hazards caused by reliance on driver experience in existing technologies, and enabling real-time collision avoidance alarms and monitoring of the hatch position.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING BESTPOWER INTELCONTROL TECH CO LTD
- Filing Date
- 2023-12-15
- Publication Date
- 2026-05-19
AI Technical Summary
The operation of existing ship unloaders relies on the driver's experience, which leads to production instability and safety hazards, and makes it difficult to achieve robust bulk material grabbing and positioning.
A laser scanner is used to scan the position of the bulk carrier's hold, combined with multi-line radar to monitor the position of the grab bucket, to achieve real-time collision avoidance alarms and monitoring of the drift position of the hold opening. Three-dimensional coordinates and material surface information are obtained by vertically installing single-line laser scanning gimbals on the sea side and land side.
It enables advance planning for bulk material handling and real-time collision avoidance alarms, ensuring system robustness and improving the stability and safety of unloading operations.
Smart Images

Figure CN117755853B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the technical field of material gripping and positioning, and particularly relates to a robust laser scanner method and equipment for gripping and positioning bulk materials in a ship unloader. Background Technology
[0002] Ship unloaders are large machines used for unloading ships at bulk cargo terminals. Currently, their operation mainly relies on the driving experience of skilled drivers. This not only increases production costs, but also makes it difficult to guarantee the stability of unloading operations due to external factors such as fatigue. In some extreme cases, it can even lead to major production accidents, causing casualties and economic losses.
[0003] Therefore, developing a robust laser scanner for bulk material handling and positioning in ship unloaders is a crucial technical problem that needs to be addressed in the industry, as it can effectively overcome the shortcomings of the aforementioned related technologies. Summary of the Invention
[0004] Based on the shortcomings of the existing technology, the technical problem solved by the present invention is to provide a robust method and equipment for grabbing and positioning bulk materials in a laser scanner unloader. This method and equipment can plan the grabbing of bulk materials in advance, provide positioning and real-time anti-collision alarms during the grabbing process, realize real-time monitoring of the drift position of the ship hatch, provide immediate feedback on the safety status of the grab bucket, and ensure the robustness of the entire system.
[0005] In a first aspect, the present invention provides a robust laser scanner method for bulk material grabbing and positioning on a ship unloader, comprising: Step 31, after system startup, listening to the message bus, and activating the walking scanning module, the fixed-point scanning module, and the grab monitoring module via the message bus; Step 32, after the bulk carrier docks, the ship unloader travels along the track once to obtain the positions of all bulk cargo holds on the carrier, and activates the walking scanning module via the message bus to switch the single-line laser scanner on the sea side of the equipment to monitoring mode to collect scanning data in real time; Step 33, collecting and acquiring real data, obtaining the position of the ship unloader in real time via the message bus, and performing the next acquisition when the current position of the ship unloader is greater than the previous acquisition position by a predetermined distance. Furthermore, the current scanner data is combined with the unloader's position to obtain the world coordinates; step 34, data voxelization and thresholding are performed to obtain point cloud coordinates, calculate the coordinate range, and perform rasterization preprocessing on the horizontal axis coordinate direction according to the rasterization size, followed by edge detection. When the vertical coordinate is less than a predetermined threshold, hatch edge detection is performed, and the hatch detection data is segmented to obtain a list containing several sublists, each representing a hatch and its surrounding point coordinates. Then, any hatch is corrected. When the vertical coordinate is greater than a predetermined threshold, the corresponding hatch correction value is set to 1. Then, the horizontal axis coordinate direction is processed in the same direction as the horizontal axis coordinate direction. The following steps are performed: Step 35: Correct the horizontal and vertical coordinates of the plane, and then obtain the deck height based on the hatch coordinates; Step 36: Standardize the material surface inside the hold to provide the grab bucket with the height information of the grab point; Step 37: When the ship unloader starts working on any hold, when the grabbing of bulk material leaves the range of the hatch, the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal use scanning mode to obtain the hatch position and the material surface information inside the hold; Step 38: Repeat step 39, for the current ship unloader working area, update the hatch position and the material surface height inside the hold during the gap of grab bucket unloading; Step 39: Standardize the material surface inside the hold using the method in step 31; Step 30: Calculate the monitoring angle. That is, the angles of the center lines of the horizontal and vertical coordinates of the ship's cabin plane are monitored by the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal; Step 310, start the grab monitoring, acquire parameters, and after the fixed-point scanning module finishes running, the grab monitoring module will run automatically. The coordinates of the ship's hatch and the monitoring angles of the two single-line laser scanners acquired in steps 37 and 39 are used as parameters of the grab monitoring module; Step 311, monitor entities within the visual range. The multi-line radar scanning range is the space below the cockpit. After acquiring the data, the grab is obtained through a clustering algorithm. The maximum and minimum three-dimensional coordinates of the grab are calculated, and the center position, vertex coordinates, and grab opening degree of the grab are obtained accordingly.Step 312: Calculate the hatch offset in real time. Based on the hatch coordinates obtained in steps 37 and 39 and the monitoring angles of the two single-line laser scanners, set the two single-line laser scanners to monitoring mode. Combine the data from the two scanners to obtain the current hatch position. When the drift exceeds the position obtained in step 37, update the current hatch position. Step 313: Calculate the collision between the entity and the hatch.
[0006] Based on the above method embodiments, the robust laser scanner unloader bulk material grasping and positioning method provided in this invention includes step 33 specifically: if X 船 -X mark >200 mm, then X 大世界坐标 =X 扫描仪 +X 船 ; where X 船 This indicates the current position of the ship unloader; X mark This refers to the location of the unloader previously collected; X 扫描仪 The scanner's current location; X 大世界坐标 Used as a coordinate system for the wider world.
[0007] Based on the above method embodiments, the robust laser scanner unloader bulk material grasping and positioning method provided in this invention includes step 34, which specifically includes: first, obtaining point cloud coordinates:
[0008]
[0009] Where points are the point cloud coordinates; x k ,y k ,z k Here are the coordinates of the k-th point; n is the total number of points in the point cloud; then the coordinate range is calculated:
[0010] (x min ,y min ,z min = min(points)
[0011] (x max ,y max ,z max = max(points)
[0012] Where min represents the minimum value; max represents the maximum value; (x min ,y min ,z min (x) represents the coordinates of the point with the smallest coordinate value in the point cloud; max ,y max ,z max () represents the coordinates of the point with the largest coordinate value in the point cloud coordinates;
[0013] Based on rasterization size voxel size Perform rasterization preprocessing in the x-direction:
[0014]
[0015]
[0016] Where, num x The result is the rasterization preprocessing result in the x-direction; The floor symbol; For the num x One;
[0017] Then edge detection is performed:
[0018]
[0019] Where, index x This is the edge detection result;
[0020] When z is satisfied i When the value is less than the predetermined threshold:
[0021] voxels x [index x ] = 0
[0022] in, voxels in the x-direction size Perform hatch edge inspection:
[0023] B i =voxels x [i+1]-voxels x [i]
[0024]
[0025] rise x ={i*voxel size +x min |edges[i]=1}
[0026] fall x ={i*voxel size +x min |edges[i]=-1}
[0027] Where i is the array index; B i The values -1, 0, and 1 represent voxels. x The interpolation of the (i+1)th and the ith; edges is the set of height jumps in a single direction; For the num x -1 height detection location; rise x The position of the rising edge of the height jump; fall x The position where the height jump becomes the falling edge; obtain:
[0028] x cavei =[fall xi rise xi ]
[0029] y cavei =[fall yi rise yi ]
[0030] Where, x cavei Let be the position of the i-th hatch in the x-direction; fall xi Rise represents the position of the descending edge of the i-th hatch in the x-direction, i.e., the position where the height of the deck changes from that of the hatch. xi Let y be the position of the rising edge of the i-th hatch in the x-direction, i.e., the position where the height of the hatch changes from that of the deck; cavei Let be the position of the i-th hatch in the y-direction; fall yi Let 'rise' be the position of the descending edge in the y-direction of the i-th hatch, i.e., the position where the height of the deck changes from the hatch opening to the deck opening. yi This is the position of the rising edge of the i-th hatch in the y-direction, i.e., the position where the height of the hatch and the deck changes.
[0031] Based on the initial hatch segmentation, a list is obtained, which contains several sublists. Each sublist represents a hatch and the coordinates of its surrounding points. Then, hatch correction is performed on any hatch.
[0032] voxels x =[0,...,0 i ], i∈len(y cave1 )
[0033] repeat When z is satisfied i When the value exceeds a predetermined threshold, the corresponding voxels will be... x The value is set to 1, and then the same correction steps are performed in the y direction to obtain the corrected x. cavei and y cavei Based on the hatch coordinates, obtain the deck height z. hatch .
[0034] Optionally, step 35 specifically includes: obtaining x through step 34 cavei and y cavei :
[0035]
[0036] Where stock_range is the set of stockpile coordinates; x j ,y j ,z j The coordinates of the points that meet the conditions; It is the minimum value of the edge in the x-direction of the i-th cabin; It represents the maximum value of the edge in the x-direction of the i-th cabin; It is the minimum value of the edge in the y-direction of the i-th cabin; It represents the maximum value of the edge in the y-direction of the i-th cabin.
[0037] Optionally, step 39 specifically includes:
[0038]
[0039]
[0040]
[0041]
[0042] Where, x middle Let x be the center position of the hatch, and y be the x-value. middle Let x be the y-value of the center position of the hatch. angle For the monitoring angle of the single-line laser scanning cloud on the sea side, y angle For the monitoring angle of the landside single-line laser scanning PTZ unit, x refer x represents the current position of the ship unloader. diff , These represent the x- and z-direction deviations of the sea-side single-line laser scanning gimbal relative to the ship unloader coordinates, respectively. diff , These represent the deviations of the land-side single-line laser scanning gimbal relative to the coordinates of the unloader in the y and z directions, respectively.
[0043] Optionally, step 313 includes:
[0044]
[0045] Where S represents the current relative position of the grab bucket and the hatch, 1 indicates a risk of collision, and 0 indicates that all parts of the grab bucket are within the space of the hatch.
[0046] Secondly, the present invention provides a robust laser scanner bulk material grabbing and positioning system for a ship unloader, comprising: a sea-side single-line laser scanning gimbal, installed at the far end of the ship unloader's boom, used for performing traveling scanning, fixed-point scanning, and grab monitoring; its single-line scanning direction is perpendicular to the ship unloader's track; traveling scanning and grab monitoring adopt a monitoring mode, while fixed-point scanning adopts a gimbal scanning mode; a land-side single-line laser scanning gimbal, installed on the ship unloader's body, used for performing fixed-point scanning and grab monitoring; its single-line scanning direction is parallel to the ship unloader's track; fixed-point scanning adopts a gimbal scanning mode, while grab monitoring adopts a monitoring mode; a multi-line radar, installed below the ship unloader's cab, used for grab monitoring; during the material grabbing process, it monitors the relative position information between the grab and the hatch, providing real-time guidance for grab collision avoidance; and a main controller, used to implement the robust laser scanner bulk material grabbing and positioning method for a ship unloader as described in any of the aforementioned method embodiments.
[0047] Thirdly, this invention provides a robust laser scanner for unloading bulk material handling and positioning on a ship, comprising: a first main module, which listens to the message bus after system startup and activates the walking scanning module, the fixed-point scanning module, and the grab monitoring module via the message bus; a second main module, which, after the bulk carrier docks, moves along the track once to obtain the positions of all bulk cargo holds on the carrier, and activates the walking scanning module via the message bus to switch the single-line laser scanner on the sea side of the equipment to monitoring mode to collect scanning data in real time; and a third main module, which collects and acquires real data, obtains the position of the ship unloader in real time via the message bus, and performs the next acquisition when the current position of the ship unloader is greater than the previous acquisition position. Furthermore, the current scanner data is combined with the unloader's position to obtain the world coordinates; the fourth main module performs data voxelization and thresholding, obtains point cloud coordinates, calculates the coordinate range, performs rasterization preprocessing on the horizontal axis coordinate direction according to the rasterization size, and then performs edge detection. When the vertical coordinate is less than a predetermined threshold, hatch edge detection is performed. The hatch detection data is segmented to obtain a list, which contains several sublists. Each sublist represents a hatch and its surrounding point coordinates. Then, any hatch is corrected. When the vertical coordinate is greater than a predetermined threshold, the corresponding hatch correction value is set to 1. Then, the same correction is performed on the vertical axis coordinate direction as on the horizontal axis coordinate direction. The first main module obtains the corrected horizontal and vertical coordinates of the plane, and then obtains the deck height based on the hatch coordinates; the second main module standardizes the material surface inside the hold, providing the grab bucket with the height information of the grab point; the third main module, when the ship unloader starts working on any hold, uses the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal in scanning mode to obtain the hatch position and material surface information inside the hold when the grab bucket leaves the range of the hatch opening; the fourth main module repeats the fourth main module, updating the hatch position and material surface height inside the hold during the interval of grab bucket unloading for the current ship unloader working area; the eighth main module standardizes the material surface inside the hold using the method of the fifth main module; the ninth main module calculates the monitoring angle. The tenth main module starts the grab monitoring, acquires parameters, and automatically runs the grab monitoring module after the fixed-point scanning module finishes running. The coordinates of the ship's hatch and the monitoring angles of the two single-line laser scanners acquired by the seventh and ninth main modules are used as parameters for the grab monitoring module. The eleventh main module monitors entities within the visual range, using multi-line radar to scan the space below the cockpit. After acquiring the data, the grab is obtained through a clustering algorithm, and the maximum and minimum three-dimensional coordinates of the grab are calculated. Based on this, the center position, vertex coordinates, and grab opening degree of the grab are obtained.The twelfth main module calculates hatch offset in real time. Based on the hatch coordinates obtained from the seventh and ninth main modules and the monitoring angles of the two single-line laser scanners, it sets the two single-line laser scanners to monitoring mode and combines the data from the two scanners to obtain the current hatch position. When the drift exceeds the position obtained from the seventh main module, the current hatch position is updated. The thirteenth main module calculates collisions between entities and hatches.
[0048] The robust laser scanner unloader bulk material grabbing and positioning method and equipment provided by this invention can pre-plan bulk material grabbing, locate the grabbing process and provide real-time anti-collision alarms. By vertically installing the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal in the single-line scanning direction, it can achieve real-time monitoring of the drift position of the ship hatch, provide immediate feedback on the safety status of the grab bucket, and ensure the robustness of the entire system.
[0049] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the present invention more apparent and understandable, the following detailed description is provided in conjunction with preferred embodiments and accompanying drawings. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0051] Figure 1 A schematic diagram of the robust laser scanner bulk material grabbing and positioning method for ship unloaders provided by the present invention;
[0052] Figure 2 A schematic diagram of the robust laser scanner unloader bulk material gripping and positioning device provided by the present invention;
[0053] Figure 3 A schematic diagram of the physical structure of the electronic device provided by the present invention;
[0054] Figure 4 A schematic diagram of the robust laser scanner bulk material grabbing and positioning system for ship unloaders provided by the present invention. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention. Furthermore, the technical features of the various embodiments or individual embodiments provided by this invention can be arbitrarily combined to form feasible technical solutions. Such combinations are not bound by the order of steps and / or structural composition patterns, but must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed by this invention.
[0056] This invention provides a robust method for grabbing and positioning bulk materials in a laser scanner unloader, see [link to relevant documentation]. Figure 1The method includes: Step 31, after the system starts, it listens to the message bus, and the message bus activates the walking scanning module, the fixed-point scanning module, and the grab bucket monitoring module; Step 32, after the bulk carrier docks, the unloader travels along the track once to obtain the positions of all the bulk carrier's cargo holds, and starts the walking scanning module through the message bus, adjusting the equipment's seaside single-line laser scanner to monitoring mode to collect scanning data in real time; Step 33, it collects and obtains real data, obtains the unloader's position in real time through the message bus, and when the unloader's current position is greater than the previous collection position, it performs the next collection, and combines the current scanner data with the unloader's position to obtain the overall data. Boundary coordinates; Step 34, data voxelization, thresholding, obtaining point cloud coordinates, calculating coordinate range, performing rasterization preprocessing on the horizontal axis coordinate direction according to the rasterization size, then performing edge detection. When the vertical coordinate is less than a predetermined threshold, perform hatch edge detection, segment the hatch detection data, and obtain a list containing several sub-lists, each sub-list representing a hatch and its surrounding point coordinates. Then, correct any hatch. When the vertical coordinate is greater than a predetermined threshold, set the corresponding hatch correction value to 1. Then, perform the same correction on the vertical axis coordinate direction as on the horizontal axis coordinate direction to obtain the corrected horizontal axis coordinate. Step 35: Standardize the material surface inside the hold, providing the grab bucket with the height information of the grab point; Step 36: When the unloader starts working on any hold, when the grabbing of bulk material leaves the range of the hold opening, the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal use scanning mode to obtain the position of the hold opening and the material surface information inside the hold; Step 37: Repeat step 34, for the current unloader working area, update the position of the hold opening and the height of the material surface inside the hold during the gap of the grab bucket unloading; Step 38: Standardize the material surface inside the hold using the method in step 35; Step 39: Calculate the monitoring angle, i.e., the sea-side single-line laser scanning angle. The gimbal and land-side single-line laser scanning gimbal monitor the angles of the centerlines in the horizontal and vertical coordinate directions of the ship's cabin plane; Step 310: Start the grab monitoring, acquire parameters, and automatically run the grab monitoring module after the fixed-point scanning module finishes running. The coordinates of the ship's hatch and the monitoring angles of the two single-line laser scanners acquired in steps 37 and 39 are used as parameters for the grab monitoring module; Step 311: Monitor entities within the visual range. The multi-line radar scan range is the space below the cockpit. After acquiring the data, the grab is obtained through a clustering algorithm. The maximum and minimum three-dimensional coordinates of the grab are calculated, and the center position, vertex coordinates, and grab opening degree of the grab are obtained accordingly.Step 312: Calculate the hatch offset in real time. Based on the hatch coordinates obtained in steps 37 and 39 and the monitoring angles of the two single-line laser scanners, set the two single-line laser scanners to monitoring mode. Combine the data from the two scanners to obtain the current hatch position. When the drift exceeds the position obtained in step 37, update the current hatch position. Step 313: Calculate the collision between the entity and the hatch.
[0057] The robust laser scanner-based bulk material grabbing and positioning method for ship unloaders provided by this invention consists of three parts: one part is the overall scanning of the bulk carrier, positioning of the entire ship hold and the material surface; another part is the detailed positioning of individual ship holds and detailed material surface information during ship unloader operation; and the third part is the grab bucket anti-collision monitoring during ship unloader operation. The sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal are respectively installed on the ship unloader's boom and fuselage, with scanning directions perpendicular to each other. They can simultaneously acquire the position and material surface information of all ship holds, as well as the changes in the position and material surface of the ship holds after the grab bucket operation, update the drift status of the ship hold opening in real time, monitor the relative position of the grab bucket and the ship hold opening, and improve the robustness of the anti-collision information.
[0058] Based on the above method embodiments, as an optional embodiment, step 33 specifically includes: if X 船 -X mark >200 mm, then X 大世界坐标 =X 扫描仪 +X 船 ; where X 船 This indicates the current position of the ship unloader; X mark This refers to the location of the unloader previously collected; X 扫描仪 The scanner's current location; X 大世界坐标 Used as a coordinate system for the wider world.
[0059] Step 34 specifically includes: First, obtaining the point cloud coordinates:
[0060]
[0061] Where points are the point cloud coordinates; x k ,y k ,z k Here are the coordinates of the k-th point; n is the total number of points in the point cloud; then the coordinate range is calculated:
[0062] (x min ,y min ,z min ) = min(points) (2)
[0063] (x max ,y max ,z max = max(points) (3)
[0064] Where min represents the minimum value; max represents the maximum value; (x min ,y min ,z min (x) represents the coordinates of the point with the smallest coordinate value in the point cloud; max ,y max ,z max () represents the coordinates of the point with the largest coordinate value in the point cloud coordinates;
[0065] Based on rasterization size voxel size Perform rasterization preprocessing in the x-direction:
[0066]
[0067]
[0068] Where, num x The result is the rasterization preprocessing result in the x-direction; The floor symbol; For the num x One;
[0069] Then edge detection is performed:
[0070]
[0071] Where, index x This is the edge detection result;
[0072] When z is satisfied i When the value is less than the predetermined threshold:
[0073]
[0074] in, voxels in the x-direction size Perform hatch edge inspection:
[0075] B i =voxels x [i+1]-voxels x [i] (8)
[0076]
[0077] rise x ={i*voxel size +x min |edges[i]=1} (10)
[0078] fall x={i*voxel size +x min |edges[i]=-1} (11)
[0079] Where i is the array index; B i The values -1, 0, and 1 represent voxels. x The interpolation of the (i+1)th and the ith; edges is the set of height jumps in a single direction; For the num x -1 height detection location; rise x The position of the rising edge of the height jump; fall x The position where the height jump becomes the falling edge; obtain:
[0080] x cavei =[fall xi rise xi (12)
[0081] y cavei =[fall yi rise yi (13)
[0082] Where, x cavei Let be the position of the i-th hatch in the x-direction; fall xi Rise represents the position of the descending edge of the i-th hatch in the x-direction, i.e., the position where the height of the deck changes from that of the hatch. xi Let y be the position of the rising edge of the i-th hatch in the x-direction, i.e., the position where the height of the hatch changes from that of the deck; cavei Let be the position of the i-th hatch in the y-direction; fall yi Let 'rise' be the position of the descending edge in the y-direction of the i-th hatch, i.e., the position where the height of the deck changes from the hatch opening to the deck opening. yi This is the position of the rising edge of the i-th hatch in the y-direction, i.e., the position where the height of the hatch and the deck changes.
[0083] Based on the initial hatch segmentation, a list is obtained, which contains several sublists. Each sublist represents a hatch and the coordinates of its surrounding points. Then, hatch correction is performed on any hatch.
[0084] voxels x =[0,...,0 i ], i∈len(y cave1 (14)
[0085] Repeat equation (6), when z is satisfied i When the value exceeds a predetermined threshold, the corresponding voxels will be... xThe value is set to 1, and then the same correction steps are performed in the y direction to obtain the corrected xcavei and ycavei. Based on the hatch coordinates, the deck height zhatch is obtained.
[0086] Based on the above method embodiments, as an optional embodiment, the robust laser scanner unloader bulk material grasping and positioning method provided in this invention includes step 35 specifically including: obtaining xcavei and ycavei through step 34:
[0087]
[0088] Where stock_range is the set of stockpile coordinates; x j ,y j ,z j The coordinates of the points that meet the conditions; It is the minimum value of the edge in the x-direction of the i-th cabin; It represents the maximum value of the edge in the x-direction of the i-th cabin; It is the minimum value of the edge in the y-direction of the i-th cabin; It represents the maximum value of the edge in the y-direction of the i-th cabin.
[0089] Based on the above method embodiments, as an optional embodiment, the robust laser scanner unloader bulk material grasping and positioning method provided in this invention includes step 39 specifically as follows:
[0090]
[0091]
[0092]
[0093]
[0094] Where, x middle Let x be the center position of the hatch, and y be the x-value. middle Let x be the y-value of the center position of the hatch. angle For the monitoring angle of the single-line laser scanning cloud on the sea side, y angle For the monitoring angle of the landside single-line laser scanning PTZ unit, x refer x represents the current position of the ship unloader. diff , These represent the x- and z-direction deviations of the sea-side single-line laser scanning gimbal relative to the ship unloader coordinates, respectively. diff , These represent the deviations of the land-side single-line laser scanning gimbal relative to the coordinates of the unloader in the y and z directions, respectively.
[0095] Based on the above method embodiments, as an optional embodiment, the robust laser scanner unloader bulk material grasping and positioning method provided in this invention includes step 313 as follows:
[0096]
[0097] Where S represents the current relative position of the grab bucket and the hatch, 1 indicates a risk of collision, and 0 indicates that all parts of the grab bucket are within the space of the hatch.
[0098] The robust laser scanner unloader bulk material grabbing and positioning method provided by this invention can pre-plan bulk material grabbing, locate the grabbing process, and provide real-time anti-collision alarms. By vertically installing a single-line laser scanning gimbal on the sea side and a single-line laser scanning gimbal on the land side in the single-line scanning direction, it can achieve real-time monitoring of the drift position of the ship hatch, provide immediate feedback on the safety status of the grab bucket, and ensure the robustness of the entire system.
[0099] This invention provides a robust laser scanner bulk material gripping and positioning system for ship unloaders, see [link to relevant documentation]. Figure 4 The system includes: a sea-side single-line laser scanning gimbal 21, installed at the far end of the unloader's boom, used for walking scanning, fixed-point scanning, and grab monitoring. Its single-line scanning direction is perpendicular to the unloader's track. Walking scanning and grab monitoring adopt a monitoring mode, while fixed-point scanning adopts a gimbal scanning mode; a land-side single-line laser scanning gimbal 22, installed on the unloader's body, used for fixed-point scanning and grab monitoring. Its single-line scanning direction is parallel to the unloader's track. Fixed-point scanning adopts a gimbal scanning mode, while grab monitoring adopts a monitoring mode; a multi-line radar 23, installed below the unloader's cab, used for grab monitoring. During the material handling process, it monitors the relative position information between the grab and the hatch, and provides real-time guidance for grab collision avoidance; and a main controller 24, used to implement the robust laser scanner unloader bulk material grabbing and positioning method as described in any of the aforementioned method embodiments.
[0100] This invention provides a robust laser scanner bulk material grabbing and positioning system for ship unloaders, which comprehensively realizes pre-grabbing planning, grabbing process positioning and real-time anti-collision alarm. By using the vertical installation of the sea-side single-line laser scanning gimbal 21 and the land-side single-line laser scanning gimbal 22 with their single-line scanning directions, it can realize real-time monitoring of the position drift of the ship hatch and provide immediate feedback on the safety status of the grab bucket.
[0101] The implementation of the various embodiments of the present invention is based on programmed processing by a device with processor functionality. Therefore, in practical engineering, the technical solutions and functions of the various embodiments of the present invention can be encapsulated into various modules. Based on this reality, and building upon the above embodiments, the embodiments of the present invention provide a robust laser scanner unloader bulk material gripping and positioning device, which is used to execute the robust laser scanner unloader bulk material gripping and positioning method in the above method embodiments. See also... Figure 2The device includes: a first main module for implementing step 31, whereby the system listens to the message bus after startup and activates the walking scanning module, the fixed-point scanning module, and the grab monitoring module via the message bus; a second main module for implementing step 32, whereby the unloader travels along the track once after the bulk carrier docks, acquiring the positions of all bulk cargo holds on the carrier, and activates the walking scanning module via the message bus to switch the equipment's seaside single-line laser scanner to monitoring mode for real-time data acquisition; and a third main module for implementing step 33, whereby the unloader collects and acquires real-time data, and obtains the unloader's position in real-time via the message bus, and proceeds to the next step when the unloader's current position is greater than the previously acquired position by a predetermined distance. The first acquisition involves combining the current scanner data with the unloader's position to obtain the world coordinates. The fourth main module implements step 34: data voxelization, thresholding, obtaining point cloud coordinates, calculating the coordinate range, performing raster preprocessing on the horizontal axis coordinate direction according to the rasterization size, and then performing edge detection. When the vertical coordinate is less than a predetermined threshold, hatch edge detection is performed. The hatch detection data is segmented to obtain a list, which contains several sublists. Each sublist represents a hatch and its surrounding point coordinates. Then, any hatch is corrected. When the vertical coordinate is greater than a predetermined threshold, the corresponding hatch correction value is set to 1. The vertical axis coordinate is corrected in the same way as the horizontal axis coordinate, and the corrected horizontal and vertical axis coordinates are obtained. Then, the deck height is obtained based on the hatch coordinates. The fifth main module is used to implement step 35, which standardizes the material surface inside the hold and provides the grab bucket with the height information of the grab point. The sixth main module is used to implement step 36, which, when the ship unloader starts working on any hold, uses scanning mode on the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal to obtain the hatch position and material surface information inside the hold when grabbing bulk material away from the range of the hatch opening. The seventh main module is used to implement step 37, which repeats step 34, and for the current working area of the ship unloader, the grab bucket... During the unloading interval, update the hatch position and the material level inside the hold; the eighth main module is used to implement step 38, which standardizes the material level inside the hold using the method in step 35; the ninth main module is used to implement step 39, which calculates the monitoring angle, i.e., the angle between the center lines of the horizontal and vertical coordinates of the hold plane monitored by the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal; the tenth main module is used to implement step 310, which starts the grab monitoring, acquires parameters, and automatically runs the grab monitoring module after the fixed-point scanning module finishes running. The hatch coordinates and the monitoring angles of the two single-line laser scanners acquired in steps 37 and 39 are used as parameters for the grab monitoring module;The eleventh main module implements step 311, monitoring entities within the visual range. It uses multi-line radar to scan the space below the cockpit, acquires data, and uses a clustering algorithm to identify the grab bucket. It calculates the maximum and minimum three-dimensional coordinates of the grab bucket, thereby determining its center position, vertex coordinates, and grab bucket opening degree. The twelfth main module implements step 312, calculating hatch offset in real time. Based on the hatch coordinates obtained in steps 37 and 39 and the monitoring angles of the two single-line laser scanners, it sets the two single-line laser scanners to monitoring mode. Combining the data from the two scanners, it obtains the current hatch position. When the drift exceeds the position obtained in step 37, it updates the current hatch position. The thirteenth main module implements step 313, calculating collisions between entities and hatches.
[0102] The robust laser scanner unloader bulk material gripping and positioning device provided by this invention employs... Figure 2 Several modules within the system can pre-plan bulk material grabbing, provide grabbing process positioning and real-time anti-collision alarms, and achieve real-time monitoring of the ship hatch position drift by vertically installing single-line laser scanning gimbals on the sea side and land side, providing immediate feedback on the grab bucket's safety status and ensuring the robustness of the entire system.
[0103] It should be noted that the apparatus in the device embodiments provided by the present invention can be used not only to implement the methods in the above method embodiments, but also to implement the methods in other method embodiments provided by the present invention. The difference lies only in the setting of corresponding functional modules. Its principle is basically the same as that of the above device embodiments provided by the present invention. As long as those skilled in the art, based on the above device embodiments and referring to the specific technical solutions in other method embodiments, obtain corresponding technical means and technical solutions composed of these technical means by combining technical features, and improve the apparatus in the above device embodiments while ensuring the practicality of the technical solutions, they can obtain corresponding device-type embodiments for implementing the methods in other method-type embodiments. For example:
[0104] Based on the above-described device embodiments, as an optional embodiment, the robust laser scanner unloader bulk material gripping and positioning device provided in this invention further includes: a first sub-module, used to implement step 33, specifically including: if X 船 -X mark >200 mm, then X 大世界坐标 =X 扫描仪 +X 船 ; where X 船 This indicates the current position of the ship unloader; X mark This refers to the location of the unloader previously collected; X 扫描仪 The scanner's current location; X 大世界坐标Used as a coordinate system for the wider world.
[0105] Based on the above-described device embodiments, as an optional embodiment, the robust laser scanner unloader bulk material gripping and positioning device provided in this invention further includes: a second sub-module, used to implement step 34, specifically including: firstly acquiring point cloud coordinates:
[0106]
[0107] Where points are the point cloud coordinates; x k ,y k ,z k Here are the coordinates of the k-th point; n is the total number of points in the point cloud; then the coordinate range is calculated:
[0108] (x min ,y min ,z min = min(points)
[0109] (x max ,y max ,z max = max(points)
[0110] Where min represents the minimum value; max represents the maximum value; (x min ,y min ,z min (x) represents the coordinates of the point with the smallest coordinate value in the point cloud; max ,y max ,z max () represents the coordinates of the point with the largest coordinate value in the point cloud coordinates;
[0111] Based on rasterization size voxel size Perform rasterization preprocessing in the x-direction:
[0112]
[0113]
[0114] Where, num x The result is the rasterization preprocessing result in the x-direction; The floor symbol; For the num x One;
[0115] Then edge detection is performed:
[0116]
[0117] Where, index x This is the edge detection result;
[0118] When z is satisfied i When the value is less than the predetermined threshold:
[0119] voxels x [index x ] = 0
[0120] in, voxels in the x-direction size Perform hatch edge inspection:
[0121] B i =voxels x [i+1]-voxels x [i]
[0122]
[0123] rise x ={i*voxel size +x min |edges[i]=1}
[0124] fall x ={i*voxel size +x min |edges[i]=-1}
[0125] Where i is the array index; B i The values -1, 0, and 1 represent voxels. x The interpolation of the (i+1)th and the ith; edges is the set of height jumps in a single direction; For the num x -1 height detection location; rise x The position of the rising edge of the height jump; fall x The position where the height jump becomes the falling edge; obtain:
[0126] x cavei =[fall xi rise xi ]
[0127] y cavei =[fall yi rise yi ]
[0128] Where, x cavei Let be the position of the i-th hatch in the x-direction; fall xi Rise represents the position of the descending edge of the i-th hatch in the x-direction, i.e., the position where the height of the deck changes from that of the hatch. xiLet y be the position of the rising edge of the i-th hatch in the x-direction, i.e., the position where the height of the hatch changes from that of the deck; cavei Let be the position of the i-th hatch in the y-direction; fall yi Let 'rise' be the position of the descending edge in the y-direction of the i-th hatch, i.e., the position where the height of the deck changes from the hatch opening to the deck opening. yi This is the position of the rising edge of the i-th hatch in the y-direction, i.e., the position where the height of the hatch and the deck changes.
[0129] Based on the initial hatch segmentation, a list is obtained, which contains several sublists. Each sublist represents a hatch and the coordinates of its surrounding points. Then, hatch correction is performed on any hatch.
[0130] voxels x =[0,...,0 i ], i∈len(y cave1 )
[0131] Repeat equation (6), when z is satisfied i When the value exceeds a predetermined threshold, the corresponding voxels will be... x The value is set to 1, and then the same correction steps are performed in the y direction to obtain the corrected x. cavei and y cavei Based on the hatch coordinates, obtain the deck height z. hatch .
[0132] Based on the above-described device embodiments, as an optional embodiment, the robust laser scanner unloader bulk material gripping and positioning device provided in this invention further includes: a third sub-module, used to implement step 35, specifically including: obtaining x through step 34. cavei and y cavei :
[0133]
[0134] Where stock_range is the set of stockpile coordinates; x j ,y j ,z j The coordinates of the points that meet the conditions; It is the minimum value of the edge in the x-direction of the i-th cabin; It represents the maximum value of the edge in the x-direction of the i-th cabin; It is the minimum value of the edge in the y-direction of the i-th cabin; It represents the maximum value of the edge in the y-direction of the i-th cabin.
[0135] Based on the above-described device embodiments, as an optional embodiment, the robust laser scanner unloader bulk material gripping and positioning device provided in this invention further includes: a fourth sub-module, used to implement step 39, specifically including:
[0136]
[0137]
[0138]
[0139]
[0140] Where, x middle Let x be the center position of the hatch, and y be the x-value. middle Let x be the y-value of the center position of the hatch. angle For the monitoring angle of the single-line laser scanning cloud on the sea side, y angle For the monitoring angle of the landside single-line laser scanning PTZ unit, x refer x represents the current position of the ship unloader. diff , These represent the x- and z-direction deviations of the sea-side single-line laser scanning gimbal relative to the ship unloader coordinates, respectively. diff , These represent the deviations of the land-side single-line laser scanning gimbal relative to the coordinates of the unloader in the y and z directions, respectively.
[0141] Based on the above-described device embodiments, as an optional embodiment, the robust laser scanner unloader bulk material gripping and positioning device provided in this invention further includes: a fifth sub-module, used to implement step 313, including:
[0142]
[0143] Where S represents the current relative position of the grab bucket and the hatch, 1 indicates a risk of collision, and 0 indicates that all parts of the grab bucket are within the space of the hatch.
[0144] The method of this invention is implemented using electronic devices; therefore, it is necessary to introduce the relevant electronic devices. For this purpose, embodiments of this invention provide an electronic device, such as... Figure 3As shown, the electronic device includes at least one processor, a communications interface, at least one memory, and a communications bus, wherein the at least one processor, the communications interface, and the at least one memory communicate with each other via the communications bus. The at least one processor can invoke logical instructions stored in the at least one memory to execute all or part of the steps of the methods provided in the foregoing method embodiments.
[0145] Furthermore, when the logical instructions in at least one of the aforementioned memories can be implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various method embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0146] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0147] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0148] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Based on this understanding, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, or sometimes in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0149] It should be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. Any expressions such as "predetermined threshold," "preset threshold," etc., without specifying a particular value, can be determined by those skilled in the art through simple experimentation or appropriate adjustments.
[0150] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A robust method for grasping and positioning bulk materials in a laser scanner unloader, characterized in that, include: Step 31: After the system starts up, it listens to the message bus and activates the walking scanning module, the fixed-point scanning module and the grab monitoring module by the message bus. Step 32: After the bulk carrier docks, the unloader travels along the track once to obtain the location of all the bulk carrier's cargo holds. It then starts the walking scanning module via the message bus and switches the equipment's seaside single-line laser scanner to monitoring mode to collect scanning data in real time. Step 33: Collect and acquire real data. Obtain the unloader's position in real time through the message bus. When the current position of the unloader is greater than the previous acquisition position, perform the next acquisition. Combine the current scanner data with the unloader's position to obtain the world coordinates. Step 34: Data voxelization, thresholding, obtaining point cloud coordinates, calculating coordinate range, performing rasterization preprocessing on the horizontal axis coordinate direction according to the rasterization size, and then performing edge detection. When the vertical coordinate is less than a predetermined threshold, perform hatch edge detection, segment the hatch detection data, and obtain a list containing several sublists. Each sublist represents a hatch and its surrounding point coordinates. Then, correct any hatch. When the vertical coordinate is greater than a predetermined threshold, set the corresponding hatch correction value to 1. Then, perform the same correction on the vertical axis coordinate direction as on the horizontal axis coordinate direction, obtain the corrected horizontal axis coordinates and vertical axis coordinates, and then obtain the deck height based on the hatch coordinates. Step 35: Standardize the material level inside the hold to provide the grab bucket with height information of the grab point; Step 36: When the unloader starts working on any hold, when grabbing bulk material away from the hold opening, the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal use scanning mode to obtain the hold opening position and material surface information inside the hold. Step 37: Repeat step 34 to update the hatch position and material level inside the hatch during the gap of the grab bucket unloading in the current working area of the ship unloader. Step 38: Standardize the material level inside the tank using the method described in Step 35; Step 39: Calculate the monitoring angle, that is, the angle between the center lines of the monitoring cabin plane horizontal axis coordinate direction and the plane vertical axis coordinate direction of the seaside single-line laser scanning PTZ and the landside single-line laser scanning PTZ. Step 310: Start the grab monitoring and acquire parameters. After the fixed-point scanning module finishes running, the grab monitoring module will run automatically. The hatch coordinates and the monitoring angles of the two single-line laser scanners acquired in steps 37 and 39 will be used as parameters for the grab monitoring module. Step 311: Monitor entities within the visual range. Use multi-line radar to scan the space below the cockpit. After acquiring the data, use a clustering algorithm to obtain the grab bucket. Calculate the maximum and minimum three-dimensional coordinates of the grab bucket, and then obtain the center position, vertex coordinates, and grab bucket opening degree of the grab bucket. Step 312: Calculate the hatch offset in real time. Based on the hatch coordinates obtained in Steps 37 and 39 and the monitoring angles of the two single-line laser scanners, set the two single-line laser scanners to monitoring mode. Combine the data from the two scanners to obtain the current position of the hatch. When the drift exceeds the position obtained in Step 37, update the current position of the hatch. Step 313: Calculate the collision between the entity and the hatch.
2. The robust laser scanner-based bulk material grasping and positioning method for ship unloaders as described in claim 1, characterized in that, Step 33 specifically includes: If X 船 -X mark >200 mm, then X 大世界坐标 =X 扫描仪 +X 船 ; where X 船 This indicates the current position of the ship unloader; X mark This refers to the location of the unloader previously collected; X 扫描仪 The scanner's current location; X 大世界坐标 Used as a coordinate system for the wider world.
3. The robust laser scanner unloader bulk material grasping and positioning method as described in claim 2, characterized in that, Step 34 specifically includes: First, obtaining the point cloud coordinates: Where points are the point cloud coordinates; x k ,y k ,z k Here are the coordinates of the k-th point; n is the total number of points in the point cloud; then the coordinate range is calculated: (x min ,y min ,z min )=min(points) (x max ,y max ,z max )=max(points) Where min represents the minimum value; max represents the maximum value; (x min ,y min ,z min (x) represents the coordinates of the point with the smallest coordinate value in the point cloud; max ,y max ,z max () represents the coordinates of the point with the largest coordinate value in the point cloud coordinates; Based on rasterization size voxel size Perform rasterization preprocessing in the x-direction: Where, num x The result is the rasterization preprocessing result in the x-direction; The floor symbol; For the num x One; Then edge detection is performed: Where, index x This is the edge detection result; When z is satisfied i When the value is less than the predetermined threshold: in, voxels in the x-direction size Perform hatch edge inspection: B i =voxels x [i+1]-voxels x [i] rise x ={i*voxel size +x min |edges[i]=1} fall x ={i*voxel size +x min |edges[i]=-1} Where i is the array index; B i The values -1, 0, and 1 represent voxels. x The interpolation of the (i+1)th and the ith; edges is the set of height jumps in a single direction; For the num x -1 height detection location; rise x The position of the rising edge of the height jump; fall x The position where the height jump becomes the falling edge; obtain: x cavei =[fall xi ,rise xi ] y cavei =[fall yi ,rise yi ] Where, x cavei Let be the position of the i-th hatch in the x-direction; fall xi Rise represents the position of the descending edge of the i-th hatch in the x-direction, i.e., the position where the height of the deck changes from that of the hatch. xi Let y be the position of the rising edge of the i-th hatch in the x-direction, i.e., the position where the height of the hatch changes from that of the deck; cavei Let be the position of the i-th hatch in the y-direction; fall yi Let 'rise' be the position of the descending edge in the y-direction of the i-th hatch, i.e., the position where the height of the deck changes from the hatch opening to the deck opening. yi This is the position of the rising edge of the i-th hatch in the y-direction, i.e., the position where the height of the hatch and the deck changes. Based on the initial hatch segmentation, a list is obtained, which contains several sublists. Each sublist represents a hatch and the coordinates of its surrounding points. Then, hatch correction is performed on any hatch. voxels x =[0,...,0 i ],i∈len(y cave1 ) repeat When z is satisfied i When the value exceeds a predetermined threshold, the corresponding voxels will be... x The value is set to 1, and then the same correction steps are performed in the y direction to obtain the corrected xcavei and ycavei. Based on the hatch coordinates, the deck height zhatch is obtained.
4. The robust laser scanner unloader bulk material grasping and positioning method as described in claim 3, characterized in that, Step 35 specifically includes: xcavei and ycavei obtained through step 34: Where stock_range is the set of stockpile coordinates; x j ,y j ,z j The coordinates of the points that meet the conditions; It is the minimum value of the edge in the x-direction of the i-th cabin; It represents the maximum value of the edge in the x-direction of the i-th cabin; It is the minimum value of the edge in the y-direction of the i-th cabin; It represents the maximum value of the edge in the y-direction of the i-th cabin.
5. The robust laser scanner unloader bulk material grasping and positioning method as described in claim 4, characterized in that, Step 39 specifically includes: Where, x middle Let x be the center position of the hatch, and y be the x-value. middle Let x be the y-value of the center position of the hatch. angle For the monitoring angle of the single-line laser scanning cloud on the sea side, y angle For the monitoring angle of the landside single-line laser scanning PTZ unit, x refer x represents the current position of the ship unloader. diff , These represent the x- and z-direction deviations of the sea-side single-line laser scanning gimbal relative to the ship unloader coordinates, respectively. diff , These represent the deviations of the land-side single-line laser scanning gimbal relative to the coordinates of the unloader in the y and z directions, respectively.
6. The robust laser scanner-based bulk material grasping and positioning method for ship unloaders as described in claim 5, characterized in that, Step 313 includes: Where S represents the current relative position of the grab bucket and the hatch, 1 indicates a risk of collision, and 0 indicates that all parts of the grab bucket are within the space of the hatch.
7. A robust laser scanner bulk material gripping and positioning system for a ship unloader, characterized in that, include: The seaside single-line laser scanning gimbal (21) is installed at the far end of the unloader boom and is used to perform walking scanning, fixed-point scanning and grab monitoring. Its single-line scanning direction is perpendicular to the unloader track. Walking scanning and grab monitoring adopt the monitoring mode, and fixed-point scanning adopts the gimbal scanning mode. The landside single-line laser scanning gimbal (22) is installed on the body of the unloader and is used for fixed-point scanning and grab monitoring. Its single-line scanning direction is parallel to the unloader track. Fixed-point scanning adopts gimbal scanning mode, and grab monitoring adopts monitoring mode. Multi-line radar (23) is installed below the unloader's cab for monitoring the grab bucket. During the material handling process, it monitors the relative position of the grab bucket and the hatch and provides real-time guidance for the grab bucket to avoid collisions. The main controller (24) is used to implement the robust laser scanner unloader bulk material grabbing and positioning method as described in any one of claims 1 to 6.
8. A robust laser scanner bulk material gripping and positioning device for a ship unloader, characterized in that, include: The first main module listens to the message bus after the system starts up, and the message bus activates the walking scanning module, the fixed-point scanning module, and the grab monitoring module. The second main module, after the bulk carrier docks, the unloader travels along the track once to obtain the location of all the bulk carrier's cargo holds. It then starts the walking scanning module via the message bus, switches the equipment's seaside single-line laser scanner to monitoring mode, and collects scanning data in real time. The third main module collects and acquires real data. It obtains the position of the unloader in real time through the message bus. When the current position of the unloader is greater than the previous collection position, it performs the next collection and combines the current scanner data with the unloader position to obtain the world coordinates. The fourth main module involves data voxelization and thresholding, obtaining point cloud coordinates, calculating the coordinate range, performing rasterization preprocessing on the horizontal axis coordinate direction according to the rasterization size, and then performing edge detection. When the vertical coordinate is less than a predetermined threshold, hatch edge detection is performed. The hatch detection data is segmented to obtain a list, which contains several sublists. Each sublist represents a hatch and the coordinates of its surrounding points. Then, any hatch is corrected. When the vertical coordinate is greater than a predetermined threshold, the corresponding hatch correction value is set to 1. Then, the same correction is performed on the vertical axis coordinate direction as on the horizontal axis coordinate direction. The corrected horizontal and vertical axis coordinates are obtained. Finally, the deck height is obtained based on the hatch coordinates. The fifth main module standardizes the material level inside the compartment, providing the grab bucket with height information of the grab point; The sixth main module, when the ship unloader starts working on any ship hold, when grabbing bulk materials away from the ship hold opening, the sea-side single-line laser scanning gimbal and the land-side single-line laser scanning gimbal use scanning mode to obtain the ship hold opening position and material surface information inside the hold. The seventh main module repeats the fourth main module, updating the hatch position and material level inside the hatch during the gap of the grab bucket unloading in the current working area of the ship unloader. The eighth main module standardizes the material level inside the compartment using the same method as the fifth main module. The ninth main module calculates the monitoring angle, namely the angle between the centerlines of the horizontal and vertical axes of the monitored cabin plane by the sea-side single-line laser scanning PTZ and the land-side single-line laser scanning PTZ. The tenth main module starts the grab monitoring and acquires parameters. After the fixed-point scanning module finishes running, the grab monitoring module runs automatically. The hatch coordinates acquired by the seventh and ninth main modules and the monitoring angles of the two single-line laser scanners are used as parameters for the grab monitoring module. The eleventh main module monitors entities within the visual range. It uses multi-line radar to scan the space below the cockpit. After acquiring the data, it uses a clustering algorithm to obtain the grab bucket and calculates the maximum and minimum three-dimensional coordinates of the grab bucket. Based on this, it obtains the center position, vertex coordinates, and grab bucket opening degree of the grab bucket. The twelfth main module calculates the hatch offset in real time. Based on the hatch coordinates obtained from the seventh and ninth main modules and the monitoring angles of the two single-line laser scanners, it sets the two single-line laser scanners to monitoring mode and combines the data from the two scanners to obtain the current position of the hatch. When the drift exceeds the position obtained from the seventh main module, it updates the current position of the hatch. The thirteenth main module calculates the collision between the entity and the hatch.