A vehicle stacking method, apparatus and device
By acquiring the target point cloud of the vehicle and establishing a grid map, the poses of the robot and the storage location are determined, solving the problem of inaccurate alignment during vehicle stacking and achieving safe and efficient vehicle stacking.
Patent Information
- Application Number
- CN202411018182.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2044-07-26
AI Technical Summary
In existing technologies, when robots stack carriers into storage locations, there is a risk of inaccurate carrier alignment leading to tipping over, resulting in poor safety.
By acquiring the target point cloud of the symmetrical support components of the robot and the storage vehicle, a grid map is established to determine the pose of the vehicle in the robot coordinate system, and the robot is controlled to stack the vehicle onto the storage space based on the pose.
This achieves accurate alignment of the vehicles, avoids the risk of tipping over, and improves the safety and accuracy of the stacking process.
Smart Images

Figure CN118906054B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot control, and particularly to a carrier stacking method, device and equipment. BACKGROUND
[0002] In recent years, various types of robots (such as autonomous mobile robots, etc.) have developed rapidly in technology and market. A robot is a machine device that automatically performs work, and is a machine that realizes various functions by relying on its own power and control ability. The robot can accept human command, can run a pre-programmed program, and can also act according to a strategy formulated by artificial intelligence. For example, a user uses a manual remote controller to control the robot to perform related operations, such as the manual remote controller issuing an operation command to the robot in a wireless manner, and the robot executing the operation specified by the operation command to complete the related function after receiving the operation command.
[0003] With the rapid development of robot technology, robots are increasingly used in logistics, warehousing, factory production, etc. For example, a robot can be used to transport a carrier, and carrier stacking can be realized, that is, the robot stacks the carrier on the robot on the carrier in the storage location.
[0004] However, there is no effective stacking scheme for stacking the carrier on the robot on the carrier in the storage location. For example, when the robot is lowering the carrier, if the carrier on the robot is not completely aligned with the carrier in the storage location, the carrier cannot be lowered, and there is a risk of falling when the carrier is lowered, which is poor in safety. SUMMARY
[0005] The present application provides a carrier stacking method, a first carrier exists on a robot, and a second carrier exists in a storage location, and the method comprises:
[0006] obtaining a first target point cloud of a symmetrical support component of the first carrier and a second target point cloud of a symmetrical support component of the second carrier, the symmetrical support component being a contact component when the two carriers are stacked;
[0007] establishing a grid map in a robot coordinate system, the grid map comprising a plurality of grids;
[0008] selecting a first target grid corresponding to the symmetrical support component of the first carrier in the grid map from the plurality of grids based on the position of the first target point cloud in the grid map; and selecting a second target grid corresponding to the symmetrical support component of the second carrier in the grid map from the plurality of grids based on the position of the second target point cloud in the grid map;
[0009] determine a first pose of the first carrier in a robot coordinate system based on the first target grid, and determine a second pose of the second carrier in the robot coordinate system based on the second target grid;
[0010] determine a target pose of the robot based on the first pose and the second pose;
[0011] control the robot to stack the first carrier onto the second carrier based on the target pose.
[0012] The application provides a carrier stacking device, a first carrier is present on a robot, and a second carrier is present on a storage location, and the device comprises:
[0013] an acquisition module, configured to acquire a first target point cloud of a symmetrical supporting component of the first carrier and a second target point cloud of a symmetrical supporting component of the second carrier, the symmetrical supporting component being a contact component when the two carriers are stacked;
[0014] a selection module, configured to establish a grid map in a robot coordinate system, the grid map comprising a plurality of grids; select a first target grid corresponding to the symmetrical supporting component of the first carrier in the grid map from the plurality of grids based on a position of the first target point cloud in the grid map; and select a second target grid corresponding to the symmetrical supporting component of the second carrier in the grid map from the plurality of grids based on a position of the second target point cloud in the grid map;
[0015] a determination module, configured to determine a first pose of the first carrier in a robot coordinate system based on the first target grid, and determine a second pose of the second carrier in the robot coordinate system based on the second target grid; and determine a target pose of the robot based on the first pose and the second pose;
[0016] a control module, configured to control the robot to stack the first carrier onto the second carrier based on the target pose.
[0017] The application provides an electronic device, comprising a processor and a machine readable storage medium, the machine readable storage medium storing machine executable instructions capable of being executed by the processor; the processor is configured to execute the machine executable instructions to implement the carrier stacking method of the above examples of the application.
[0018] The application provides a carrier stacking system, the system comprising a scheduling device and a robot, the robot being provided with a radar, a first carrier being present on the robot, and a second carrier being present on a storage location; wherein the radar is arranged on a pinion of the robot and moves up and down with the pinion; or the radar is arranged on a moving component of the robot and moves up and down with the moving component.
[0019] The scheduling device is configured to obtain a configured stack preparation position and a configured target height, and send the stack preparation position and the target height to the robot.
[0020] The robot is configured to move to the stack preparation position, and lift the height of the radar to the target height; collect a raw point cloud by the radar, obtain a first target point cloud of a symmetrical support component of the first vehicle and a second target point cloud of a symmetrical support component of the second vehicle based on the raw point cloud, the symmetrical support component being a contact component when the two vehicles are stacked;
[0021] A grid map is established in a robot coordinate system, and the grid map includes a plurality of grids; a first target grid corresponding to the symmetrical support component of the first vehicle in the grid map is selected from the plurality of grids based on the position of the first target point cloud in the grid map; a second target grid corresponding to the symmetrical support component of the second vehicle in the grid map is selected from the plurality of grids based on the position of the second target point cloud in the grid map; a target pose of the robot is determined based on the first target grid and the second target grid; the robot is controlled to stack the first vehicle onto the second vehicle based on the target pose.
[0022] As can be seen from the above technical solutions, in the embodiments of the present application, the first target point cloud of the symmetrical support component of the first vehicle (the vehicle on the robot) and the second target point cloud of the symmetrical support component of the second vehicle (the vehicle in the storage position) are used to determine the first pose of the first vehicle in the robot coordinate system and the second pose of the second vehicle in the robot coordinate system, the target pose of the robot is determined based on the first pose and the second pose, and the robot is controlled to stack the first vehicle onto the second vehicle based on the target pose. By determining the target pose of the robot in the world coordinate system, the first vehicle on the robot is completely aligned with the second vehicle in the storage position, and when the vehicle is lowered by the robot, the first vehicle is aligned with the second vehicle, and there is no risk of tipping over, which is safe and can effectively complete the vehicle stacking and accurately stack the vehicle on the robot onto the vehicle in the storage position. BRIEF DESCRIPTION OF DRAWINGS
[0023] Figure 1 is a flowchart of a vehicle stacking method in an embodiment of the present application;
[0024] Figure 2 is a flowchart of a vehicle stacking method in an embodiment of the present application;
[0025] Figure 3 is a schematic diagram of the position relationship between the stack preparation position and the storage position in an embodiment of the present application;
[0026] Figure 4 is a schematic diagram of dividing a grid map into 4 regions in an embodiment of the present application;
[0027] Figure 5 is a structural schematic diagram of a carrier stacking device in an embodiment of the present application;
[0028] Figure 6 is a hardware structure diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0029] A carrier stacking method is provided in the embodiment of the present application, a first carrier exists on a robot (for the sake of distinction, the carrier on the robot is referred to as the first carrier), a second carrier exists on a storage location (for the sake of distinction, the carrier on the storage location is referred to as the second carrier), and the first carrier needs to be stacked on the second carrier.
[0030] Referring to Figure 1 , a flowchart of the carrier stacking method is shown, which can include the following steps.
[0031] Step 101, obtaining a first target point cloud of a symmetrical supporting component of the first carrier and a second target point cloud of a symmetrical supporting component of the second carrier, the symmetrical supporting component being a contact component when the two carriers are stacked.
[0032] Step 102, establishing a grid map in a robot coordinate system, the grid map including a plurality of grids. Based on the position of the first target point cloud in the grid map, a first target grid corresponding to the symmetrical supporting component of the first carrier in the grid map is selected from the plurality of grids; based on the position of the second target point cloud in the grid map, a second target grid corresponding to the symmetrical supporting component of the second carrier in the grid map is selected from the plurality of grids.
[0033] For example, taking a forklift as the robot, the robot coordinate system can be a forklift coordinate system, and the forklift coordinate system is taken as an example in the subsequent description. Of course, the embodiment is not limited to the forklift coordinate system.
[0034] Step 103, determining a first pose of the first carrier in the robot coordinate system based on the first target grid, and determining a second pose of the second carrier in the robot coordinate system based on the second target grid.
[0035] Step 104, determining a target pose of the robot based on the first pose and the second pose.
[0036] Step 105, controlling the robot to stack the first carrier on the second carrier based on the target pose.
[0037] For example, acquiring the first target point cloud of the symmetric support component of the first carrier and the second target point cloud of the symmetric support component of the second carrier can include, but is not limited to: after the robot is controlled to move to the configured stacking preparation position and the height of the radar is lifted to the configured target height, collecting the original point cloud by the radar, the original point cloud including the point cloud of the first carrier and the point cloud of the second carrier; wherein the radar is arranged on the robot. For example, the radar can be arranged on the tines of the robot (for example, the robot is a forklift, the forklift includes tines, and the forklift completes the stacking of the carriers by moving the tines up and down), and the radar can move up and down with the tines. Alternatively, the radar is arranged on the moving component of the robot and moves up and down with the moving component. For example, a sliding block and a sliding rail can be arranged on the robot, and the radar can be arranged on the sliding block, so that the radar can be controlled to move up and down when the sliding block moves up and down on the sliding rail.
[0038] Based on the pose of the radar in the robot coordinate system, a rotation and translation matrix of the radar coordinate system to the robot coordinate system is determined; the original point cloud is converted to the robot coordinate system by the rotation and translation matrix to obtain a reference point cloud in the robot coordinate system; a first reference point cloud in the ROI range of the first carrier is selected from the reference point cloud, and semantic information is obtained by performing semantic segmentation on each position point in the first reference point cloud; a second reference point cloud in the ROI range of the second carrier is selected from the reference point cloud, and semantic information is obtained by performing semantic segmentation on each position point in the second reference point cloud; wherein the semantic information indicates whether the position point is a symmetric support component or not; the position points belonging to the symmetric support component in the first reference point cloud are selected to form the first target point cloud, and the position points belonging to the symmetric support component in the second reference point cloud are selected to form the second target point cloud.
[0039] For example, before selecting the first reference point cloud in the ROI range of the first carrier from the reference point cloud, the ROI range of the first carrier can also be determined based on the rough pose of the first carrier in the robot coordinate system, the length direction size of the first carrier, the width direction size of the first carrier, the target height of the radar, the length error tolerance value, the width error tolerance value and the height error tolerance value. In addition, the rough pose of the second carrier in the robot coordinate system can also be determined according to the center point pose of the storage position and the pose of the robot in the world coordinate system; and the ROI range of the second carrier can be determined based on the rough pose, the length direction size of the second carrier, the width direction size of the second carrier, the target height of the radar, the length error tolerance value and the width error tolerance value.
[0040] For example, based on the position of the first target point cloud in the grid map, the first target grid corresponding to the symmetric support component of the first vehicle in the grid map can be selected from a plurality of grids, which can include but is not limited to: dividing the grid map into a plurality of regions (the number of regions matches the number of contact components when stacked), each region including a plurality of grids. Based on this, for each region, a first score value of each grid in the region is determined based on the distance between the grid and the position of the first target point cloud in the grid map, and a plurality of first candidate grids are selected from the region based on the first score value of each grid. The first target grid is determined from the plurality of first candidate grids in the region. In this way, for each region, the region corresponds to a first target grid.
[0041] For example, the first score value of each grid in the region can be determined based on the distance between the grid and the position of the first target point cloud in the grid map, which can include but is not limited to: for each position point of the first target point cloud, determining the grid coordinates of the position point in the grid map; for each grid in the region, determining the corresponding score value of the position point in the grid based on the distance between the grid and the grid coordinates; wherein the smaller the distance, the larger the score value. The first score value of each grid in the region is calculated, which can be the sum of the corresponding score values of each position point of the first target point cloud in the grid.
[0042] Further, for each region of the grid map, a plurality of first candidate grids can be selected from the region based on the first score value of each grid in the region, and the first target grid can be traversed from the plurality of first candidate grids in the region, so that the first target grids of the plurality of regions satisfy the constraint condition.
[0043] For example, the plurality of first candidate grids are selected in descending order of the first score values, and distances between different first candidate grids are greater than a threshold value. The plurality of regions can include a front-left region, a front-right region, a back-left region, and a back-right region. On this basis, when a first target grid is determined from the plurality of first candidate grids of the region, each region corresponds to a first target grid, and the first target grids corresponding to the plurality of regions satisfy a constraint condition. The first target grids corresponding to the plurality of regions satisfying the constraint condition can include, but are not limited to: a distance between the first target grid Pi of the front-left region and the first target grid Pj of the front-right region satisfying a vehicle size constraint; a distance between the first target grid Pj and the first target grid Pk of the back-right region satisfying the vehicle size constraint, and an absolute value of a difference between a first angle and 90 degrees being less than a threshold value; wherein the first angle is an angle between the first target grid Pi, the first target grid Pj, and the first target grid Pk. A distance between the first target grid Pi and the first target grid Pl of the back-left region satisfying the vehicle size constraint, and an absolute value of a difference between a second angle and 90 degrees being less than a threshold value; wherein the second angle is an angle between the first target grid Pj, the first target grid Pi, and the first target grid Pl.
[0044] For example, based on a position of the second target point cloud in the grid map, the second target grid corresponding to the symmetric support component of the second vehicle in the grid map is selected from the plurality of grids, which can include: dividing the grid map into a plurality of regions, each region including a plurality of grids. On this basis, for each region, a second score value of a grid in the region is determined based on a distance between the grid and the position of the second target point cloud in the grid map, and a plurality of second candidate grids are selected from the region based on the second score value of each grid. The second target grid is determined from the plurality of second candidate grids of the region, that is, each region corresponds to a first target grid.
[0045] For example, the second score value of the grid in the region can be determined based on the distance between the grid and the position of the second target point cloud in the grid map, which can include, but is not limited to: for each position point of the second target point cloud, determining a grid coordinate of the position point in the grid map; for each grid in the region, determining a score value corresponding to the position point in the grid based on a distance between the grid and the grid coordinate; wherein the smaller the distance, the larger the score value. The second score value of each grid in the region is counted, which can be the sum of the score values corresponding to each position point of the second target point cloud in the grid.
[0046] Further, for each region of the grid map, a plurality of second candidate grids can be selected from the region based on the second score value of each grid in the region, and the second target grid is traversed from the plurality of second candidate grids of the region, so that the second target grids of the plurality of regions satisfy a constraint condition.
[0047] For example, determining the target pose of the robot based on the first pose and the second pose can include, but is not limited to, converting the first pose into a first rotation translation matrix, converting the second pose into a second rotation translation matrix, converting the pose of the robot in the world coordinate system into a third rotation translation matrix; determining a fourth rotation translation matrix of the first carrier in the world coordinate system based on the first rotation translation matrix and the third rotation translation matrix; determining a fifth rotation translation matrix of the second carrier in the world coordinate system based on the second rotation translation matrix and the third rotation translation matrix; determining a sixth rotation translation matrix of the robot in the first carrier coordinate system based on the fourth rotation translation matrix and the third rotation translation matrix; determining a target rotation translation matrix of the target pose of the robot in the world coordinate system based on the sixth rotation translation matrix and the fifth rotation translation matrix, and converting the target rotation translation matrix into the target pose of the robot in the world coordinate system.
[0048] For example, controlling the robot to stack the first carrier onto the second carrier based on the target pose can include, but is not limited to, controlling the robot to move to the target position point based on the target pose; after the robot moves to the target position point, obtaining a third target point cloud of the symmetrical supporting part of the first carrier and a fourth target point cloud of the symmetrical supporting part of the second carrier; determining whether the first carrier and the second carrier have a stacking deviation based on the third target point cloud and the fourth target point cloud; if not, controlling the robot to stack the first carrier onto the second carrier; if yes, returning to perform the operation of obtaining the first target point cloud of the symmetrical supporting part of the first carrier and the second target point cloud of the symmetrical supporting part of the second carrier.
[0049] For example, determining whether the first carrier and the second carrier have a stacking deviation based on the third target point cloud and the fourth target point cloud can include, but is not limited to, selecting a third target grid from the grid map based on the third target point cloud, and selecting a fourth target grid from the grid map based on the fourth target point cloud; determining a third pose of the first carrier in the robot coordinate system based on the third target grid, and determining a fourth pose of the second carrier in the robot coordinate system based on the fourth target grid; if a deviation between the third target grid and the first target grid is less than a threshold value, a deviation between the fourth target grid and the second target grid is less than a threshold value, a deviation between the third pose and the first pose is less than a threshold value, and a deviation between the fourth pose and the second pose is less than a threshold value, it is determined that the first carrier and the second carrier do not have a stacking deviation.
[0050] From the above technical solutions, in the embodiment of the present application, based on the first target point cloud of the symmetrical support part of the first carrier (the carrier on the robot) and the second target point cloud of the symmetrical support part of the second carrier (the carrier on the storage location), the first pose of the first carrier in the robot coordinate system and the second pose of the second carrier in the robot coordinate system are determined, the target pose of the robot is determined based on the first pose and the second pose, and the robot is controlled based on the target pose to stack the first carrier on the second carrier. By determining the target pose of the robot in the world coordinate system, the first carrier on the robot is completely aligned with the second carrier on the storage location, and when the carrier is lowered by the robot, the first carrier is aligned with the second carrier, there is no risk of tipping over, the safety is higher, and the carrier stacking can be effectively completed. The carrier on the robot is accurately stacked on the carrier on the storage location.
[0051] The above technical solutions of the embodiment of the present application will be described in combination with specific application scenarios.
[0052] The carrier stacking refers to stacking the carrier on the robot on the carrier on the storage location. In order to distinguish and facilitate, the carrier on the robot is referred to as the first carrier, and the carrier on the storage location is referred to as the second carrier. In order to realize the carrier stacking function, the size of the first carrier on the robot is the same as the size of the second carrier on the storage location, such as the length direction size of the first carrier being the same as the length direction size of the second carrier, the width direction size of the first carrier being the same as the width direction size of the second carrier, and the height direction size of the first carrier being the same as or different from the height direction size of the second carrier. In this way, the first carrier and the second carrier can be aligned and placed.
[0053] The robot in the embodiment can be a forklift or other types of robots, which can realize carrier stacking. In the following, the forklift is taken as an example for description. The storage location in the embodiment is a storage position for placing the carrier. The carrier in the embodiment can be an appliance for storing materials, such as a shelf.
[0054] Referring to Figure 2 As shown in the figure, the method can include the following steps:
[0055] Step 201, control the forklift to move to a stacking preparation position, and lift the radar to a target height.
[0056] Illustratively, the carrier stacking method can be applied to the forklift itself, that is, the forklift itself executes the carrier stacking method. Alternatively, the carrier stacking method can also be applied to the control device of the forklift, which can be referred to as a scheduling platform, and the scheduling platform executes the carrier stacking method.
[0057] Illustratively, the stacking preparation position can be pre-configured, which is an arbitrary position close to the storage location, and the stacking preparation position is not limited. Referring toFigure 3 Fig. 1 shows a schematic diagram of the position relationship between the stacking preparation position and the storage position. After the forklift is controlled to move to the stacking preparation position, the forklift approaches the storage position. When the forklift moves to the stacking preparation position, the point cloud collected by the radar can include the point cloud of the first carrier (i.e., the carrier on the tines) and the point cloud of the second carrier (i.e., the carrier on the storage position).
[0058] For example, when the forklift moves to the stacking preparation position, the radar can be lifted to a target height, which can be preconfigured, and there is no limitation to the target height as long as the point cloud collected by the radar includes the point cloud of the first carrier and the point cloud of the second carrier when the radar is lifted to the target height.
[0059] In summary, the stacking preparation position and the target height of the radar can be preconfigured, and the point cloud collected by the radar includes the point cloud of the first carrier and the point cloud of the second carrier after the forklift is controlled to move to the stacking preparation position and the radar is lifted to the target height. There is no limitation to the stacking preparation position and the target height of the radar.
[0060] For example, the radar can be arranged on the tines of the forklift (e.g., fixed below the tines), and the radar can move up and down with the tines. Alternatively, the radar can be arranged on a moving component of the robot and move up and down with the moving component. For example, a sliding block and a sliding rail can be arranged on the robot, and the radar can be arranged on the sliding block, so that the radar can be controlled to move up and down by moving the sliding block up and down on the sliding rail.
[0061] Step 202: Collecting original point cloud by the radar, and obtaining reference point cloud by preprocessing the original point cloud.
[0062] For example, the following steps can be used to preprocess the point cloud to obtain the reference point cloud:
[0063] Step 2021: Collecting original point cloud by the radar (the point cloud collected by the radar is referred to as original point cloud).
[0064] For example, a certain number of point clouds can be obtained by the radar and cached, and these point clouds are referred to as original point cloud. For example, after the forklift moves to the stacking preparation position and the radar (which can be a laser radar or other type of radar) is lifted to a target height, the original point cloud in the field of view of the radar can be collected, and the original point cloud includes the point cloud of the first carrier and the point cloud of the second carrier.
[0065] Step 2022: Determining the rotation and translation matrix from the radar coordinate system to the forklift coordinate system based on the pose of the radar in the forklift coordinate system (i.e., the position and direction of the radar relative to the forklift coordinate system).
[0066] For example, it is assumed that the pose of the radar in the forklift coordinate system is To represent the pose of the A coordinate system in the B coordinate system, i.e., the pose of the radar coordinate system in the forklift coordinate system (such as the position and direction of the radar relative to the forklift coordinate system), the following formula (1) is used to determine the rotation and translation matrix of the radar coordinate system to the forklift coordinate system:
[0067]
[0068] Step 2023, convert the original point cloud to the forklift coordinate system by the rotation and translation matrix to obtain the reference point cloud in the forklift coordinate system (i.e., the point cloud in the forklift coordinate system can be referred to as the reference point cloud).
[0069] For example, the original point cloud is collected by the radar, and therefore, the original point cloud is the point cloud in the radar coordinate system. After obtaining the rotation and translation matrix of the radar coordinate system to the forklift coordinate system, the original point cloud in the radar coordinate system can be converted into the reference point cloud in the forklift coordinate system based on the rotation and translation matrix.
[0070] So far, the introduction of step 202 is completed, and the subsequent step 203 can be executed.
[0071] Step 203, perform semantic segmentation based on the reference point cloud to obtain semantic information.
[0072] For example, the following steps can be used to implement semantic segmentation to obtain semantic information:
[0073] Step 2031, determine the ROI range of the first carrier on the forklift.
[0074] For example, the rough pose of the first carrier in the forklift coordinate system can be determined. For example, since the positional relationship between the tines of the forklift and the center point of the forklift is known, when the forklift coordinate system is established with the center point of the forklift as the origin, the pose of the tines in the forklift coordinate system can be determined based on the positional relationship.
[0075] Since the first carrier is placed on the tines of the forklift, the pose of the first carrier in the forklift coordinate system can be determined based on the pose of the tines in the forklift coordinate system, which is not accurate and can be referred to as the rough pose of the first carrier in the forklift coordinate system. For example, the pose of the tines in the forklift coordinate system is taken as the rough pose of the first carrier in the forklift coordinate system, or the pose of the tines in the forklift coordinate system is optimized to obtain the rough pose of the first carrier in the forklift coordinate system.
[0076] In one possible implementation, the ROI range of the first carrier can be determined based on the rough pose of the first carrier in the forklift coordinate system, the length direction size of the first carrier, the width direction size of the first carrier, the target height of the radar, the length error tolerance value, the width error tolerance value, and the height error tolerance value.
[0077] For example, when the forklift stacks the first container from the length direction of the container, the ROI range of the first container is determined by the following formula: zmin = h_reco - h_pole, xmax = h_reco.
[0078] For example, when the forklift stacks the first container from the width direction of the container, the ROI range of the first container is determined by the following formula: zmin = h_reco - h_pole, zmax = h_reco.
[0079] In the above formula, xmin and xmax represent the lateral minimum value and the lateral maximum value of the ROI range of the first container, ymin and ymax represent the longitudinal minimum value and the longitudinal maximum value of the ROI range of the first container, and zmin and zmax represent the vertical minimum value and the vertical maximum value of the ROI range of the first container.
[0080] x and y represent the coarse pose of the first container in the forklift coordinate system, W represents the width direction size of the first container, tol_W represents the width error tolerance value which can be configured according to experience, L represents the length direction size of the first container, tol_L represents the length error tolerance value which can be configured according to experience, h_reco represents the target height of the radar, i.e., the current height of the radar, and h_pole represents the height error tolerance value which can be configured according to experience.
[0081] Step 2032, determine the ROI range of the second container in the storage location.
[0082] For example, the coarse pose of the second container in the forklift coordinate system can be determined. For example, the coarse pose of the second container in the forklift coordinate system can be determined according to the center point pose of the storage location and the pose of the forklift in the world coordinate system. For example, the center point pose of the storage location represents the pose of the center point of the storage location in the world coordinate system, and the center point pose of the storage location can be determined according to the global map, i.e., the center point of the storage location is found from the global map, and the position of this center point of the storage location corresponds to the center point pose of the storage location. The pose of the forklift in the world coordinate system represents the pose of the forklift coordinate system in the world coordinate system.
[0083] Obviously, based on the pose of the center point of the storage location in the world coordinate system and the pose of the forklift coordinate system in the world coordinate system, the pose of the center point of the storage location in the forklift coordinate system can be obtained.
[0084] Since the second carrier is placed on the storage location, the pose of the second carrier in the forklift coordinate system can be determined based on the pose of the center point of the storage location in the forklift coordinate system. Of course, this pose is not accurate and can be referred to as a rough pose of the second carrier in the forklift coordinate system. For example, the pose of the center point of the storage location in the forklift coordinate system is taken as the rough pose of the second carrier in the forklift coordinate system, or the pose of the center point of the storage location in the forklift coordinate system is optimized to obtain the rough pose of the second carrier in the forklift coordinate system.
[0085] In a possible implementation, the ROI range of the second carrier can be determined based on the rough pose of the second carrier in the forklift coordinate system, the length direction size of the second carrier, the width direction size of the second carrier, the target height of the radar, the length error tolerance value, and the width error tolerance value.
[0086] For example, when the forklift stacks the carriers in the length direction of the carriers, the ROI range of the second carrier is determined by the following formula: zmin' = 0, zmax' = h_reco.
[0087] For example, when the forklift stacks the carriers in the width direction of the carriers, the ROI range of the second carrier is determined by the following formula: zmin' = 0, zmax' = h_cero.
[0088] In the above formula, xmin' and xmax' represent the lateral minimum value and the lateral maximum value of the ROI range of the second carrier, ymin' and ymax' represent the longitudinal minimum value and the longitudinal maximum value of the ROI range of the second carrier, and zmin' and zmax' represent the vertical minimum value and the vertical maximum value of the ROI range of the second carrier.
[0089] x' and y' can represent the rough pose of the second carrier in the forklift coordinate system, W can represent the width direction size of the second carrier, tol_W can represent the width error tolerance value, which can be configured according to experience, L can represent the length direction size of the second carrier, tol_L can represent the length error tolerance value, which can be configured according to experience. h_reco represents the target height of the radar, i.e., the current height of the radar.
[0090] In step 2033, the first reference point cloud in the ROI range of the first carrier is selected from the reference point cloud, and the second reference point cloud in the ROI range of the second carrier is selected from the reference point cloud.
[0091] For example, each position point in the reference point cloud can be traversed. If the position point is within the ROI range of the first carrier, the position point is added to the first reference point cloud. If the position point is within the ROI range of the second carrier, the position point is added to the second reference point cloud. If the position point is neither within the ROI range of the first carrier nor within the ROI range of the second carrier, the position point is ignored.
[0092] After the above processing of each position point in the reference point cloud, the first reference point cloud and the second reference point cloud can be obtained, and each of the first reference point cloud and the second reference cloud includes a plurality of position points.
[0093] In step 2034, semantic segmentation is performed on each position point in the first reference point cloud to obtain semantic information, and semantic segmentation is performed on each position point in the second reference point cloud to obtain semantic information. For each position point, the semantic information of the position point indicates whether the position point is a symmetric support component or not.
[0094] In a possible implementation, the semantic segmentation can be performed by using a point cloud semantic segmentation model to obtain semantic information, and other methods can also be used to obtain semantic information. The semantic segmentation method is not limited, and subsequent examples are given by using a point cloud semantic segmentation model for semantic segmentation.
[0095] The point cloud semantic segmentation model can be pre-trained, and the point cloud semantic segmentation model can be PointNet or the like. The point cloud semantic segmentation model is used to identify whether each position point in the point cloud is a symmetric support component.
[0096] On this basis, the first reference point cloud can be input to the point cloud semantic segmentation model, and the point cloud semantic segmentation model can perform semantic segmentation on each position point in the first reference point cloud to obtain semantic information of the position point. The semantic information indicates whether the position point is a symmetric support component or not. The semantic information can also be referred to as the semantic type of the position point. For example, the symmetric support component can be a contact component when two carriers are stacked. The contact component can be a connecting component or other type of component, which can achieve carrier stacking. For example, the symmetric support component of the first carrier is connected to the symmetric support component of the second carrier, so that the first carrier is stacked on the second carrier. The semantic information can also be referred to as the semantic type of the position point.
[0097] Similarly, the second reference point cloud can be input to the point cloud semantic segmentation model, and the point cloud semantic segmentation model can perform semantic segmentation on each position point in the second reference point cloud to obtain semantic information of the position point. The semantic information indicates whether the position point is a symmetric support component or not.
[0098] At this point, the introduction of step 203 is completed, and subsequent step 204 can be executed.
[0099] Step 204, selecting target point clouds of the symmetric support components from the reference point clouds based on the semantic information. For example, selecting position points belonging to the symmetric support components from the first reference point cloud to form the first target point cloud, and selecting position points belonging to the symmetric support components from the second reference point cloud to form the second target point cloud.
[0100] For example, after obtaining the semantic information of each position point in the first reference point cloud, the position points (i.e. three-dimensional points) belonging to the symmetric support components can be selected from all the position points in the first reference point cloud based on the semantic information, and these position points belonging to the symmetric support components form the first target point cloud, i.e. the first target point cloud is the point cloud of the symmetric support components of the first carrier. After obtaining the semantic information of each position point in the second reference point cloud, the position points (i.e. three-dimensional points) belonging to the symmetric support components can be selected from all the position points in the second reference point cloud based on the semantic information, and these position points belonging to the symmetric support components form the second target point cloud, i.e. the second target point cloud is the point cloud of the symmetric support components of the first carrier.
[0101] Step 205, selecting a plurality of candidate grids from all the grids of the grid map based on the target point cloud.
[0102] For example, based on the target point cloud, the plurality of candidate grids can be selected by the following steps:
[0103] Step 2051, establishing a grid map, such as a two-dimensional grid map, in the forklift coordinate system.
[0104] For example, the range of the grid map needs to be greater than the range of the first carrier and the second carrier, i.e. the first carrier needs to be located in the grid map, and the second carrier needs to be located in the grid map.
[0105] For example, when the grid map is established in the forklift coordinate system, it is assumed that the coordinates of the origin of the grid map in the forklift coordinate system are The size of a single grid of the grid map is C.
[0106] For example, the grid map can include a plurality of grids, and the numerical value of each grid of the grid map represents the score value of the grid. When the grid map is initially established, the score value of each grid of the grid map is initialized to 0 (or other numerical values).
[0107] Step 2052, for each position point in the first target point cloud, determining the grid coordinates of the position point in the grid map, which can correspond to a grid in the grid map.
[0108] Exemplarily, each position point in the first target point cloud can be traversed, and for the currently traversed position point The grid coordinate of the position point in the grid map can be determined by using the following formula (2)
[0109]
[0110] In the above formula, since the first target point cloud is a point cloud in the forklift coordinate system, the coordinates of the position point in the forklift coordinate system can be represented as The coordinates of the position point in the forklift coordinate system can be represented as The coordinates of the origin of the grid map in the forklift coordinate system can be represented as C, and the size of a single grid of the grid map can be represented as
[0111] After obtaining the grid coordinate of the position point in the grid map, for each grid in the grid map, a score value of the position point corresponding to the grid can be determined based on the distance between the grid and the grid coordinate. For example, the smaller the distance between the grid and the grid coordinate, the larger the score value.
[0112] Exemplarily, assuming that the grid coordinate of the position point is For each grid in the grid map, a score value s of the position point corresponding to the grid can be determined based on the distance between the grid and the grid Ci. The score value s can be greater than or equal to 0 and less than or equal to 1. For example, for the grid Ci in the grid map, the distance between the grid and the grid Ci is 0, and the score value s of the grid can be 1. For a grid in the grid map, if the distance between the grid and the grid Ci is greater than or equal to Dmax, which can be configured according to experience, the score value s of the grid can be 0. For a grid in the grid map, if the distance between the grid and the grid Ci is between 0 and Dmax, the score value s of the grid is inversely proportional to the distance, for example, s = f(d), d represents the distance between the grid and the grid Ci, and f represents a functional relationship, which can be designed according to actual application, and this is not limited, as long as s is inversely proportional to the distance d.
[0113] For example, one example of s = f(d) can be s = 1-d / Dmax, d represents the distance between the grid and the grid Ci, and obviously, when d is Dmax, the score value s can be 0. Of course, when d is greater than Dmax, the score value s can also be determined as 0, and when d is, the score value s can be 1.
[0114] Step 2054, the first score value of each grid in the grid map can be counted, which can be the sum of the score values of each position point of the first target point cloud corresponding to the grid.
[0115] For example, for each grid in the grid map, after the above processing is performed on each position point in the first target point cloud, a score value corresponding to the grid for the position point can be obtained, which can be 1, 0, or a value between 0 and 1. Obviously, each position point corresponds to a score value of the grid. On this basis, the sum of the score values corresponding to the grid for all position points in the first target point cloud can be taken as the first score value of the grid.
[0116] As described above, the first score value of each grid in the grid map can be counted.
[0117] Step 2055, for each region of the grid map, a plurality of first candidate grids can be selected from the region based on the first score value of each grid in the region, the plurality of first candidate grids are selected in order of high to low first score value, and the distance between different first candidate grids is greater than a threshold.
[0118] For example, the grid map can be divided into a plurality of regions according to the theoretical center position of the vehicle (such as the center point of the grid map), and the number of the plurality of regions is the same as the number of the symmetric support components of the vehicle. Assuming that the symmetric support components are four, the grid map can be divided into four regions, which are the left front region (left front region), the right front region (right front region), the left rear region (left rear region), and the right rear region (right rear region), respectively, as shown in Figure 4 The figure shows a schematic diagram of dividing the grid map into four regions.
[0119] For the left front region, a plurality of first candidate grids can be selected from the left front region based on the first score value of each grid in the left front region, the plurality of first candidate grids need to be selected in order of high to low first score value, and the distance between different first candidate grids can be greater than a threshold.
[0120] For example, a plurality of grids with high scores and a distance greater than a threshold from each other are searched and recorded as first candidate grids (high-score peak grids), and the first candidate grids are sorted in order of high to low score.
[0121] For example, assuming that M first candidate grids need to be selected, each grid is traversed in order of high to low first score value. For the currently traversed grid, it is first determined whether the distance between the grid and the selected first candidate grid is greater than a threshold. If not, the grid is abandoned and the next grid is traversed.
[0122] If yes, the grid is taken as a selected first candidate grid, and it is determined whether the number of the first candidate grids reaches M. If yes, the traversal is stopped, and M first candidate grids are obtained. If no, the next grid is traversed, and the traversal is continued in this way until M first candidate grids in the front-left region are obtained, or the traversal is stopped although M first candidate grids are not obtained, but the score value of the currently traversed grid is less than the threshold value.
[0123] For the front-right region, a plurality of first candidate grids can be selected from the front-right region based on the first score value of each grid in the front-right region. For the back-left region, a plurality of first candidate grids can be selected from the back-left region based on the first score value of each grid in the back-left region. For the back-right region, a plurality of first candidate grids can be selected from the back-right region based on the first score value of each grid in the back-right region.
[0124] Step 2056, for each position point in the second target point cloud, the grid coordinate of the position point in the grid map is determined, which can correspond to a grid in the grid map.
[0125] Step 2057, after obtaining the grid coordinate of the position point in the grid map, for each grid in the grid map, the score value of the position point in the grid corresponding to the grid is determined based on the distance between the grid and the grid coordinate. For example, the smaller the distance between the grid and the grid coordinate, the greater the score value.
[0126] Step 2058, the second score value of each grid in the grid map is counted, which can be the sum of the score value of each position point in the second target point cloud corresponding to the grid.
[0127] Step 2059, for each region of the grid map, a plurality of second candidate grids can be selected from the region based on the second score value of each grid in the region, the plurality of second candidate grids are selected in the order from high to low of the second score value, and the distance between different second candidate grids is greater than the threshold value.
[0128] For example, steps 2056-2059 can refer to steps 2052-2055, which will not be described here.
[0129] So far, the introduction of step 205 is completed, and the subsequent step 206 can be executed.
[0130] Step 206, selecting target grids from multiple candidate grids. For example, traversing the first target grid from multiple first candidate grids of each region (such as the left front region, the right front region, the left rear region, and the right rear region) so that the first target grids of multiple regions satisfy the constraint condition. Traversing the second target grid from multiple second candidate grids of each region so that the second target grids of multiple regions satisfy the constraint condition. Wherein the first target grid represents the corresponding grid of the symmetrical support component of the first carrier in the grid map, and the second target grid represents the corresponding grid of the symmetrical support component of the second carrier in the grid map.
[0131] For example, selecting the first target grid S11 from multiple first candidate grids of the left front region, selecting the first target grid S12 from multiple first candidate grids of the right front region, selecting the first target grid S13 from multiple first candidate grids of the left rear region, and selecting the first target grid S14 from multiple first candidate grids of the right rear region, and the first target grid S11, the first target grid S12, the first target grid S13, and the first target grid S14 need to satisfy the constraint condition. In addition, selecting the second target grid S21 from multiple second candidate grids of the left front region, selecting the second target grid S22 from multiple second candidate grids of the right front region, selecting the second target grid S23 from multiple second candidate grids of the left rear region, and selecting the second target grid S24 from multiple second candidate grids of the right rear region, and the second target grid S21, the second target grid S22, the second target grid S23, and the second target grid S24 need to satisfy the constraint condition.
[0132] In a possible implementation, the first target grid of the left front region is denoted as Pi, the first target grid of the right front region is denoted as Pj, the first target grid of the right rear region is denoted as Pk, and the first target grid of the left rear region is denoted as Pl. On this basis, the first target grids of multiple regions satisfying the constraint condition can include but are not limited to: the distance between the first target grid Pi and the first target grid Pj satisfies the carrier size constraint. The distance between the first target grid Pj and the first target grid Pk satisfies the carrier size constraint, and the absolute value of the difference between the first angle and 90 degrees is less than a threshold value, and the first angle is the angle between the first target grid Pi, the first target grid Pj, and the first target grid Pk. The distance between the first target grid Pi and the first target grid Pl satisfies the carrier size constraint, and the absolute value of the difference between the second angle and 90 degrees is less than a threshold value, and the second angle is the angle between the first target grid Pj, the first target grid Pi, and the first target grid Pl.
[0133] Pi' is the second target grid of the left front region, Pj' is the second target grid of the right front region, Pk' is the second target grid of the right rear region, and Pl' is the second target grid of the left rear region. On this basis, the second target grids of the multiple regions satisfy the constraint condition, which can include but is not limited to: the distance between the second target grid Pi' and the second target grid Pj' satisfies the vehicle size constraint. The distance between the second target grid Pj' and the second target grid Pk' satisfies the vehicle size constraint, and the absolute value of the difference between the second angle and 90 degrees is less than a threshold value, and the second angle is the angle between the second target grid Pi', the second target grid Pj', and the second target grid Pk'. The distance between the second target grid Pi' and the second target grid Pl' satisfies the vehicle size constraint, and the absolute value of the difference between the second angle and 90 degrees is less than a threshold value, and the second angle is the angle between the second target grid Pj', the second target grid Pi', and the second target grid Pl'.
[0134] In a possible implementation, the selection process is introduced by taking the implementation process of the first target grid of the multiple regions satisfying the constraint condition as an example, and the second target grid of the multiple regions satisfying the constraint condition is similar.
[0135] S2061: If all the first candidate grids (score peak grids) of the left front region have been traversed, the loop is exited and the search is ended. Otherwise, the next first candidate grid Pi of the left front region is taken in turn.
[0136] S2062: If all the first candidate grids (score peak grids) of the right front region have been traversed, the process returns to S2061. Otherwise, the next first candidate grid Pj of the right front region is taken in turn.
[0137] S2063: It is judged whether the distance between Pi and Pj satisfies the vehicle size constraint. If the vehicle size constraint is satisfied, the process proceeds to S2064. If the vehicle size constraint is not satisfied, the process returns to S2062.
[0138] S2064: If all the first candidate grids (score peak grids) of the right rear region have been traversed, the process returns to S2062. Otherwise, the next first candidate grid Pj of the right rear region is taken.
[0139] It is judged whether the distance between Pj and Pk satisfies the vehicle size constraint, and whether the absolute value of the difference between the angle PiPjPk and 90 degrees is less than a set threshold value. If both conditions are satisfied, Pk is recorded and the process proceeds to S2065. If both conditions are not satisfied, the process returns to S2064.
[0140] S2065: If all the first candidate grids (score peak grids) in the left rear region have been traversed, return to S2062. Otherwise, take the next first candidate grid Pl from the left rear region.
[0141] Determine whether the distance between Pi and Pl satisfies the vehicle size constraint, and determine whether the absolute value of the difference between the angle PjPiPl and 90 degrees is less than a set threshold. If both conditions are satisfied, record Pl and enter S2066. If both conditions are not satisfied, return to S2065.
[0142] S2066: Record the current optimal vehicle columnar component combination PiPjPkPl.
[0143] For example, take the first candidate grid Pi in the left front region as the first target grid Pi, take the first candidate grid Pj in the right front region as the first target grid Pj, take the first candidate grid Pk in the right rear region as the first target grid Pk, and take the first candidate grid Pl in the left rear region as the first target grid Pl.
[0144] In the above process, the vehicle size constraint refers to that the distance d between two symmetrical support components (i.e., the actual distance of the two symmetrical support components) can be pre-configured, and an error threshold d' can be pre-configured, on the basis of which, if the distance is located in the range [d-d', d+d'], it is determined that the distance satisfies the vehicle size constraint, otherwise, if the distance is not located in the range [d-d', d+d'], it is determined that the distance does not satisfy the vehicle size constraint.
[0145] So far, the introduction of step 206 is completed, and the subsequent step 207 can be executed.
[0146] Step 207: Determine the first pose of the first vehicle in the forklift coordinate system based on the first target grid, and determine the second pose of the second vehicle in the forklift coordinate system based on the second target grid.
[0147] For example, the first pose of the first vehicle in the forklift coordinate system can be determined based on the first target grid in the left front region and the first target grid in the right front region. Alternatively, the first pose of the first vehicle in the forklift coordinate system can be determined based on the first target grid in the left rear region and the first target grid in the right rear region.
[0148] For example, the second pose of the second vehicle in the forklift coordinate system can be determined based on the second target grid in the left front region and the second target grid in the right front region. Alternatively, the second pose of the second vehicle in the forklift coordinate system can be determined based on the second target grid in the left rear region and the second target grid in the right rear region.
[0149] In a possible implementation, the first pose of the first carrier in the forklift coordinate system or the second pose of the second carrier in the forklift coordinate system can be determined by using formula (3).
[0150]
[0151] In formula (3), if the first pose of the first carrier in the forklift coordinate system is to be determined, (pnt0.x, pnt0.y) represents the center point coordinates of the first target grid in the left front area, (pnt1.x, pnt1.y) represents the center point coordinates of the first target grid in the right front area, or (pnt0.x, pnt0.y) represents the center point coordinates of the first target grid in the left rear area, and (pnt1.x, pnt1.y) represents the center point coordinates of the first target grid in the right rear area. Posepod.x, Posepod.y, Posepod.t represent the first pose of the first carrier in the forklift coordinate system.
[0152] In formula (3), if the second pose of the second carrier in the forklift coordinate system is to be determined, (pnt0.x, pnt0.y) represents the center point coordinates of the second target grid in the left front area, (pnt1.x, pnt1.y) represents the center point coordinates of the second target grid in the right front area, or (pnt0.x, pnt0.y) represents the center point coordinates of the second target grid in the left rear area, and (pnt1.x, pnt1.y) represents the center point coordinates of the second target grid in the right rear area. Posepod.x, Posepod.y, Posepod.t represent the second pose of the second carrier in the forklift coordinate system.
[0153] Step 208, determining the target pose of the forklift based on the first pose and the second pose.
[0154] For example, the target pose of the forklift in the world coordinate system can be determined by using the following steps:
[0155] Step 2081, based on the first pose of the first carrier in the forklift coordinate system, the first pose can be converted into a first rotation translation matrix, i.e., a rotation translation matrix of the first carrier in the forklift coordinate system.
[0156] For example, referring to formula (1), represents the first pose of the first carrier in the forklift coordinate system, represents the first rotation translation matrix of the first carrier in the forklift coordinate system.
[0157] For convenience of distinction, the first pose can be denoted as The first rotation translation matrix can be denoted as In the above parameters, pose represents a pose, T represents a rotation translation matrix, rbt represents a forklift coordinate system, cur represents a current position (i.e., a stacking preparation position), pod represents a carrier, and fork represents that the carrier is located on the forklift, i.e., pod_fork represents the carrier on the forklift, i.e., the first carrier.
[0158] In step 2082, based on the second pose of the second carrier in the forklift coordinate system, the second pose can be converted into a second rotation translation matrix, i.e., the rotation translation matrix of the second carrier in the forklift coordinate system.
[0159] For example, referring to formula (1), represents the second pose of the second carrier in the forklift coordinate system, represents the second rotation translation matrix of the second carrier in the forklift coordinate system.
[0160] For the convenience of distinction, the second pose can be denoted as The second rotation translation matrix can be denoted as In the above parameters, pose represents a pose, T represents a rotation translation matrix, rbt represents a forklift coordinate system, cur represents a current position (i.e., a stacking preparation position), pod represents a carrier, and stor represents that the carrier is located on a storage position, i.e., pod_stor represents the carrier on the storage position, i.e., the second carrier.
[0161] In step 2083, the pose of the forklift in the world coordinate system is converted into a third rotation translation matrix.
[0162] For example, referring to formula (1), represents the pose of the forklift in the world coordinate system, represents the third rotation translation matrix of the forklift in the world coordinate system. The pose of the forklift in the world coordinate system is the current pose of the forklift, i.e., in the movement process of the forklift, the pose of the forklift in the world coordinate system can be measured, such as measuring the pose of the forklift in the world coordinate system by using various types of sensors.
[0163] For the convenience of distinction, the pose of the forklift in the world coordinate system can be denoted as The third rotation translation matrix can be denoted as In the above parameters, pose represents a pose, T represents a rotation translation matrix, rbt represents a forklift coordinate system, cur represents a current position (i.e., a stacking preparation position), w represents a world coordinate system, i.e., represents the pose of the forklift coordinate system in the world coordinate system, and represents the rotation translation matrix.
[0164] Step 2084, determining a fourth rotation and translation matrix of the first carrier in the world coordinate system based on the first rotation and translation matrix and the third rotation and translation matrix. For example, the first rotation and translation matrix is a rotation and translation matrix of the first carrier in the forklift coordinate system, the third rotation and translation matrix is the third rotation and translation matrix of the forklift in the world coordinate system, and based on the first rotation and translation matrix and the third rotation and translation matrix, the conversion between the first carrier and the world coordinate system can be realized to obtain the fourth rotation and translation matrix of the first carrier in the world coordinate system.
[0165] For example, the fourth rotation and translation matrix of the first carrier in the world coordinate system can be determined by the following formula: In the above formula, represents the fourth rotation and translation matrix, represents the first rotation and translation matrix, represents the third rotation and translation matrix.
[0166] Step 2085, determining a fifth rotation and translation matrix of the second carrier in the world coordinate system based on the second rotation and translation matrix and the third rotation and translation matrix. For example, the second rotation and translation matrix is a rotation and translation matrix of the second carrier in the forklift coordinate system, the third rotation and translation matrix is the third rotation and translation matrix of the forklift in the world coordinate system, and based on the second rotation and translation matrix and the third rotation and translation matrix, the conversion between the second carrier and the world coordinate system can be realized to obtain the fifth rotation and translation matrix of the second carrier in the world coordinate system.
[0167] For example, the fifth rotation and translation matrix of the second carrier in the world coordinate system can be determined by the following formula: In the above formula, represents the fifth rotation and translation matrix, represents the second rotation and translation matrix, represents the third rotation and translation matrix.
[0168] Step 2086, determining a sixth rotation and translation matrix of the forklift in the first carrier coordinate system based on the fourth rotation and translation matrix and the third rotation and translation matrix. For example, the fourth rotation and translation matrix is a rotation and translation matrix of the first carrier in the world coordinate system, the third rotation and translation matrix is a rotation and translation matrix of the forklift in the world coordinate system, and based on the fourth rotation and translation matrix and the third rotation and translation matrix, the conversion between the forklift and the first carrier coordinate system can be realized to obtain the sixth rotation and translation matrix of the forklift in the first carrier coordinate system.
[0169] For example, the sixth rotation and translation matrix of the forklift in the first carrier coordinate system can be determined by the following formula: represents the sixth rotation and translation matrix, represents the fourth rotation and translation matrix, represents the third rotation translation matrix.
[0170] Step 2087, determine the target rotation translation matrix of the target pose of the forklift in the world coordinate system based on the sixth rotation translation matrix and the fifth rotation translation matrix. For example, the sixth rotation translation matrix is the rotation translation matrix of the forklift in the first vehicle coordinate system, and the fifth rotation translation matrix is the rotation translation matrix of the second vehicle in the world coordinate system. Based on the sixth rotation translation matrix and the fifth rotation translation matrix, the target rotation translation matrix of the target pose of the forklift in the world coordinate system can be obtained.
[0171] For example, the target rotation translation matrix of the target pose of the forklift in the world coordinate system can be determined by the following formula: In the above formula, represents the target rotation translation matrix, represents the fifth rotation translation matrix, represents the sixth rotation translation matrix.
[0172] Step 2088, convert the target rotation translation matrix into the target pose of the forklift in the world coordinate system. The target pose includes the target position and the target attitude of the forklift in the world coordinate system. The target position is used to control the forklift to move to the position, and the target attitude is used to control the attitude of the forklift at the target position.
[0173] For example, referring to formula (1), represents the target pose of the forklift in the world coordinate system, represents the target rotation translation matrix of the forklift in the world coordinate system.
[0174] In a possible implementation, for steps 2081-2088, since the above poses are two-dimensional poses, the angle calculation in the pose can be directly obtained by angle addition. For example, to calculate the target pose of the forklift in the world coordinate system, refer to formula (4) shown below. [0][2] represents the first row and third column element of the corresponding matrix, and [1][2] represents the second row and third column element of the corresponding matrix.
[0175]
[0176] At this point, the introduction of step 208 is completed, and the subsequent step 209 can be executed.
[0177] Step 209, control the forklift to move to the target position point based on the target pose (i.e., the target pose of the forklift in the world coordinate system). After the forklift moves to the target position point, it is determined whether the first carrier and the second carrier have a stacking deviation. If yes, return to step 202 and repeat the above process until the first carrier and the second carrier do not have a stacking deviation. If not, the forklift can be controlled to stack the first carrier on the second carrier, i.e., successfully stack the first carrier on the second carrier, complete the carrier stacking process.
[0178] For example, the following steps can be used to determine whether the first carrier and the second carrier have a stacking deviation:
[0179] Step 2091, obtain a third target point cloud of the symmetrical support part of the first carrier and a fourth target point cloud of the symmetrical support part of the second carrier.
[0180] For example, the original point cloud is collected by radar, and the reference point cloud is obtained by preprocessing the original point cloud. The first reference point cloud and the second reference point cloud are selected from the reference point cloud. Each position point in the first reference point cloud is subjected to semantic segmentation, and each position point in the second reference point cloud is subjected to semantic segmentation. The position points belonging to the symmetrical support part in the first reference point cloud are selected to form the third target point cloud, and the position points belonging to the symmetrical support part in the second reference point cloud are selected to form the fourth target point cloud.
[0181] For example, the above process can be referred to as steps 202-204, which will not be repeated here.
[0182] For example, whether the first carrier and the second carrier have a stacking deviation can be determined based on the third target point cloud and the fourth target point cloud, for example, using the following steps to determine whether there is a stacking deviation.
[0183] Step 2092, select a third target grid from the grid map based on the third target point cloud, and select a fourth target grid from the grid map based on the fourth target point cloud. The third target grid represents the corresponding grid of the symmetrical support part of the first carrier in the grid map, and the fourth target grid represents the corresponding grid of the symmetrical support part of the second carrier in the grid map.
[0184] For example, for each region of the grid map, a plurality of first candidate grids are selected from the region based on the third target point cloud, and the third target grid (corresponding to the first target grid) is selected from the plurality of first candidate grids in the region, so that the third target grids of the plurality of regions satisfy the constraint condition.
[0185] For each region of the grid map, a plurality of second candidate grids are selected from the region based on the fourth target point cloud, and a fourth target grid (corresponding to the second target grid) is selected from the plurality of second candidate grids of the region, so that the fourth target grids of the plurality of regions satisfy the constraint condition.
[0186] For example, the above process can refer to steps 205-206, which will not be repeated here.
[0187] Step 2093, determine the third pose (corresponding to the first pose) of the first carrier in the forklift coordinate system based on the third target grid, and determine the fourth pose (corresponding to the second pose) of the second carrier in the forklift coordinate system based on the fourth target grid. This process can be referred to step 207.
[0188] Step 2094, if the deviation of the third target grid from the first target grid is less than a threshold, the deviation of the fourth target grid from the second target grid is less than a threshold, the deviation of the third pose from the first pose is less than a threshold, and the deviation of the fourth pose from the second pose is less than a threshold, it is determined that the first carrier and the second carrier do not have stacking deviation, and the forklift is controlled to stack the first carrier on the second carrier.
[0189] If at least one of the following conditions is not true: the deviation of the third target grid from the first target grid is less than a threshold, the deviation of the fourth target grid from the second target grid is less than a threshold, the deviation of the third pose from the first pose is less than a threshold, and the deviation of the fourth pose from the second pose is less than a threshold, it is determined that the first carrier and the second carrier have stacking deviation, and the above process needs to return to step 202.
[0190] For example, the deviation of the third target grid from the first target grid can be the distance difference of the grid coordinates, the deviation of the fourth target grid from the second target grid can be the distance difference of the grid coordinates, and the two thresholds for the distance difference (i.e. distance threshold) can be the same or different. The deviation of the third pose from the first pose can be the pose difference, and the deviation of the fourth pose from the second pose can be the pose difference, and the two thresholds for the pose difference can be the same or different.
[0191] It can be seen from the above technical solutions that, in the embodiment of the present application, the target pose of the forklift in the world coordinate system is determined, so that the first carrier on the forklift is completely aligned with the second carrier of the storage location. When the carrier is lowered by the forklift, the first carrier is aligned with the second carrier, there is no risk of tipping, the safety is higher, and the carrier stacking can be effectively completed. The carrier on the forklift can be accurately stacked on the carrier of the storage location. The deep learning point cloud semantic segmentation technology is used to directly search for the columnar components (i.e. symmetrical support components) in the point cloud, which can be applied to more types of carriers. The score grid map is used to obtain the center point of the possible symmetrical support components, which can effectively reduce the interference of point cloud noise compared with the clustering algorithm. Before stacking and lowering, the stacking detection is performed, the new target point of the forklift is calculated, the safety of the stacking task is improved, and the stacked carrier is prevented from tipping due to skidding of the forklift.
[0192] Based on the same application concept as the above method, the embodiment of the present application proposes a carrier stacking device. There is a first carrier on the robot and a second carrier on the storage location. The first carrier needs to be stacked on the second carrier. Referring to FIG. 11, it is a structural schematic diagram of the device. The device can include: Figure 5
[0193] The acquisition module 51 is configured to acquire a first target point cloud of a symmetrical support component of the first carrier and a second target point cloud of a symmetrical support component of the second carrier. The symmetrical support component is the contact component when the two carriers are stacked. The selection module 52 is configured to establish a grid map in the robot coordinate system. The grid map includes a plurality of grids. The first target grid corresponding to the symmetrical support component of the first carrier in the grid map is selected from the plurality of grids based on the position of the first target point cloud in the grid map. The second target grid corresponding to the symmetrical support component of the second carrier in the grid map is selected from the plurality of grids based on the position of the second target point cloud in the grid map. The determination module 53 is configured to determine the first pose of the first carrier in the robot coordinate system based on the first target grid, determine the second pose of the second carrier in the robot coordinate system based on the second target grid, and determine the target pose of the robot based on the first pose and the second pose. The control module 54 is configured to control the robot to stack the first carrier on the second carrier based on the target pose.
[0194] In an example, the obtaining module 51 is specifically configured to: when obtaining the first target point cloud of the symmetric support component of the first carrier and the second target point cloud of the symmetric support component of the second carrier, after controlling the robot to move to the configured stacking preparation position and lifting the height of the radar to the configured target height, collecting a raw point cloud by the radar, the raw point cloud comprising a point cloud of the first carrier and a point cloud of the second carrier; wherein the radar is arranged on a pinion of the robot and moves up and down with the pinion; or the radar is arranged on a moving component of the robot and moves up and down with the moving component; determining a rotation and translation matrix of a radar coordinate system to the robot coordinate system based on the pose of the radar in the robot coordinate system; converting the raw point cloud to the robot coordinate system by the rotation and translation matrix to obtain a reference point cloud in the robot coordinate system; selecting a first reference point cloud in the ROI range of the first carrier from the reference point cloud, and performing semantic segmentation on each position point in the first reference point cloud to obtain semantic information; selecting a second reference point cloud in the ROI range of the second carrier from the reference point cloud, and performing semantic segmentation on each position point in the second reference point cloud to obtain semantic information; wherein the semantic information indicates whether the position point is a symmetric support component or not; selecting position points belonging to the symmetric support component from the first reference point cloud to form the first target point cloud, and selecting position points belonging to the symmetric support component from the second reference point cloud to form the second target point cloud.
[0195] In an example, the obtaining module 51 is further configured to: before selecting the first reference point cloud in the ROI range of the first carrier from the reference point cloud, determining the ROI range of the first carrier based on a coarse pose of the first carrier in the robot coordinate system, a length direction size of the first carrier, a width direction size of the first carrier, a target height of the radar, a length error tolerance value, a width error tolerance value and a height error tolerance value; determining a coarse pose of the second carrier in the robot coordinate system according to the center point pose of the storage position and the pose of the robot in the world coordinate system; and determining the ROI range of the second carrier based on the coarse pose, a length direction size of the second carrier, a width direction size of the second carrier, a target height of the radar, a length error tolerance value and a width error tolerance value.
[0196] For example, the selecting module 52 is specifically configured to: divide the grid map into a plurality of regions, each region including a plurality of grids; for each region, determine a first score value of each grid in the region based on a distance between the grid and the position of the first target point cloud in the grid map, select a plurality of first candidate grids from the region based on the first score value of each grid; and determine the first target grid from the plurality of first candidate grids of the region.
[0197] For example, the selecting module 52 is specifically configured to: for each position point of the first target point cloud, determine a grid coordinate of the position point in the grid map; for each grid in the region, determine a corresponding score value of the position point in the grid based on a distance between the grid and the grid coordinate; wherein the smaller the distance, the greater the score value; and calculate the first score value of each grid in the region, which is a sum of the corresponding score values of each position point of the first target point cloud in the grid.
[0198] For example, in the determination of the first target grid from the plurality of first candidate grids of the region, each region corresponds to a first target grid, and the first target grids corresponding to the plurality of regions satisfy a constraint condition; the plurality of regions include a front-left region, a front-right region, a rear-left region, and a rear-right region; the first target grids corresponding to the plurality of regions satisfy the constraint condition, including: a distance between the first target grid Pi of the front-left region and the first target grid Pj of the front-right region satisfies a vehicle size constraint; a distance between the first target grid Pj and the first target grid Pk of the rear-right region satisfies the vehicle size constraint, and an absolute value of a difference between a first angle and 90 degrees is less than a threshold value; wherein the first angle is an angle between the first target grid Pi, the first target grid Pj, and the first target grid Pk; a distance between the first target grid Pi and the first target grid Pl of the rear-left region satisfies the vehicle size constraint, and an absolute value of a difference between a second angle and 90 degrees is less than a threshold value; wherein the second angle is an angle between the first target grid Pj, the first target grid Pi, and the first target grid Pl.
[0199] For example, when the determining module 53 determines the target pose of the robot based on the first pose and the second pose, the determining module 53 specifically converts the first pose into a first rotation translation matrix, converts the second pose into a second rotation translation matrix, and converts the pose of the robot in the world coordinate system into a third rotation translation matrix; determines a fourth rotation translation matrix of the first carrier in the world coordinate system based on the first rotation translation matrix and the third rotation translation matrix; determines a fifth rotation translation matrix of the second carrier in the world coordinate system based on the second rotation translation matrix and the third rotation translation matrix; determines a sixth rotation translation matrix of the robot in the first carrier coordinate system based on the fourth rotation translation matrix and the third rotation translation matrix; determines a target rotation translation matrix of the target pose of the robot in the world coordinate system based on the sixth rotation translation matrix and the fifth rotation translation matrix, and converts the target rotation translation matrix into the target pose of the robot in the world coordinate system.
[0200] For example, when the control module 54 controls the robot to stack the first carrier on the second carrier based on the target pose, the control module 54 specifically controls the robot to move to a target position point based on the target pose; after the robot moves to the target position point, acquires a third target point cloud of a symmetrical supporting component of the first carrier and a fourth target point cloud of a symmetrical supporting component of the second carrier; determines whether the first carrier and the second carrier have a stacking deviation based on the third target point cloud and the fourth target point cloud; and if not, controls the robot to stack the first carrier on the second carrier.
[0201] For example, when the control module 54 determines whether the first carrier and the second carrier have a stacking deviation based on the third target point cloud and the fourth target point cloud, the control module 54 specifically selects a third target grid from the grid map based on the third target point cloud, and selects a fourth target grid from the grid map based on the fourth target point cloud; determines a third pose of the first carrier in the robot coordinate system based on the third target grid, and determines a fourth pose of the second carrier in the robot coordinate system based on the fourth target grid; and if a deviation between the third target grid and the first target grid is less than a threshold value, a deviation between the fourth target grid and the second target grid is less than a threshold value, a deviation between the third pose and the first pose is less than a threshold value, and a deviation between the fourth pose and the second pose is less than a threshold value, it is determined that the first carrier and the second carrier do not have a stacking deviation.
[0202] Based on the same application concept as the above method, an electronic device is provided in the embodiments of the present application, as shown in Figure 6As shown, it comprises: a processor 61 and a machine readable storage medium 62, the machine readable storage medium 62 stores machine executable instructions capable of being executed by the processor 81; the processor 61 is used to execute the machine executable instructions to realize the carrier stacking method disclosed in the above examples of the present application.
[0203] Based on the same application concept as the above method, the embodiments of the present application also provide a machine readable storage medium, the machine readable storage medium stores a plurality of computer instructions, when the computer instructions are executed by a processor, the carrier stacking method disclosed in the above examples of the present application can be realized.
[0204] Wherein, the machine readable storage medium can be any electronic, magnetic, optical or other physical storage device, can contain or store information, such as executable instructions, data, etc. For example, the machine readable storage medium can be: RAM (Radom Access Memory, Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state disk, any type of storage disk (such as optical disk, dvd, etc.), or similar storage medium, or combination thereof.
[0205] Based on the same application concept as the above method, the embodiments of the present application also provide a carrier stacking system, the system comprises a scheduling device and a robot, the radar is deployed on the robot, the first carrier exists on the robot, and the second carrier exists on the storage location; wherein, the radar is deployed on the pinion of the robot, and moves up and down with the pinion; or, the radar is deployed on the moving part of the robot, and moves up and down with the moving part;
[0206] The scheduling device is used to obtain the configured stacking preparation position and the configured target height, and send the stacking preparation position and the target height to the robot;
[0207] The robot is used to move to the stacking preparation position, and lift the height of the radar to the target height; collect the original point cloud through the radar, obtain the first target point cloud of the symmetrical support part of the first carrier and the second target point cloud of the symmetrical support part of the second carrier based on the original point cloud, and the symmetrical support part is the contact part when the two carriers are stacked;
[0208] A grid map is established under a robot coordinate system, the grid map comprising a plurality of grids; a first target grid corresponding to a symmetric support component of the first carrier in the grid map is selected from the plurality of grids based on a position of the first target point cloud in the grid map; a second target grid corresponding to a symmetric support component of the second carrier in the grid map is selected from the plurality of grids based on a position of the second target point cloud in the grid map; a target pose of the robot is determined based on the first target grid and the second target grid; the robot is controlled to stack the first carrier onto the second carrier based on the target pose.
[0209] The above only describes the embodiments of the present application and is not intended to limit the present application. Various modifications and changes can be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the scope of claims of the present application.
Claims
1. A method of stacking vehicles, characterized by, The first carrier exists on the robot, and the second carrier exists on the storage site. The method comprises: acquiring a first target point cloud of a symmetrical supporting part of the first carrier and a second target point cloud of a symmetrical supporting part of the second carrier, the symmetrical supporting part being a contact part when the two carriers are stacked; establishing a grid map in the robot coordinate system, the grid map comprising a plurality of grids; selecting a first target grid corresponding to the symmetrical supporting part of the first carrier in the grid map from the plurality of grids based on the position of the first target point cloud in the grid map, and selecting a second target grid corresponding to the symmetrical supporting part of the second carrier in the grid map from the plurality of grids based on the position of the second target point cloud in the grid map; determining a first pose of the first carrier in the robot coordinate system based on the first target grid, and determining a second pose of the second carrier in the robot coordinate system based on the second target grid; determining a target pose of the robot based on the first pose and the second pose; controlling the robot to stack the first carrier on the second carrier based on the target pose.
2. The method of claim 1, wherein, The acquiring of the first target point cloud of the symmetrical supporting part of the first carrier and the second target point cloud of the symmetrical supporting part of the second carrier comprises: after controlling the robot to move to a configured stacking preparation position and lifting the height of the radar to a configured target height, collecting a raw point cloud by the radar, the raw point cloud comprising a point cloud of the first carrier and a point cloud of the second carrier; wherein the radar is arranged on a pinion of the robot and moves up and down with the pinion, or the radar is arranged on a moving part of the robot and moves up and down with the moving part; determining a rotation and translation matrix from a radar coordinate system to the robot coordinate system based on the pose of the radar in the robot coordinate system; converting the raw point cloud to the robot coordinate system by the rotation and translation matrix to obtain a reference point cloud in the robot coordinate system; selecting a first reference point cloud in a ROI range of the first carrier from the reference point cloud, and performing semantic segmentation on each position point in the first reference point cloud to obtain semantic information; selecting a second reference point cloud in a ROI range of the second carrier from the reference point cloud, and performing semantic segmentation on each position point in the second reference point cloud to obtain semantic information; wherein the semantic information indicates whether the position point is a symmetrical supporting part or not; selecting position points belonging to the symmetrical supporting part from the first reference point cloud to form the first target point cloud, and selecting position points belonging to the symmetrical supporting part from the second reference point cloud to form the second target point cloud.
3. The method of claim 2, wherein, Before the selecting of the first reference point cloud in the ROI range of the first carrier from the reference point cloud, the method further comprises: determining the ROI range of the first carrier based on the rough pose of the first carrier in the robot coordinate system, the length direction size of the first carrier, the width direction size of the first carrier, the target height of the radar, the length error tolerance value, the width error tolerance value and the height error tolerance value. determine a coarse pose of the second vehicle in a robot coordinate system according to the center point pose of the storage location and the pose of the robot in a world coordinate system; and determine a ROI range of the second vehicle based on the coarse pose, a length dimension of the second vehicle, a width dimension of the second vehicle, a target height of the radar, a length error tolerance value, and a width error tolerance value.
4. The method of claim 1, wherein, The selecting the first target grid corresponding to the symmetrical support component of the first vehicle in the grid map from the plurality of grids based on the position of the first target point cloud in the grid map comprises: dividing the grid map into a plurality of regions, each region including a plurality of grids; for each region, determining a first score value of each grid in the region based on a distance between the grid and the position of the first target point cloud in the grid map, and selecting a plurality of first candidate grids from the region based on the first score value of each grid; determining the first target grid from the plurality of first candidate grids of the region.
5. The method of claim 4, wherein, The determining the first score value of each grid in the region based on the distance between the grid and the position of the first target point cloud in the grid map comprises: for each position point of the first target point cloud, determining a grid coordinate of the position point in the grid map; for each grid in the region, determining a corresponding score value of the position point in the grid based on a distance between the grid and the grid coordinate; and wherein the smaller the distance, the greater the score value; summing up the first score value of each grid in the region, the first score value being a sum of the corresponding score values of each position point of the first target point cloud in the grid.
6. The method of claim 5, wherein: when the first target grid is determined from the plurality of first candidate grids of the region, each region corresponds to a first target grid, and the first target grids corresponding to the plurality of regions satisfy a constraint condition; the plurality of regions include a front-left region, a front-right region, a back-left region, and a back-right region; the first target grids corresponding to the plurality of regions satisfy the constraint condition, comprising: a distance between the first target grid Pi of the front-left region and the first target grid Pj of the front-right region satisfies a vehicle size constraint; a distance between the first target grid Pj and the first target grid Pk of the back-right region satisfies the vehicle size constraint, and an absolute value of a difference between a first angle and 90 degrees is less than a threshold value; wherein the first angle is an angle between the first target grid Pi, the first target grid Pj, and the first target grid Pk; a distance between the first target grid Pi and the first target grid Pl of the back-left region satisfies the vehicle size constraint, and an absolute value of a difference between a second angle and 90 degrees is less than a threshold value; wherein the second angle is an angle between the first target grid Pj, the first target grid Pi, and the first target grid Pl.
7. The method of claim 1, wherein: the determining the target pose of the robot based on the first pose and the second pose comprises: convert the first pose into a first rotation and translation matrix, convert the second pose into a second rotation and translation matrix, and convert the pose of the robot in the world coordinate system into a third rotation and translation matrix; determine a fourth rotation and translation matrix of the first carrier in the world coordinate system based on the first rotation and translation matrix and the third rotation and translation matrix, and determine a fifth rotation and translation matrix of the second carrier in the world coordinate system based on the second rotation and translation matrix and the third rotation and translation matrix; determine a sixth rotation and translation matrix of the robot in the first carrier coordinate system based on the fourth rotation and translation matrix and the third rotation and translation matrix, determine a target rotation and translation matrix of the target pose of the robot in the world coordinate system based on the sixth rotation and translation matrix and the fifth rotation and translation matrix, and convert the target rotation and translation matrix into the target pose of the robot in the world coordinate system.
8. The method of claim 1, wherein, The control of the robot based on the target pose to stack the first carrier onto the second carrier includes: controlling the robot to move to a target position point based on the target pose; after the robot moves to the target position point, obtaining a third target point cloud of the symmetrical supporting part of the first carrier and a fourth target point cloud of the symmetrical supporting part of the second carrier; determining whether there is a stacking deviation between the first carrier and the second carrier based on the third target point cloud and the fourth target point cloud; if not, controlling the robot to stack the first carrier onto the second carrier; if yes, returning to perform the operation of obtaining the first target point cloud of the symmetrical supporting part of the first carrier and the second target point cloud of the symmetrical supporting part of the second carrier.
9. The method of claim 8, wherein the determination of whether there is a stacking deviation between the first carrier and the second carrier based on the third target point cloud and the fourth target point cloud includes: based on the position of the third target point cloud in the grid map, selecting a third target grid corresponding to the symmetrical supporting part of the first carrier in the grid map from the grid map, and based on the position of the fourth target point cloud in the grid map, selecting a fourth target grid corresponding to the symmetrical supporting part of the second carrier in the grid map from the grid map; determining a third pose of the first carrier in the robot coordinate system based on the third target grid, and determining a fourth pose of the second carrier in the robot coordinate system based on the fourth target grid; if the deviation between the third target grid and the first target grid is less than a threshold value, the deviation between the fourth target grid and the second target grid is less than a threshold value, the deviation between the third pose and the first pose is less than a threshold value, and the deviation between the fourth pose and the second pose is less than a threshold value, it is determined that there is no stacking deviation between the first carrier and the second carrier.
10. A vehicle stacking device characterized by comprising: There is a first carrier on the robot and a second carrier on the storage location, and the device includes: The acquisition module is configured to acquire a first target point cloud of a symmetrical supporting component of the first carrier and a second target point cloud of a symmetrical supporting component of the second carrier, the symmetrical supporting component being a contact component when the two carriers are stacked. The selection module is configured to establish a grid map in a robot coordinate system, the grid map including a plurality of grids; select a first target grid corresponding to the symmetrical supporting component of the first carrier in the grid map from the plurality of grids based on a position of the first target point cloud in the grid map; and select a second target grid corresponding to the symmetrical supporting component of the second carrier in the grid map from the plurality of grids based on a position of the second target point cloud in the grid map. The determination module is configured to determine a first pose of the first carrier in the robot coordinate system based on the first target grid, determine a second pose of the second carrier in the robot coordinate system based on the second target grid, and determine a target pose of the robot based on the first pose and the second pose. The control module is configured to control the robot to stack the first carrier onto the second carrier based on the target pose.
11. An electronic device, comprising: The system includes a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor. The processor is configured to execute the machine-executable instructions to implement the method of any one of claims 1-9. The system includes a scheduling device and a robot, the robot being provided with a radar, the first carrier being present on the robot, and the second carrier being present on a storage location; wherein the radar is arranged on a pinion of the robot and moves up and down with the pinion, or the radar is arranged on a moving component of the robot and moves up and down with the moving component.
12. A carrier stacking system characterized by, The scheduling device is configured to acquire a configured stacking preparation position and a configured target height, and send the stacking preparation position and the target height to the robot. The robot is configured to move to the stacking preparation position, lift the height of the radar to the target height, acquire a first target point cloud of a symmetrical supporting component of the first carrier and a second target point cloud of a symmetrical supporting component of the second carrier through the radar, the symmetrical supporting component being a contact component when the two carriers are stacked. A grid map is established in a robot coordinate system, the grid map including a plurality of grids; a first target grid corresponding to the symmetrical supporting component of the first carrier in the grid map is selected from the plurality of grids based on a position of the first target point cloud in the grid map; a second target grid corresponding to the symmetrical supporting component of the second carrier in the grid map is selected from the plurality of grids based on a position of the second target point cloud in the grid map; a target pose of the robot is determined based on the first target grid and the second target grid; and the robot is controlled to stack the first carrier onto the second carrier based on the target pose.
Citation Information
Patent Citations
Robot, control method and control device thereof, calibration method and calibration control device, and storage medium
CN114055444A
Raster map updating method and device, electronic equipment and storage medium
CN114299145A