Box palletizing methods, robots and computer program products
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-26
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]本申请实施例提供了一种箱体码垛方法、机器人及计算机程序产品,以解决现有技术存在的考虑不够全面,难以满足实际需求的问题
本申请实施例提供的一种箱体码垛方法,通过确定当前垛层数和当前码垛箱号;基于当前垛层数和当前码垛箱号,确定放箱策略和箱体对齐方式;放箱策略包括机器人在对当前码垛箱号对应的当前箱体执行放箱操作时的机器人位姿、设定箱体位姿以及放箱偏移程度;基于放箱策略和箱体对齐方式,对当前箱体执行放箱操作。本申请通过垛层数、箱体序号精准匹配对应的放箱位姿与放箱偏移程度,从而减少了传统固定码放模式下箱体错位、歪斜、偏位问题的出现。同时,将放箱位姿、放箱偏移程度、箱体对齐方式、逻辑化绑定垛层与码垛箱号,使得机器人可自动执行对应动作,无需人工逐箱干预,从而提高了码垛效率。
Smart Images

Figure CN122561616A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of computer technology, and in particular relates to a box palletizing method, a robot, and a computer program product. Background Technology
[0002] In practical applications, palletizing refers to the systematic stacking of goods in a prescribed manner. Currently, robots are used for palletizing, replacing manual handling of boxes (such as containers), which can reduce the consumption of human and time resources in palletizing work.
[0003] However, existing robots typically stack boxes with different serial numbers according to a fixed pose, which is not comprehensive enough and cannot meet actual needs. Summary of the Invention
[0004] This application provides a box palletizing method, a robot, and a computer program product to address the problem that existing technologies are not comprehensive enough and cannot meet practical needs.
[0005] In a first aspect, embodiments of this application provide a box palletizing method applied to a robot, the method comprising: Determine the current stack layer number and the current palletized box number; Based on the current number of stack layers and the current palletized box number, determine the box placement strategy and box alignment method; the box placement strategy includes the robot pose when the robot performs the box placement operation on the current box corresponding to the current palletized box number, the set box pose, and the box placement offset degree. Based on the container placement strategy and container alignment method, perform container placement operation on the current container.
[0006] Optionally, the box alignment method includes the reference item that the current box needs to be visually aligned with; based on the box placement strategy and box alignment method, the box placement operation is performed on the current box, including: Based on the robot's pose, the current box is placed at an initial position on the current stack layer at a distance from the position of the rough box; the position of the rough box is determined by the set pose of the current box in the current stack layer. Determine the target placement posture of the current box based on reference objects; Adjust the current box based on the target placement pose; Based on the box alignment method and the degree of box placement offset, the current box is placed in the target area of the current stack layer; the target area refers to the position area corresponding to the current palletized box number in the current stack layer.
[0007] Optionally, based on the box alignment method and the box placement offset, the current box is placed in the target area of the current stack layer, including: The robot's box-placing method is determined based on its pose; Based on the box placement method and box alignment method, control the edge of the reference item that the current box is aligned with; In response to the box placement method being two-handed placement with zero offset, the current box is placed in the target area; In response to the box placement method being single-handed placement and the box placement offset being greater than zero, after placing the current box at the first position away from the side box placement offset, the current box is controlled to move towards the side box placement offset. The side box refers to the box that is in the same stack as the current box and is located to the side of the current box. The side includes the left or right side, and both the left and right sides are determined by the robot's orientation when controlling the current box.
[0008] Optionally, based on the box placement method and box alignment method, control the edge of the reference item that the current box aligns with, including: In response to the box placement method being two-handed placement, the current box is aligned left and right with the reference item based on the edge of the reference item. After the current box is aligned left and right with the reference item, the robot controls the front and back alignment of the current box with the reference item based on the edge of the reference item; the front and back alignment is determined by the orientation of the robot when controlling the current box.
[0009] Optionally, based on the edge of the reference item, control the front-to-back alignment of the current box with the reference item, including: If there is no box placed in front of the current box, the alignment operation is stopped if the current position of the current box matches the target placement position during the process of aligning the current box with the reference item. In response to the presence of an existing box in front of the current box, if the contact between the current box and the existing box meets the set conditions during the alignment process between the current box and the reference item, the alignment operation is stopped.
[0010] Optionally, based on the box placement method and box alignment method, control the edge of the reference item that the current box aligns with, including: In response to the fact that the current stack layer is not the first layer, the robot is controlled to align the current box with the edge of the reference box of the first reference box in the box placement mode; the first reference box is the box with the same stacking box number as the current stacking box in the first stack layer below the current stack layer. In response to the current stack layer being the first layer and the current pallet box number not being the specified pallet box number, the robot is controlled to align the current box with the edge of the reference box of the second reference box in the box placement mode. The specified pallet box number refers to the box number that needs to be placed in the middle area of the current stack layer, and the second reference box refers to the box that is adjacent to the coarse box and has the specified pallet box number. In response to the current stack layer being the first layer and the current pallet box number being the specified pallet box number, the robot is controlled to align the current box with the pallet reference edge in the box placement mode; the pallet refers to the storage device used to place all boxes, and the pallet reference edge refers to the edge of the area in the pallet used to place the current box.
[0011] Optionally, the box alignment method includes a reference item that the current box needs to be visually aligned with; after performing a box placement operation on the current box based on the box placement strategy and box alignment method, the method includes: Based on the reference object's edge and the target placement pose of the current box, the current box is aligned to obtain the alignment detection result. In response to the alignment detection result being incomplete, the placement posture of the current cabinet is adjusted based on the incomplete area of the current cabinet to align the current cabinet.
[0012] Optionally, after performing a container placement operation on the current container based on the container placement strategy and container alignment method, the method includes: In response to the fact that the current palletized box number is not the last palletized box number in the set box placement order, the steps of determining the current stack layer number and the current palletized box number, as well as subsequent steps, continue for the next palletized box number until the last palletized box number in the set box placement order has been palletized; the set box placement order is used to describe the placement order of the boxes corresponding to different palletized box numbers in each stack layer; the next palletized box number refers to the first palletized box number after the current palletized box number in the set box placement order; After the current stack layer corresponding to the current stack layer number has been stacked, in response to the fact that the current stack layer is not the last stack layer, the steps of determining the current stack layer number and the current stack box number, as well as subsequent steps, continue to be performed on the next stack layer until all stack layers have been stacked; the next stack layer refers to the first stack layer located above the current stack layer.
[0013] Secondly, embodiments of this application provide a box palletizing device for use with a robot, the device comprising: The stack layer determination unit is used to determine the current stack layer number and the current palletized box number; The strategy determination unit is used to determine the box placement strategy and box alignment method based on the current stack layer number and the current palletized box number. The box placement strategy includes the robot pose when the robot performs the box placement operation on the current box corresponding to the current palletized box number, the set box pose, and the box placement offset degree. The execution unit is used to perform a box placement operation on the current box based on the box placement strategy and box alignment method.
[0014] Thirdly, embodiments of this application provide a robot, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the box palletizing method as described in any one of the first aspects above.
[0015] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the box palletizing method as described in any one of the first aspects above.
[0016] Fifthly, embodiments of this application provide a computer program product that, when run on a robot, enables the robot to execute the box palletizing method described in any of the first aspects above.
[0017] The beneficial effects of the embodiments of this application compared with the prior art are: This application provides a box palletizing method that determines the current stack layer number and the current box number; based on the current stack layer number and the current box number, it determines a box placement strategy and a box alignment method; the box placement strategy includes the robot pose when performing a box placement operation on the current box corresponding to the current box number, setting the box pose, and the box placement offset; based on the box placement strategy and the box alignment method, it performs a box placement operation on the current box. This application reduces the occurrence of box misalignment, skewing, and deviation problems in the traditional fixed stacking mode by accurately matching the stack layer number and box number with the corresponding box placement pose and offset. At the same time, by logically binding the box placement pose, box placement offset, box alignment method, and stack layer with the box number, the robot can automatically execute the corresponding actions without manual intervention for each box, thereby improving palletizing efficiency. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a flowchart illustrating the implementation of a box stacking method provided in an embodiment of this application; Figure 2 This is a schematic diagram of the placement area of each box corresponding to each stack layer provided in one embodiment of this application; Figure 3 This is a flowchart illustrating the specific implementation of step S103 in a box stacking method provided in an embodiment of this application; Figure 4 This is a flowchart illustrating the specific implementation of step S204 in a box stacking method provided in an embodiment of this application; Figure 5 This is a flowchart illustrating the specific implementation of step S302 in a box stacking method provided in an embodiment of this application; Figure 6 This is a flowchart illustrating the specific implementation of step S302 in the box stacking method provided in another embodiment of this application; Figure 7 This is a flowchart illustrating the implementation of a box stacking method provided in another embodiment of this application; Figure 8 This is a flowchart of the pallet layer box stacking process provided in one embodiment of this application; Figure 9 and Figure 9 (continued) This is a flowchart illustrating the overall stacking process of all stack layers of boxes provided in one embodiment of this application; Figure 10 This is a schematic diagram of the structure of a box palletizing device provided in one embodiment of this application; Figure 11 This is a schematic diagram of the structure of a robot provided in one embodiment of this application. Detailed Implementation
[0020] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0021] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0022] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0023] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0024] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0025] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0026] Please see Figure 1 , Figure 1 This is a flowchart illustrating the implementation of a box palletizing method according to an embodiment of this application. In this embodiment, the object executing the box palletizing method is a robot.
[0027] The box can be a material box.
[0028] like Figure 1 As shown, a box stacking method provided in one embodiment of this application may include steps S101 to S103, which are described in detail below: In S101, determine the current stack layer number and the current pallet box number.
[0029] In this embodiment of the application, when the robot is performing a box palletizing task and needs to perform a box placement operation on a certain box, it can determine the current stack layer number and the current palletized box number in real time.
[0030] The current stack number refers to the stacking level number that the robot is currently performing the box placement operation during the box stacking task.
[0031] In some possible embodiments, the numbering rule for the stacking layers can be: the bottom layer carried by the pallet is the first layer (i.e., the pallet layer), and the layers increase sequentially upwards to the second layer, the third layer, and so on, until the top layer of the entire stack (i.e., the last stack layer).
[0032] It should be noted that the second layer, the third layer, and so on, up to the top layer of the entire stack, can all be referred to as box layers.
[0033] For example, assuming the total number of palletizing layers is 5, and the robot is placing the third layer of boxes, then the current number of palletizing layers is 3.
[0034] The aforementioned pallet refers to a storage device used to place all boxes.
[0035] In this embodiment, the current palletized box number refers to the box number currently being placed in the current pallet layer. The box number for each box can be set on the outer surface of the box for robot detection.
[0036] In some possible embodiments, since the robot typically places all the boxes on each stack layer sequentially according to a set box placement order, in this embodiment, the robot can determine the current stacking box number based on the set box placement order and the number of the previous stacked box placed at the current moment. The set box placement order can be determined according to actual needs and is not limited here.
[0037] For example, suppose each stack layer needs to hold 6 boxes, numbered 1, 2, 3, 4, 5, and 6, and the placement area for the 6 boxes in each stack layer is as follows: Figure 2 As shown, since boxes numbered 6 and 5 are in the middle, placing the middle boxes first can improve the stacking regularity of this layer. Therefore, the box placement order can be set as: 6→5→4→3→2→1.
[0038] The areas where the boxes numbered 6 and 5 are located are the middle areas of each stack layer.
[0039] In S102, the box placement strategy and box alignment method are determined based on the current stack layer number and the current palletized box number.
[0040] In this embodiment of the application, after determining the current number of stack layers and the current pallet box number, the robot can determine the current box placement strategy and box alignment method from the pre-generated pallet layer box placement strategy and box layer box placement strategy based on the current number of stack layers and the current pallet box number.
[0041] The pallet layer box placement strategy includes: the robot pose when the robot performs the box placement operation on each palletized box number, the set box pose, and the box placement offset.
[0042] It should be noted that robot pose can include the position and orientation angle of the robotic arm and end effector in space, as well as the gripping method of the box.
[0043] The grasping methods include, but are not limited to: holding with both hands along the long side, hooking with both hands along the short side, and pushing with the left hand in a certain position.
[0044] The two-handed long-side gripping robot adopts a double-sided clamping mechanism, which clamps the box from the outside of the two long sides along the length of the box.
[0045] The two-handed short-side hooking robot adopts a double-sided clamping mechanism, which hooks and clamps the box from the two short sides along the width of the box.
[0046] The left-handed push-finger robot mainly uses a single-sided left-side actuator. It relies on the left-side push plate / push rod to apply thrust from one side of the box, and works with the limiting structure to complete the single-arm operation posture for positioning and returning to the original position.
[0047] It should be noted that left and right can be determined by the robot's orientation when controlling a certain box.
[0048] Setting the container position refers to the pre-configured position of each container on the pallet layer.
[0049] The degree of box placement offset refers to the offset distance between the actual placement position of each box and the desired placement position.
[0050] In this embodiment, the box placed in the middle area of the pallet layer can be grasped by holding it with both hands along the long side, and the box placement offset is zero. The box placed in other areas of the pallet layer can be grasped by determining the final grasping method from both hands along the short side and the left hand in a push position, depending on whether there are other boxes on the side of the box. The box placement offset is determined based on the final grasping method, and the final box placement strategy is determined.
[0051] The other areas of the pallet layer refer to the pallet areas other than the aforementioned intermediate area.
[0052] In some possible embodiments, when there are other boxes on the side of a box placed in other areas of the pallet layer, the final placement strategy for that box may be a left-handed push gripping method, with a non-zero placement offset. When there are no other boxes on the side of a box placed in other areas of the pallet layer, the final placement strategy for that box may be a two-handed short-side hook gripping method, with a zero placement offset.
[0053] For example, each stack layer requires the placement of 6 boxes, numbered 1, 2, 3, 4, 5, and 6, and the placement area for the 6 boxes in each stack layer is as follows: Figure 2 As shown in the example, the placement strategy for each box can be as follows: Number 6: Hold with both arms along the long side with zero deviation; Number 5: Holding with both arms along the long side with zero deviation; Number 4: Both arms are held short and with zero deviation; No. 3: Left-hand position push and non-zero offset (such as the degree of offset when placing the box to the left); Number 2: Both arms are held short and with zero deviation; No. 1: Left-hand position push and non-zero offset (such as the degree of offset when placing the box to the left).
[0054] In this embodiment of the application, the box layer placement strategy includes: using the target placement pose saved with the same pallet box number in the previous stack layer, referencing the pallet layer placement strategy for each box, and a navigation-free positioning process.
[0055] The target placement posture specifically refers to the posture after the box has been placed and no further adjustments are needed.
[0056] It should be understood that the navigation-free movement process can be as follows: when the robot has completed the stacking of all boxes in the previous stack and starts the task of stacking boxes in the next stack, it no longer needs to perform movement processes such as visual navigation, coordinate repositioning, and large-scale path navigation separately. It can directly use the robot's reference pose, motion trajectory and operation coordinate system from the previous stack to carry out the box placement operation in the next stack.
[0057] Since the box layer placement strategy needs to refer to the pallet layer placement strategy, the placement strategy determined in step S102 may include the robot pose, the set box pose, and the placement offset degree when the robot performs the placement operation on the current box corresponding to the current palletized box number.
[0058] In this embodiment of the application, the box alignment method includes reference items that each box needs to be visually aligned with, as well as alignment rules.
[0059] The reference items include, but are not limited to: boxes and pallets.
[0060] When the current stack layer is the first layer and the current pallet box number is the pallet box number located in the middle area of the pallet, the robot can determine that the reference item is the pallet; when the current stack layer is the first layer and the current pallet box number is not the pallet box number located in the middle area of the pallet, the robot can determine that the reference item is the box; when the current stack layer is not the first layer, the robot can determine that the reference item is the box with the same pallet box number in the previous stack layer.
[0061] Alignment rules include alignment direction, alignment direction execution order, and alignment stopping conditions.
[0062] Alignment directions include, but are not limited to: left and right, and front and back.
[0063] The alignment direction execution order describes the execution order of left-right alignment and front-back alignment. Front and back can be determined by the robot's orientation when controlling the current housing.
[0064] In some possible embodiments, the alignment direction execution order can be determined based on the robot's box-placing method. This method includes two-handed box placement and one-handed box placement.
[0065] In this embodiment, when the robot places boxes using both hands, the robot can determine the box alignment execution order as follows: first align left and right, then align front and back. When the robot places boxes using one hand, since placing boxes with one hand indicates that there are already boxes placed on the side of the current box, in order to avoid affecting the pose of the boxes already placed on the side during the alignment process, the robot can determine the box alignment execution order as follows: first align front and back, then align left and right.
[0066] The alignment stopping condition can be determined according to actual needs, and there are no restrictions here.
[0067] In S103, based on the box placement strategy and box alignment method, the box placement operation is performed on the current box.
[0068] In this embodiment, after obtaining the box placement strategy and box alignment method corresponding to the current palletized box number, the robot can perform box placement operation on the current box based on the box placement strategy and box alignment method.
[0069] Specifically, the robot can adjust its height to the current palletizing layer and navigate to the navigation point within that layer for placing the current palletized box number, i.e., navigate to the target area for placing the current palletized box number. Then, based on the determined box placement strategy and box alignment method, the robot can perform a box placement operation to place the current box in the target area of the current palletizing layer.
[0070] The target area refers to the location area corresponding to the current palletized box number in the current stack layer.
[0071] In one embodiment of this application, when the box alignment method includes a reference item that the current box needs to be visually aligned with, the robot can specifically do so by means of... Figure 3 Steps S201 to S204 shown implement step S103, as detailed below: In S201, based on the robot's pose, the current box is placed at an initial position on the current stack, at a distance from the position of the rough box.
[0072] In this embodiment, since the box falls directly onto the current stacking layer, it will cause hard contact impact between the box and the current stacking layer and adjacent boxes, which also increases the difficulty of subsequent fine-tuning. Therefore, the robot can place the current box at an initial position on the current stacking layer at a distance set from the position of the rough box, based on the robot's pose, that is, to suspend the current box.
[0073] The position of the rough box is determined by the set box posture of the current box in the current stack layer.
[0074] The height can be set according to actual needs, and there is no limitation here. For example, the height can be set to 1cm.
[0075] In S202, the target placement pose of the current box is determined based on the reference object.
[0076] In this embodiment, after the current box is suspended and placed, the robot can use its own camera to collect the edge of the reference object corresponding to the current box in real time, and determine the target placement posture of the current box based on the edge of the reference object.
[0077] Among them, the edge of the reference item refers to the edge of the reference item that is adjacent to the current box, that is, the edge that will come into contact with the current box.
[0078] In some possible embodiments, the robot can use the edge of the reference item as the reference edge, and calculate the theoretical plane coordinates of the center, four sides and four corners of the current box in the plane of the current stack based on the size of the location area corresponding to the current palletized box number and the external dimensions of the current box. It can also determine the vertical height coordinates of the current box based on the height of the current box and the height of the current stack.
[0079] Then, the robot can compare the parallelism of the edges adjacent to the reference edge in the current box, calculate the deflection angle and tilt angle of the current box relative to the reference edge, and determine the theoretical attitude angle of the current box without deflection based on the direction of the reference edge.
[0080] In this embodiment, the robot can combine the above-mentioned theoretical plane coordinates and vertical height coordinates to obtain the spatial position parameters of the current box, and combine the above-mentioned deflection angle and tilt angle, which are also theoretical attitude angles, to obtain the attitude angle parameters of the current box.
[0081] The robot can then combine the aforementioned spatial position parameters and attitude angle parameters to obtain the target placement pose of the current box.
[0082] In S203, the current box is adjusted based on the target placement pose.
[0083] In this embodiment, after obtaining the target placement pose of the current box, the robot can compare the current pose of the current box with the target placement pose to obtain the difference between the two poses. Then, the robot can adjust the current box based on this difference.
[0084] In S204, based on the box alignment method and the box placement offset, the current box is placed in the target area of the current stack layer.
[0085] In this embodiment, after the robot adjusts the current box based on the target placement pose, the robot can move the current box based on the box alignment method and the degree of box placement offset to place the current box in the target area of the current stack layer.
[0086] Combining steps S201-S204, this embodiment first stops the box at an initial position at a specified height above the coarse box position, instead of placing it directly on the current stacking layer. This significantly reduces the impact of hard contact between the box and the stacking layer or adjacent boxes, and also reduces the difficulty of subsequent fine-tuning. Then, the target placement posture is calibrated according to the reference item to make posture fine-tuning, abandoning the mode of high-precision movement throughout the process and balancing the operation speed and placement accuracy. After completing the box posture fine-tuning, the current box is placed in the corresponding target area based on the box alignment method and the degree of box offset, so that the box edges, corners, and relative positions can conform to the preset layout rules, and the alignment between the same layer and between layers is neat, resulting in a high degree of consistency in the shape of the stack.
[0087] In one embodiment of this application, the robot can specifically be driven by, for example... Figure 4 Steps S301 to S304 shown implement step S204, as detailed below: In S301, the robot's box-placing method is determined based on the robot's pose.
[0088] In S302, based on the box placement method and box alignment method, the edge of the reference item that the current box is aligned with is controlled.
[0089] In one implementation of this embodiment, the robot can determine the robot's grasping method for the current box based on the robot's pose, and thus determine the robot's box placement method.
[0090] In this embodiment, after determining the box placement method, the robot can control the current box to align with the edge of the reference item based on the box alignment method.
[0091] In one embodiment of this application, when the robot places the box using both hands, the robot can specifically do so by... Figure 5 Steps S401 to S402 shown implement step S302, as detailed below: In S401, in response to the box placement method being two-handed box placement, the current box is aligned left and right with the reference item based on the edge of the reference item.
[0092] In this embodiment, in conjunction with step S102, when the robot detects that the box placement method is two-handed box placement, it means that the alignment direction execution order is first left and right alignment and then front and back alignment. Therefore, the robot can control the current box to be aligned left and right with the reference item based on the edge of the reference item.
[0093] During the left-right alignment process, the robot can detect in real time whether the current box is aligned with the reference item, and if it detects that the left and right are not aligned, it will continue to adjust the left and right of the current box until it is aligned.
[0094] In S402, after the current box is aligned horizontally with the reference item, the front-back alignment of the current box with the reference item is controlled based on the edge of the reference item.
[0095] In this embodiment, after the current box is aligned left and right with the reference item, the robot can continue to control the current box to be aligned front and back with the reference item based on the edge of the reference item.
[0096] During the alignment process, the robot can detect in real time whether the current box is aligned with the reference item. If it detects that the box is not aligned, it will continue to adjust the front and back edges of the current box until they are aligned.
[0097] Combining steps S401 to S402, this embodiment aligns the boxes sequentially in two directions, left and right, and front and back, using the edge of the reference item as a unified benchmark. This avoids positional interference caused by simultaneous adjustments in multiple directions and reduces errors in box alignment.
[0098] In one embodiment of this application, the robot may specifically implement step S402 according to the following steps, as detailed below: If there is no box placed in front of the current box, the alignment operation is stopped if the current position of the current box matches the target placement position during the process of aligning the current box with the reference item. In response to the presence of an existing box in front of the current box, if the contact between the current box and the existing box meets the set conditions during the alignment process between the current box and the reference item, the alignment operation is stopped.
[0099] In this embodiment, when the robot aligns the current box with the reference item, it can first detect whether there is a box already placed in front of the current box. When the robot detects that there is no box placed in front of the current box, it can perform visual forward localization. That is, while controlling the current box to align with the reference object, it can detect in real time whether the current pose of the current box matches the target placement pose, so as to detect whether there is a difference between the current pose of the current box and the target placement pose.
[0100] In one embodiment of this application, when the robot detects that the difference between the current pose of the current box and the target placement pose is less than a set difference, it can determine that there is no difference between the current pose of the current box and the target placement pose, that is, the current pose of the current box matches the target placement pose. This indicates that the current box and the reference item are aligned front to back, that is, the front and back poses are consistent. Therefore, the robot can stop the alignment operation, that is, stop the front and back alignment.
[0101] The set difference can be determined according to actual needs, and there are no restrictions here.
[0102] In another embodiment of this application, when the robot detects that the difference between the current pose of the current box and the target placement pose is greater than or equal to a set difference, it can determine that there is a difference between the current pose of the current box and the target placement pose, that is, the current pose of the current box does not match the target placement pose, that is, the current box = front and back poses are inconsistent, indicating that the current box and the reference item are not aligned front and back at this time. Therefore, the robot can continue to adjust the front and back poses of the current box until the front and back poses are consistent, and then stop the alignment operation.
[0103] In this embodiment, when the robot detects that there is an existing box in front of the current box, it can detect the forward force value of the robot in real time while controlling the current box to align with the reference item, so as to detect whether the contact between the current box and the existing box meets the set conditions.
[0104] The set conditions can be either that the front edge of the current box is against the edge of the reference item, or that the front edge of the current box is in contact with the edge of the reference item.
[0105] It should be understood that proper contact means that the front edge of the current box is completely aligned with the edge of the reference object.
[0106] In one embodiment of this application, when the robot detects a sudden increase in the forward force value through its own force sensor, it indicates that the current box has come into contact with the placed box. In other words, the contact between the current box and the placed box meets the set conditions, that is, the current box and the reference item are aligned front to back at this time. Therefore, the robot can stop the alignment operation.
[0107] In another embodiment of this application, when the robot detects that the forward force value has not increased suddenly through its own force sensor, it means that the current box has not yet made contact with the placed box. In other words, the contact between the current box and the placed box does not meet the set conditions, that is, the current box and the reference item are not aligned. Therefore, the robot can continue to force-control the current box to move forward until the forward force value increases suddenly, at which point the alignment operation stops.
[0108] In conjunction with the above embodiments, this embodiment, when there is no box in front of the current box, can directly use the target pose as the alignment termination basis, strictly aligning with the edge of the reference item for positioning, ensuring accurate front-to-back positioning of the box and a regular overall stack outline. When there is a box in front of the current box, the stopping condition is whether the contact between the boxes meets the set conditions, ensuring seamless contact between the current box and the box in front, eliminating gaps, improving the overall stability of the stack, and preventing box shaking. It is evident that this embodiment, by distinguishing between the two working conditions of whether or not a box has been placed in front, sets targeted alignment termination rules, making it compatible with stacking scenarios where empty spaces and adjacent boxes coexist, resulting in stronger adaptability.
[0109] In another embodiment of this application, when the robot places the box using a single-handed method, the robot can also implement step S302 through the following embodiment: In this embodiment, the robot can control the current box to align with the reference object based on the edge of the reference object.
[0110] During the alignment process, the robot can detect in real time whether the current box is initially aligned with the reference item. If it detects that the box is not initially aligned, it can adjust the front and back edges of the current box until it is initially aligned.
[0111] In one embodiment of this application, in order to further detect whether the current box is indeed aligned with the reference item, after the robot detects that the current box is initially aligned with the reference item, since placing the box with one hand indicates that there is a box already placed in front of the current box, the robot can use a force sensor to detect in real time whether the front edge of the current box is pressing against the box already placed, or whether the front edge of the current box is in contact with the box already placed.
[0112] In this embodiment, when the robot detects that the front edge of the current box has abutted against the placed box, or that the front edge of the current box has made contact with the placed box, it can determine whether the current box is indeed aligned with the reference item.
[0113] When the robot detects that the front edge of the current box is not abutting against the placed box, or that the front edge of the current box is not in contact with the placed box, it can continue to adjust the selected box by force control until the front edge of the current box abuts against the placed box, or that the front edge of the current box is in contact with the placed box.
[0114] In this embodiment, after the robot detects that the current box and the reference item are aligned front to back, since the robot is placing the box with one hand at this time, that is, the degree of box placement offset is not zero. Therefore, the robot can achieve left-right alignment between the current box and the reference item during the execution of step S304.
[0115] In yet another embodiment of this application, the robot can also be operated by, for example... Figure 6 Steps S501 to S503 shown implement step S302, as detailed below: In S501, in response to the current stack layer not being the first layer, the robot is controlled to align the current box with the edge of the reference box of the first reference box in the box placement mode.
[0116] In this embodiment, in conjunction with step S102, when the robot detects that the current stack layer number is not the first layer, it indicates that the current box needs to be visually aligned with the box with the same stack number in the previous stack layer. Therefore, the robot can align the current box with the edge of the reference box of the first reference box under the determined box placement method.
[0117] The first reference box is the box with the same palletizing box number as the current palletizing box in the first stack below the current stack.
[0118] In S502, in response to the current stack layer being the first layer and the current pallet box number not being the specified pallet box number, the robot is controlled to align the current box with the edge of the reference box of the second reference box in the box placement mode.
[0119] In this embodiment, in conjunction with step S102, when the robot detects that the current stack layer is the first layer and the current pallet box number is not the specified pallet box number, it indicates that the current box needs to be visually aligned with the pallet box number of the box placed in the middle area of the current stack layer. Therefore, the robot can align the current box with the edge of the reference box of the second reference box under the determined box placement method.
[0120] The specified pallet box number refers to the pallet box number that needs to be placed in the middle area of the current stack layer.
[0121] The second reference box refers to the box that is adjacent to the current box in the coarse box position and has a specified palletizing box number.
[0122] In S503, in response to the current stack layer being the first layer and the current pallet box number being the specified pallet box number, the robot is controlled to align the current box with the pallet reference edge in the box placement mode.
[0123] In this embodiment, in conjunction with step S102, when the robot detects that the current stack layer is the first layer and the current pallet box number is the specified pallet box number, it indicates that the current box needs to be visually aligned with the pallet. Therefore, the robot can align the current box with the reference edge of the pallet under the determined box placement method.
[0124] The pallet reference edge refers to the edge of the area on the pallet used to place the current box.
[0125] Combining steps S501 to S503, in this embodiment, when it is not the first layer, the upper layer with the same numbered box is directly used as a reference to achieve precise alignment between layers, so that the upper and lower boxes are in corresponding positions, the stack is arranged longitudinally in a regular manner, and the staggered / stacked shape is standard. When it is the first layer, the designated middle box and ordinary boxes are distinguished. The middle box is directly aligned with the edge of the pallet to solidify the center benchmark of the whole stack. The remaining boxes are arranged outward with the middle benchmark box as a reference, which can ensure the regularity of the bottom outline from the source and improve the stability of the whole stack foundation.
[0126] In S303, in response to the box placement method being two-handed box placement with zero box offset, the current box is placed in the target area.
[0127] In this embodiment, when the robot detects that it is placing the box with both hands and the box offset is zero, since the current box pose has been adjusted to the target placement pose, it means that the current box can be placed directly. Therefore, the robot can directly place the current box in the target area based on the target placement pose.
[0128] In S304, in response to the box placement method being single-handed box placement and the box placement offset being greater than zero, after placing the current box at the first position away from the side box by the box placement offset, the current box is controlled to move towards the side box by the box placement offset.
[0129] In this embodiment, when the robot detects that its box placement method is single-handed box placement and the box placement offset is greater than zero, the robot can place the current box at the first position away from the side box's box placement offset, and then control the current box to move towards the side box's box placement offset.
[0130] Among them, the side box refers to the box that is in the same stack as the current box and is located on the side of the current box.
[0131] Sides include the left or right side.
[0132] The left and right sides are determined by the robot's orientation when controlling the current container.
[0133] In one embodiment of this application, after the robot controls the degree of offset of the current box to the side box, it can perform left and right alignment detection between the current box and the side box.
[0134] In one implementation of this embodiment, the robot can use its own force sensor to detect whether the current box is pressing against the side box, or whether the side edge of the current box is in contact with the side edge of the side box, thereby achieving left-right alignment detection between the current box and the side box.
[0135] In this embodiment, when the robot detects that the current box has pressed against the side box, or that the side edge of the current box has made contact with the side edge of the side box, it can determine that the current box and the side box are aligned left and right. At this time, the robot can complete the box placement operation.
[0136] In another embodiment of this application, when the robot detects that the current box is not against the side box, or that the side edge of the current box is not in contact with the side edge of the side box, it can determine that the current box and the side box are not aligned left and right. Therefore, the robot can visually detect whether the front and back coordinates of the current box are parallel to the front and back coordinates of the reference item, as well as the coordinate difference between the real-time pose of the current box and the target placement pose.
[0137] In this embodiment, when the robot detects that the difference between the front-back coordinates of the current box and the front-back coordinates of the side box is greater than a preset difference (i.e., the front-back coordinates of the current box are not parallel to those of the side box), or when the difference between the real-time pose of the current box and the target placement pose is greater than a set coordinate difference (i.e., there is a coordinate difference between the real-time pose of the current box and the target placement pose), the robot can determine that the error has exceeded the limit, meaning that the current box and the reference item are not aligned. Therefore, the robot can fine-tune the real-time pose of the current box until the front box and the reference item are aligned.
[0138] Combining steps S301-S304, this embodiment uses the edge of the reference item as a visual alignment benchmark, replacing purely mechanical positioning. This allows for real-time correction of robot movement deviations and box shape deviations, ensuring uniform box alignment and neat stacking. Furthermore, different placement logics are implemented for the two box-holding methods, applicable to various box-holding scenarios. In addition, when placing boxes with both hands and zero offset, they fall directly to the target area, eliminating the need for repositioning and improving efficiency. When placing boxes with one hand and some offset, a pre-existing offset distance is allowed before lateral approach, preventing displacement of the side boxes caused by two-handed placement and ensuring a tight fit between the box and the side boxes without gaps. This prevents box shaking and displacement after stacking, improving the overall stack structural strength.
[0139] As can be seen from the above, the box palletizing method provided in this application determines the current stack layer number and the current palletized box number; based on the current stack layer number and the current palletized box number, it determines the box placement strategy and box alignment method; the box placement strategy includes the robot pose when the robot performs the box placement operation on the current box corresponding to the current palletized box number, the set box pose, and the box placement offset degree; based on the box placement strategy and box alignment method, it performs the box placement operation on the current box. This application reduces the occurrence of box misalignment, skewing, and deviation problems in the traditional fixed stacking mode by accurately matching the stack layer number and box number with the corresponding box placement pose and box placement offset degree. At the same time, by logically binding the box placement pose, box placement offset degree, box alignment method, and stack layer with the palletized box number, the robot can automatically execute the corresponding actions without manual intervention for each box, thereby improving palletizing efficiency.
[0140] Please see Figure 7 , Figure 7 This is a flowchart illustrating the implementation of a box stacking method provided in another embodiment of this application. Relative to... Figure 1 In a corresponding embodiment, when the box alignment method includes a reference item that the current box needs to be visually aligned with, this embodiment may further include S601~S602 after S103, as detailed below: In S601, the current box is aligned based on the edge of the reference object and the target placement pose of the current box, and the alignment detection result is obtained.
[0141] In this embodiment, after completing the placement operation of the current box, in order to further detect whether the current box is stacked neatly, the robot can perform stacking neatness detection based on the edge of the reference item and the target placement pose of the current box, and obtain the stacking neatness detection result.
[0142] The stacking alignment detection result is used to describe whether the current boxes are stacked in an orderly manner.
[0143] In one embodiment of this application, when the robot detects that the stacking detection result is stacked, it indicates that the stacking operation for the current box has ended. Therefore, the robot can continue to execute steps S101 to S103 for the next box until all boxes have been stacked.
[0144] In S602, in response to the alignment detection result being not aligned, the placement posture of the current cabinet is adjusted based on the non-aligned area of the current cabinet to align the current cabinet.
[0145] In this embodiment, when the robot detects that the alignment detection result is not aligned, it means that the current box needs to be aligned. Therefore, the robot can adjust the current placement posture of the current box based on the unaligned area of the current box in order to align the current box.
[0146] As can be seen from the above, the box stacking method provided in this embodiment uses the edge of the reference item as a visual reference to detect the alignment of the box placement posture. It can effectively identify problems such as misalignment, offset, and excessive gaps. After detecting that the boxes are not aligned, it can adjust the posture in the deviation area to form a placement-detection-correction closed loop, eliminate the error caused by a single box placement, and make the box alignment standard uniform.
[0147] In one embodiment of this application, after step S103 or step S602, the robot may specifically perform the following steps, detailed below: In response to the fact that the current palletized box number is not the last palletized box number in the set box placement order, the steps of determining the current stack layer number and the current palletized box number, as well as subsequent steps, continue for the next palletized box number until the last palletized box number in the set box placement order has been palletized; the set box placement order is used to describe the placement order of the boxes corresponding to different palletized box numbers in each stack layer; the next palletized box number refers to the first palletized box number after the current palletized box number in the set box placement order; After the current stack layer corresponding to the current stack layer number has been stacked, continue to perform the steps of determining the current stack layer number and the current stack box number, as well as subsequent steps, for the next stack layer until all stack layers have been stacked; the next stack layer refers to the first stack layer located above the current stack layer.
[0148] In this embodiment, after the robot finishes placing the current box, it can detect in real time whether the current palletized box number is the last palletized box number in the set box placement sequence.
[0149] In one embodiment of this application, when the robot detects that the current palletized box number is not the last palletized box number in the set box placement sequence, it indicates that the box palletizing task of the current stack layer has not been completed. Therefore, the robot can continue to execute steps S101 to S103 for the next palletized box number until the last palletized box number in the set box placement sequence has been palletized.
[0150] The setting of the box placement order is used to describe the placement order of boxes corresponding to different stack box numbers in each stack layer.
[0151] The next palletized box number refers to the first palletized box number after the current palletized box number in the set box placement order.
[0152] In this embodiment, when the robot detects that the current palletized box number is the last palletized box number in the set box placement order, it indicates that the palletizing task for the current stack layer has been completed. In other words, the current stack layer corresponding to the current stack layer number has been completed. Therefore, the robot can detect in real time whether the current stack layer is the last stack layer.
[0153] When the robot detects that the current stack is not the last stack, it can continue to execute steps S101 to S103 on each box of the next stack until all stacks have been stacked.
[0154] The next stack refers to the first stack located above the current stack.
[0155] Through the above embodiments, this embodiment automatically jumps to the next box and the next stack layer after the completion of a single box and a single layer, and runs continuously throughout the process, improving the efficiency of the production line. At the same time, this embodiment forms a complete cycle logic of single box - single layer - whole stack, which can automatically complete all palletizing tasks from the first layer to the top layer. The solution has strong integrity and is suitable for large-scale continuous production.
[0156] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0157] Please see Figure 8 , Figure 8 This is a flowchart illustrating the pallet stacking process of a pallet layer provided in one embodiment of this application. Figure 8 As shown, when performing the box palletizing task on the pallet layer, after the robot picks up a box and navigates to the navigation point corresponding to the box's location on the pallet layer, the robot can move the box forward, that is, extend both arms forward to lift the box so that it is above the aforementioned location area. Then, the robot can control the box to hover at a set height from the corresponding rough box position, and use its own camera to identify the edge of the pallet / front box to calculate the target placement pose of the box, and compare the box's current pose with the target placement pose to perform fine-tuning of the pose. (e.g.) Figure 3 (Steps S201~S204 shown) After making fine-tuning of its pose, the robot can determine its own box placement method.
[0158] On one hand, when the robot detects that the box is being placed using both hands, it can first check if the box and the reference item are aligned horizontally. If horizontal alignment is detected, it can then check for front-to-back alignment. If horizontal alignment is detected, the robot can fine-tune its left and right poses until alignment is achieved. During the front-to-back alignment check, the robot can detect in real-time whether there is a box in front of it. When a box is detected in front, the robot performs force-controlled forward movement of the box and monitors the forward force value in real-time. When the robot detects a sudden increase in force value, it indicates that front-to-back alignment has been achieved; therefore, the robot can stop the alignment operation and perform the box placement action. If no box is detected in front, the robot can perform visual forward positioning to check if the front-to-back poses are consistent. If the front-to-back poses are consistent, the robot can perform the box placement action. If the front-to-back poses are inconsistent, the robot can adjust the front-to-back poses until alignment is achieved. (e.g.) Figure 4 The steps S301~S303 shown, and Figure 5 (Steps S401~S402 shown) On the other hand, when the robot detects that the box placement method is single-handed placement, it can first check whether the box and the reference item are initially aligned. After detecting initial alignment, it can then use a force sensor to detect whether the box is pressing against the reference item or whether the box and the reference item are in proper contact. If the robot detects that the box is pressing against the reference item or is in proper contact, it can push the box inward with one hand to adjust the placement offset. If the robot detects that the box is not pressing against the reference item or is not in proper contact, it can continue to adjust the box with force control until it is pressed against or in proper contact. If the robot detects that the initial alignment is not achieved, it can fine-tune the front and back posture of the box to align the front and back edges, i.e., initial alignment (e.g., ...). Figure 4 In step S302 shown, during single-handed box placement, the robot controls the alignment of the current box with the reference object based on the edge of the reference object. After the robot pushes the box inward to check for any offset, it can again use a force sensor to detect whether the box is pressing against the side box or whether the box is in contact with the side box. When the robot detects that the box is pressing against the side box or is in contact with the side box, it can perform the box placement action. When the robot detects that the box is not pressing against the side box or is not in contact with the side box, it can visually detect the parallelism and coordinate difference between the front and rear coordinates. When the robot detects that the pose error exceeds the limit, it can fine-tune the pose until the box presses against the side box or is in contact with the side box. When the robot detects that the pose error is not exceeded, it can continue to adjust until the box presses against the side box or is in contact with the side box (e.g., ...). Figure 4 The specific implementation process of left and right alignment in step S304 is shown.
[0159] After placing the boxes, the robot can perform alignment checks on the boxes and correct the alignment if the pose error exceeds the limit. (e.g.) Figure 7 (Steps S601~S602 shown) After detecting that the pose error is within the limit, the robot can perform visual memory and update, that is, save the target placement pose of the box to update the set pose of the box with the same stack number in the next stack.
[0160] Please see Figure 9 , Figure 9 This is a flowchart illustrating the overall stacking process of all stack layers of boxes provided in one embodiment of this application. For example... Figure 9 As shown, each stack layer requires the placement of 6 boxes, numbered 1, 2, 3, 4, 5, and 6, and the placement areas for the 6 boxes in each stack layer are as follows. Figure 2 As shown in the figure, combined with Figures 1-7 In the corresponding embodiment, the overall process for stacking boxes across all layers can be as follows: After palletizing begins, the robot receives the task and starts palletizing all the boxes. Therefore, the robot can identify the pallets. Later, if the robot detects a failure to match the palletizing order of the boxes in the task layer, it indicates a pallet error and requires manual intervention. Therefore, the robot can terminate the box palletizing task.
[0161] After detecting a successful match between the task layer's box placement and palletizing order, the robot can calculate the poses of boxes 1-6 and obtain the set box placement order. Then, the robot can obtain the stacking layer number n, which starts from 1. The robot can then proceed with palletizing the nth layer. Afterward, the robot moves up and down to the height corresponding to the nth layer. Finally, the robot can determine the current palletized box number x=? and the current stacking layer number n=? When there are 1 pallet layers (n=1), the robot can determine its current pallet placement strategy based on the current palletized box number and the existing placement strategy. When the robot detects that the current palletized box number is 5 or 6, it can pick up box 5 or 6 along its long side and navigate to the x-box navigation point plus the placement offset. That is, after navigating to the x-box navigation point, the robot can shift the x-box position based on the placement offset. Afterward, the robot can adjust its height to correspond to the position area of box x on the pallet layer.
[0162] When n>=2 layers of boxes, the robot can determine the placement strategy for box x based on the layer placement strategy, and use the target placement pose of the same box number from the previous layer as the set box pose. Afterwards, the robot can directly retrieve the box without navigation and navigate to the navigation point of box x, then use the set box pose again and adjust the robot height.
[0163] After adjusting the robot's height, the robot controls its arm to the set box pose and places the box at a position set at a distance from the initial box pose. Then, the robot can determine the current stack layer number and the current box number. When the robot detects n=1 and x=5 / 6, it can visually align with the pallet reference edge to check for centering; when it detects n=1 and x=1 / 4, it can visually align with the reference edge of box number 6; when it detects n=1 and x=2 / 3, it can visually align with the reference edge of box number 5; when it detects n>=2, it can visually align with the reference edge of the same box number on the previous stack layer. Afterward, the robot can perform the box placement action.
[0164] After performing the box placement action, the robot can perform a stack alignment check on box number x, and after the stack alignment check is completed, save the target placement pose of box number x to update the set box pose for the next stack layer.
[0165] Afterwards, the robot can check if the current stack is complete, i.e., x=1?. When the robot detects x=1, it can check if there is another stack. If the robot detects that there is another stack n+1, it can set n=n+1 and continue executing as follows. Figure 9 The diagram shows the subsequent process for the nth layer of palletizing. The robot can end the box palletizing task when it detects that there is no next layer.
[0166] When the robot detects that x is not 1, it means there is another palletizing box number x+1. At this point, the robot can set x=x+1 and continue execution as follows. Figure 9 The current palletized box number x=? and subsequent processes are shown.
[0167] Corresponding to the box stacking method described in the above embodiment, Figure 10 A schematic diagram of a box palletizing device according to an embodiment of this application is shown. For ease of explanation, only the parts relevant to the embodiment of this application are shown. (Refer to...) Figure 10 The box palletizing device 700 includes: a stack layer determination unit 71, a strategy determination unit 72, and an execution unit 73. Wherein: The stack layer determination unit 71 is used to determine the current stack layer number and the current palletized box number.
[0168] The strategy determination unit 72 is used to determine the box placement strategy and box alignment method based on the current stack layer number and the current palletized box number. The box placement strategy includes the robot pose when the robot performs the box placement operation on the current box corresponding to the current palletized box number, the set box pose, and the box placement offset degree.
[0169] The execution unit 73 is used to perform a box placement operation on the current box based on the box placement strategy and box alignment method.
[0170] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0171] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0172] Figure 11 This is a schematic diagram of the structure of a robot provided in one embodiment of this application. Figure 11 As shown, the robot 8 in this embodiment includes: at least one processor 80 ( Figure 11 Only one is shown in the diagram), memory 81, and computer program 82 stored in said memory 81 and executable on said at least one processor 80, wherein said processor 80 executes said computer program 82 to implement the steps in any of the above-described embodiments of the box palletizing method.
[0173] The robot 8 may include, but is not limited to, a processor 80 and a memory 81. Those skilled in the art will understand that... Figure 11 The example shown is merely of robot 8 and does not constitute a limitation on robot 8. It may include more or fewer parts than shown, or combine certain parts, or different parts, such as input / output devices, network access devices, etc.
[0174] The processor 80 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0175] In some embodiments, the memory 81 may be an internal storage unit of the robot 8, such as the robot 8's RAM. In other embodiments, the memory 81 may be an external storage device of the robot 8, such as a pluggable hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the robot 8. Furthermore, the memory 81 may include both internal and external storage units of the robot 8. The memory 81 is used to store the operating system, applications, bootloader, data, and other programs, such as the program code of the computer program. The memory 81 can also be used to temporarily store data that has been output or will be output.
[0176] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.
[0177] This application provides a computer program product that, when run on a robot, enables the robot to perform the steps described in the above-described method embodiments.
[0178] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to a robot, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, such as a USB flash drive, a portable hard drive, a magnetic disk, or an optical disk.
[0179] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0180] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for stacking boxes, characterized in that, Applied to robots, the method includes: Determine the current stack layer number and the current palletized box number; Based on the current number of stack layers and the current palletized box number, a box placement strategy and box alignment method are determined; the box placement strategy includes the robot pose, the set box pose, and the box placement offset degree when the robot performs a box placement operation on the current box corresponding to the current palletized box number. Based on the box placement strategy and the box alignment method, a box placement operation is performed on the current box.
2. The box stacking method as described in claim 1, characterized in that, The box alignment method includes reference items that the current box needs to be visually aligned with; the box placement operation based on the box placement strategy and the box alignment method includes: Based on the robot's pose, the current box is placed on the current stack layer at an initial position at a set height from the position of the rough box; the position of the rough box is determined by the set box pose of the current box in the current stack layer. The target placement posture of the current box is determined based on the reference item; The current box is adjusted based on the target placement posture; Based on the box alignment method and the box placement offset, the current box is placed in the target area of the current stack layer; the target area refers to the position area corresponding to the current palletized box number in the current stack layer.
3. The box stacking method as described in claim 2, characterized in that, The step of placing the current box in the target area of the current stack layer based on the box alignment method and the box placement offset includes: The method of placing the box by the robot is determined based on the robot's pose; Based on the box placement method and the box alignment method, the current box is controlled to align with the edge of the reference item; In response to the box placement method being two-handed box placement and the box placement offset being zero, the current box is placed in the target area; In response to the box placement method being single-handed box placement and the box placement offset being greater than zero, after placing the current box at a first position away from the side box by the box placement offset, the robot controls the current box to move towards the side box by the box placement offset; the side box refers to the box that is in the same stack as the current box and is located to the side of the current box, the side includes the left or right side, and the left and right sides are determined by the orientation of the robot when controlling the current box.
4. The box stacking method as described in claim 3, characterized in that, The step of controlling the current box to align with the edge of the reference item based on the box placement method and the box alignment method includes: In response to the box placement method being the two-handed box placement, the current box is controlled to be aligned left and right with the reference item based on the edge of the reference item; After the front box is aligned left and right with the reference item, the current box is aligned front and back with the reference item based on the edge of the reference item; the front and back alignment is determined by the orientation of the robot when controlling the current box.
5. The box stacking method as described in claim 4, characterized in that, The step of controlling the alignment of the current box with the reference item based on the edge of the reference item includes: In response to the absence of a box placed in front of the current box, if the current pose of the current box matches the target placement pose during the process of aligning the current box with the reference item, the alignment operation is stopped. In response to the presence of the already placed box in front of the current box, if the contact between the current box and the already placed box meets the set conditions during the process of aligning the current box with the reference item, the alignment operation is stopped.
6. The box stacking method as described in claim 3, characterized in that, The step of controlling the current box to align with the edge of the reference item based on the box placement method and the box alignment method includes: In response to the fact that the current stack layer is not the first layer, the robot is controlled to align the current box with the edge of the reference box of the first reference box in the box placement mode; the first reference box is the box with the same stacking box number as the current stacking box in the first stack layer below the current stack layer. In response to the current stack layer being the first layer and the current palletized box number not being the specified palletized box number, the robot is controlled to align the current box with the edge of the reference box of the second reference box in the box placement mode; the specified palletized box number refers to the box number that needs to be placed in the middle area of the current stack layer, and the second reference box refers to the box that is adjacent to the position of the coarse box and is the specified palletized box number; In response to the current stack layer being the first layer and the current pallet box number being the specified pallet box number, the robot is controlled to align the current box with the pallet reference edge in the box placement mode; the pallet refers to the storage device used to place all boxes, and the pallet reference edge refers to the edge of the area in the pallet used to place the current box.
7. The box stacking method as described in claim 1, characterized in that, The box alignment method includes reference items that the current box needs to be visually aligned with; after performing a box placement operation on the current box based on the box placement strategy and the box alignment method, the method includes: Based on the reference item edge and the target placement pose of the current box, the current box is subjected to alignment detection to obtain the alignment detection result. In response to the alignment detection result being not aligned, the placement posture of the current box is adjusted based on the unaligned area of the current box to align the current box.
8. The box stacking method according to any one of claims 1-7, characterized in that, After performing the box placement operation on the current box based on the box placement strategy and the box alignment method, the method further includes: In response to the fact that the current palletized box number is not the last palletized box number in the set box placement order, the steps of determining the current stack layer number and the current palletized box number, as well as subsequent steps, continue to be performed on the next palletized box number until the last palletized box number in the set box placement order has been palletized; the set box placement order is used to describe the placement order of the boxes corresponding to different palletized box numbers in each stack layer; the next palletized box number refers to the first palletized box number after the current palletized box number in the set box placement order; After the current stack layer corresponding to the current stack layer number has been stacked, in response to the fact that the current stack layer is not the last stack layer, the steps of determining the current stack layer number and the current stack box number, as well as subsequent steps, continue to be performed on the next stack layer until all stack layers have been stacked; the next stack layer refers to the first stack layer located above the current stack layer.
9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the box stacking method as described in any one of claims 1 to 8.
10. A computer program product, characterized in that, Includes a computer program that, when run, implements the box stacking method as described in any one of claims 1 to 8.