A palletizing path planning method and device, electronic equipment and storage medium

By acquiring the status information of the already stacked objects and the preset correspondence, a safe placement path is generated, which solves the problem of low path planning efficiency in the existing technology of palletizing scenarios and realizes efficient and safe path planning.

CN119871374BActive Publication Date: 2025-11-04HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411238800.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2025-11-04
Estimated Expiration
2044-09-04

AI Technical Summary

Technical Problem

Existing RRT path planning methods are inefficient and difficult to plan feasible and safe paths in palletizing scenarios, especially when there are many palletized objects and the scenario is complex.

Method used

By acquiring the state information of the objects already coded around the object to be coded, the current state of the coded object is determined. Based on the correspondence between the preset state and the placement path planning method, a target placement path is generated. Considering the positional relationship between the coded object and the placement point, multiple path planning methods such as vertical, diagonal, or adaptive are adopted to generate a safe placement path.

Benefits of technology

It improves the efficiency and success rate of path planning, avoids the problem of compressed packages caused by errors in the palletizing process, and enhances the safety and intelligence of palletizing placement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119871374B_ABST
    Figure CN119871374B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a palletizing path planning method and device, electronic equipment and storage medium. The electronic equipment can obtain state information of a placed object around a placement point; determine a current state of the placed object based on a positional relationship between the placed object and the placement point represented by the state information; determine a target placement path planning mode according to the current state and a preset correspondence between states and placement path planning modes; and generate a placement path according to the target placement path planning mode based on a to-be-palletized pose and size of a to-be-palletized object. Since the correspondence between states and placement path planning modes is preset, and the state is determined by the positional relationship between the placed object and the placement point, the placement path planning mode takes the above-mentioned positional relationship into account. In this way, the target placement path planning mode corresponding to the current state can be determined based on the correspondence, and the placement path can be generated according to the mode, which can plan the placement path in the palletizing scene and improve the efficiency of path planning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of stacking, in particular to a stacking path planning method and device, electronic equipment and a storage medium. BACKGROUND

[0002] Stacking is to use a mechanical arm to grab objects and stack multiple boxes one by one on a pallet or tray to form a neat and orderly stack for transportation, storage or industrial production. At present, the path of the mechanical arm is usually planned by RRT (Rapidly-Exploring Random Tree) path planning method. This method corrects the expansion of randomly sampled points by introducing a target trend coefficient k, reduces the number of invalid expansion nodes, and thus obtains a safe path between two points of the mechanical arm.

[0003] The above path planning method can effectively plan a feasible and safe path in the case of few obstacles, but in the stacking scene, since there are usually many stacked objects and the scene is complex, the planning efficiency is very low using this method, and there is a high probability that the placement path cannot be planned. SUMMARY

[0004] The purpose of the embodiments of the present application is to provide a stacking path planning method, device, electronic equipment and storage medium to plan a placement path in a stacking scene and improve the efficiency of path planning. The specific technical solutions are as follows:

[0005] In a first aspect, the embodiments of the present application provide a stacking path planning method, which comprises:

[0006] Obtain state information of stacked objects around a placement point corresponding to a to-be-stacked object;

[0007] Determine a current state of the stacked objects based on a position relationship between the stacked objects and the placement point represented by the state information of the stacked objects;

[0008] Determine a target placement path planning method according to the current state and a preset correspondence between states and placement path planning methods;

[0009] Generate a placement path of the to-be-stacked object according to the target placement path planning method based on a to-be-stacked pose and size of the to-be-stacked object.

[0010] Optionally, the step of determining the current state of the stacked objects based on the position relationship between the stacked objects and the placement point represented by the state information of the stacked objects comprises:

[0011] determine whether there is a coded object in a preset range around the placement point based on a positional relationship between the coded object and the placement point represented by the state information of the coded object;

[0012] if there is no coded object in the preset range around the placement point, determine that the current state of the coded object is a first state;

[0013] if there is only one side of coded objects in the preset range around the placement point, or there are only two sides of coded objects in the preset range around the placement point and the coded objects are adjacent, determine that the current state of the coded object is a second state;

[0014] if there are coded objects on opposite sides in the preset range around the placement point, determine that the current state of the coded object is a third state.

[0015] Optionally, the corresponding relationship includes: if the current state is the first state, the target placement path planning mode is a vertical entry placement path planning mode.

[0016] The step of generating the placement path of the coded object based on the target placement path planning mode includes:

[0017] generating a first vertical path based on the size of the coded object and the vertical entry placement path planning mode, with a first start point pose as a start point and the coded pose of the coded object as an end point, wherein the first start point pose is located directly above the coded pose.

[0018] Optionally, the corresponding relationship includes: if the current state is the second state, the target placement path planning mode is an oblique entry placement path planning mode.

[0019] The step of generating the placement path of the coded object based on the target placement path planning mode includes:

[0020] generating a first oblique path based on the first oblique entry placement path planning mode, with a second start point pose as a start point and the coded pose of the coded object as an end point, or

[0021] generating a placement path based on the second oblique entry placement path planning mode, with the second start point pose as a start point, the coded pose of the coded object as an end point, and a first passing point pose as a passing point, wherein the placement path includes a second oblique path and a second vertical path.

[0022] The second starting point pose is located on one side of the placement point where no coded object exists, and the first passing point pose is located directly above the to-be-coded pose and is lower than the second starting point pose.

[0023] Optionally, the step of determining the target placement path planning mode according to the current state and a preset correspondence between states and placement path planning modes comprises:

[0024] If the current state is the third state, based on the state information of the coded object, the height of the coded object farther away from the placement point among the coded objects on the two opposite sides of the placement point, the interval between the coded objects on the two opposite sides, and the side extension distance of the coded object are determined, wherein the side extension distance is the length difference of the coded object in the direction perpendicular to the connecting direction of the coded objects on the two opposite sides.

[0025] If the height is less than a preset height threshold, it is determined that the target placement path planning mode is the adaptive oblique entry placement path planning mode.

[0026] If the interval is greater than a preset interval threshold, it is determined that the target placement path planning mode is the intermediate point oblique entry placement path planning mode.

[0027] If the side extension distance is greater than a preset distance threshold, it is determined that the target placement path planning mode is the planar oblique entry placement path planning mode.

[0028] Optionally, the step of generating the placement path of the to-be-coded object according to the to-be-coded pose and the size of the to-be-coded object in the target placement path planning mode comprises:

[0029] If the target placement path planning mode is the adaptive oblique entry placement path planning mode, a third starting point pose is taken as a starting point, the to-be-coded pose of the to-be-coded object is taken as an end point, a second passing point pose is taken as a passing point, and the placement path is generated according to the adaptive oblique entry placement path planning mode.

[0030] The placement path comprises a third oblique path and a third vertical path, the third starting point pose is located on one side of the placement point where the coded object with a height less than a preset height threshold exists, the lower surface of the to-be-coded object at the third starting point pose is higher than the upper surface of the coded object with a height less than a preset height threshold, and the second passing point pose is located directly above the to-be-coded pose and is lower than the third starting point pose.

[0031] Optionally, the step of generating the placement path of the to-be-coded object according to the to-be-coded pose and the size of the to-be-coded object in the target placement path planning mode comprises:

[0032] If the target placement path planning mode is the intermediate point oblique entry placement path planning mode, a fourth start point pose is taken as a start point, the palletizing pose of the object to be palletized is taken as an end point, a third passing point pose is taken as a passing point, and a placement path is generated according to the intermediate point oblique entry placement path planning mode;

[0033] The placement path includes a fourth vertical path and a fourth oblique path, the fourth start point pose is located on one side of which the distance is greater than the preset distance threshold, and the third passing point pose is located directly below the fourth start point pose and is higher than the palletizing pose.

[0034] Optionally, the step of generating the placement path of the object to be palletized according to the target placement path planning mode based on the palletizing pose and the size of the object to be palletized includes:

[0035] If the target placement path planning mode is the planar oblique entry placement path planning mode, a fifth start point pose is taken as a start point, the palletizing pose of the object to be palletized is taken as an end point, a fourth passing point pose is taken as a passing point, and a placement path is generated according to the planar oblique entry placement path planning mode;

[0036] The placement path includes a fifth oblique path and a sixth oblique path, the fifth start point pose is located on one side of a shorter object which has a direction perpendicular to the connecting direction of the relative two sides of the palletized object, the fourth passing point pose is lower than the fifth start point pose and higher than the palletizing pose.

[0037] Optionally, after the step of generating the placement path of the object to be palletized according to the target placement path planning mode based on the palletizing pose and the size of the object to be palletized, the method further includes:

[0038] Obtaining a plurality of alternative grabbing states of the mechanical arm;

[0039] According to the plurality of alternative grabbing states respectively, the collision between the mechanical arm and the palletized object when the mechanical arm palletizes the object to be palletized along the placement path is calculated;

[0040] The alternative grabbing state of the mechanical arm in which no collision occurs is determined as a target grabbing state;

[0041] The mechanical arm is controlled to adopt the target grabbing state to grab the object to be palletized, and to move to the placement point according to the placement path to palletize the object to be palletized to the placement point.

[0042] In a second aspect, an embodiment of the present application provides a path planning device for palletizing, the device comprising:

[0043] An information acquisition module is configured to acquire state information of coded objects around a placement point corresponding to a to-be-coded object;

[0044] A state determination module is configured to determine a current state of the coded objects based on a positional relationship between the coded objects and the placement point represented by the state information of the coded objects;

[0045] A mode determination module is configured to determine a target placement path planning mode according to the current state and a preset correspondence between states and placement path planning modes.

[0046] A path generation module is configured to generate a placement path of the to-be-coded object according to a to-be-coded pose and a size of the to-be-coded object and in the target placement path planning mode.

[0047] Optionally, the state determination module comprises:

[0048] A coded object determination sub-module is configured to determine whether there is a coded object within a preset range around the placement point based on a positional relationship between the coded objects and the placement point represented by the state information of the coded objects.

[0049] A first state determination sub-module is configured to determine that the current state of the coded objects is a first state if there is no coded object within the preset range around the placement point.

[0050] A second state determination sub-module is configured to determine that the current state of the coded objects is a second state if there is only one side of coded objects within the preset range around the placement point or there are only two sides of coded objects within the preset range around the placement point and the coded objects are adjacent.

[0051] A third state determination sub-module is configured to determine that the current state of the coded objects is a third state if there are coded objects on opposite sides within the preset range around the placement point.

[0052] Optionally, the correspondence comprises that if the current state is the first state, the target placement path planning mode is a vertical entry placement path planning mode.

[0053] The path generation module comprises:

[0054] A first path generation sub-module is configured to generate a first vertical path according to the size of the to-be-coded object and in the vertical entry placement path planning mode, with a first start point pose as a start point and a to-be-coded pose of the to-be-coded object as an end point, wherein the first start point pose is located directly above the to-be-coded pose.

[0055] Optionally, the corresponding relationship comprises: if the current state is the second state, the target placement path planning mode is a diagonal entering placement path planning mode.

[0056] The path generation module comprises:

[0057] The second path generation submodule is configured to generate a first diagonal path according to a first diagonal entering placement path planning mode, with a second start point pose as a start point and a to-be-stacked pose of the to-be-stacked object as an end point.

[0058] The third path generation submodule is configured to generate a placement path according to a second diagonal entering placement path planning mode, with the second start point pose as a start point, the to-be-stacked pose of the to-be-stacked object as an end point, and a first passing point pose as a passing point, wherein the placement path comprises a second diagonal path and a second vertical path.

[0059] The second start point pose is located on a side of the placement point where no stacked object exists, and the first passing point pose is located directly above the to-be-stacked pose and is lower than the second start point pose.

[0060] Optionally, the mode determination module comprises:

[0061] The parameter determination submodule is configured to, if the current state is the third state, determine, based on state information of the stacked object, a height of a stacked object that is farther away from the placement point among stacked objects on opposite sides of the placement point, a spacing between the stacked objects on the opposite sides, and a side surface extension distance of the stacked object, wherein the side surface extension distance is a length difference of the stacked object in a direction perpendicular to a connecting direction of the stacked objects on the opposite sides.

[0062] The first mode determination submodule is configured to, if the height is less than a preset height threshold, determine that a target placement path planning mode is an adaptive diagonal entering placement path planning mode.

[0063] The second mode determination submodule is configured to, if the spacing is greater than a preset spacing threshold, determine that the target placement path planning mode is a middle point diagonal entering placement path planning mode.

[0064] The third mode determination submodule is configured to, if the side surface extension distance is greater than a preset distance threshold, determine that the target placement path planning mode is a planar diagonal entering placement path planning mode.

[0065] Optionally, the path generation module comprises:

[0066] The fourth path generation submodule is configured to, if the target placement path planning mode is the adaptive oblique entry placement path planning mode, generate a placement path with a third start point pose as a start point, a to-be-stacked pose of the to-be-stacked object as an end point, and a second passing point pose as a passing point according to the adaptive oblique entry placement path planning mode;

[0067] The placement path includes a third oblique path and a third vertical path, the third start point pose is located on a side of the placement point where the already-stacked object with a height less than the preset height threshold is located, a lower surface of the to-be-stacked object at the third start point pose is higher than an upper surface of the already-stacked object with the height less than the preset height threshold, and the second passing point pose is located directly above the to-be-stacked pose and is lower than the third start point pose.

[0068] Optionally, the path generation module includes:

[0069] The fifth path generation submodule is configured to, if the target placement path planning mode is the intermediate point oblique entry placement path planning mode, generate a placement path with a fourth start point pose as a start point, a to-be-stacked pose of the to-be-stacked object as an end point, and a third passing point pose as a passing point according to the intermediate point oblique entry placement path planning mode.

[0070] The placement path includes a fourth vertical path and a fourth oblique path, the fourth start point pose is located on a side where the interval is greater than the preset interval threshold, and the third passing point pose is located directly below the fourth start point pose and is higher than the to-be-stacked pose.

[0071] Optionally, the path generation module includes:

[0072] The sixth path generation submodule is configured to, if the target placement path planning mode is the planar oblique entry placement path planning mode, generate a placement path with a fifth start point pose as a start point, a to-be-stacked pose of the to-be-stacked object as an end point, and a fourth passing point pose as a passing point according to the planar oblique entry placement path planning mode.

[0073] The placement path includes a fifth oblique path and a sixth oblique path, the fifth start point pose is located on a side of the placement point where an already-stacked object with a shorter length in a direction perpendicular to a connecting direction of the two opposite sides is located, and the fourth passing point pose is lower than the fifth start point pose and is higher than the to-be-stacked pose.

[0074] Optionally, the device further includes:

[0075] The grabbing state acquisition module is configured to acquire a plurality of candidate grabbing states of the mechanical arm.

[0076] The collision condition calculation module is configured to calculate collision conditions between the mechanical arm and the stacked objects when the mechanical arm places the object to be stacked along the placement path according to the plurality of candidate grasping states, respectively.

[0077] The grasping state determination module is configured to determine the candidate grasping state of the mechanical arm in which no collision occurs as a target grasping state.

[0078] The control module is configured to control the mechanical arm to grasp the object to be stacked in the target grasping state and move to the placement point according to the placement path to place the object to be stacked at the placement point.

[0079] In a third aspect, an electronic device is provided, including:

[0080] The memory is configured to store a computer program.

[0081] The processor is configured to execute the program stored on the memory to implement the method of any of the first aspect.

[0082] In a fourth aspect, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. When the computer program is executed by a processor, the method of any of the first aspect is implemented.

[0083] The embodiments of the present application have the following beneficial effects:

[0084] In the scheme provided by the embodiments of the present application, the electronic device can obtain state information of the stacked objects around the placement point corresponding to the object to be stacked. The current state of the stacked objects is determined based on the position relationship between the stacked objects and the placement point represented by the state information of the stacked objects. The target placement path planning mode is determined according to the current state and the corresponding relationship between the state and the placement path planning mode. The placement path of the object to be stacked is generated according to the target placement path planning mode based on the stacking pose and the size of the object to be stacked. Since the corresponding relationship between the state of each stacked object and the placement path planning mode of the object to be stacked is set in advance, and the state of the stacked object is determined based on the position relationship between the stacked object and the placement point represented by the state information of the stacked object, the placement path planning mode takes into account the position relationship between the stacked object and the placement point. Therefore, after the current state of the stacked object is determined, the target placement path planning mode matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be stacked is generated according to the target placement path planning mode set in advance. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning is improved. Of course, any product or method implementing the present application does not necessarily need to achieve all the advantages described above. BRIEF DESCRIPTION OF DRAWINGS

[0085] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0086] Figure 1 A flowchart illustrating a palletizing path planning method provided in an embodiment of this application;

[0087] Figure 2(a) shows the results based on Figure 1 A first schematic diagram of the state of the stacked objects around the placement point in the illustrated embodiment.

[0088] Figure 2(b) shows the results based on Figure 1 A second schematic diagram showing the state of the stacked objects around the placement point in the illustrated embodiment;

[0089] Figure 2(c) is based on Figure 1 A third schematic diagram showing the state of the stacked objects around the placement point in the illustrated embodiment;

[0090] Figure 2(d) is based on Figure 1 A fourth schematic diagram showing the state of the stacked objects around the placement point in the illustrated embodiment;

[0091] Figure 3 for Figure 1 A specific flowchart of step S102 in the illustrated embodiment;

[0092] Figure 4 Based on Figure 1 A schematic diagram of the first vertical path generated according to the vertical entry placement path planning method in the embodiment shown;

[0093] Figure 5(a) shows the results based on Figure 1 The illustrated embodiment is a schematic diagram of a placement path generated according to a single-sided oblique entry placement path planning method.

[0094] Figure 5(b) shows the results based on... Figure 1 The illustrated embodiment is a schematic diagram of a placement path generated according to a double-sided oblique entry placement path planning method.

[0095] Figure 6 for Figure 1 A specific flowchart of step S103 in the illustrated embodiment;

[0096] Figure 7(a) shows the results based on Figure 1 The illustrated embodiment is a schematic diagram of a placement path generated according to a one-sided adaptive oblique entry placement path planning method.

[0097] Fig. 7(b) is a schematic diagram of a placement path generated according to a bilateral adaptive oblique entry placement path planning manner of the embodiment shown in Fig. 7(a); Figure 1

[0098] Fig. 8(a) is a schematic diagram of a placement path generated according to a unilateral intermediate point oblique entry placement path planning manner of the embodiment shown in Fig. 8(b); Figure 1

[0099] Fig. 8(b) is a schematic diagram of a placement path generated according to a bilateral intermediate point oblique entry placement path planning manner of the embodiment shown in Fig. 8(a); Figure 1

[0100] Fig. 9(a) is a schematic diagram of a placement path generated according to a unilateral planar oblique entry placement path planning manner of the embodiment shown in Fig. 9(b); Figure 1

[0101] Fig. 9(b) is a schematic diagram of a placement path generated according to a bilateral planar oblique entry placement path planning manner of the embodiment shown in Fig. 9(a); Figure 1

[0102] Figure 10 Fig. 10 is a flow chart of a determination manner of a mechanical arm grasping state based on the embodiment shown in Fig. 10(a); Figure 1

[0103] Fig. 11 is another flow chart of a path planning method of a palletizing based on the embodiment shown in Fig. 11(a); Figure 11 Figure 1 Fig. 12 is a flow chart of a placement path generation manner based on the embodiment shown in Fig. 12(a);

[0104] Figure 12 Figure 1 Fig. 13 is a structural schematic diagram of a path planning device of a palletizing provided by the embodiment of the present application;

[0105] Figure 13 Fig. 14 is a structural schematic diagram of an electronic device provided by the embodiment of the present application.

[0106] Figure 14 Fig. 14 is a structural schematic diagram of an electronic device provided by the embodiment of the present application. DETAILED DESCRIPTION

[0107] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art based on the present application are within the scope of protection of the present application.

[0108] ​​​​​​​In order to plan a placement path in a palletizing scene and improve the efficiency of path planning, an embodiment of the present application provides a palletizing path planning method, device, electronic device, computer readable storage medium and computer program product. First, a palletizing path planning method provided by an embodiment of the present application is introduced.

[0109] The palletizing path planning method provided by the embodiment of the present application can be applied to any electronic device that needs to plan a path in a palletizing scene, for example, a central controller, a path planner, a processing device, etc., which is not limited here. In order to describe clearly, hereinafter, the electronic device is referred to as an electronic device.

[0110] As shown in Figure 1 A palletizing path planning method, the method comprises:

[0111] S101, obtaining state information of a coded object around a placement point corresponding to a to-be-coded object;

[0112] S102, determining a current state of the coded object based on a position relationship between the coded object and the placement point represented by the state information of the coded object;

[0113] S103, determining a target placement path planning mode according to the current state and a preset corresponding relationship between the state and the placement path planning mode;

[0114] S104, generating a placement path of the to-be-coded object according to the target placement path planning mode based on the to-be-coded pose and size of the to-be-coded object.

[0115] It can be seen that in the scheme provided by the embodiments of the present application, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the to-be-coded object; based on the position relationship between the coded objects and the placement point represented by the state information of the coded objects, the current state of the coded objects is determined; according to the correspondence between the current state and the preset state and the placement path planning mode, the target placement path planning mode is determined; and based on the to-be-coded pose and size of the to-be-coded object, the placement path of the to-be-coded object is generated according to the target placement path planning mode. Since the correspondence between the state of each coded object and the placement path planning mode of the to-be-coded object is preset, and the state of the coded object is determined by the position relationship between the coded object represented by the state information of the coded object and the placement point. Therefore, the placement path planning mode takes into account the position relationship between the coded object and the placement point. In this way, after the current state of the coded object is determined, the target placement path planning mode that matches the current state can be determined based on the above-mentioned correspondence, and then the placement path of the to-be-coded object is generated according to the preset target placement path planning mode. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning is improved.

[0116] In step S101, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the to-be-coded object. The state information of the coded objects around the placement point can include at least one of which side of the placement point exists coded objects, the height of the coded objects around the placement point, and the spacing of the coded objects around the placement point.

[0117] The above-mentioned state information of the coded objects around the placement point can be determined by defining a certain area around the actual placement position. In an embodiment, a certain area around the placement point can be image collected, and the collected image can be image recognized to obtain the state information of the coded objects around the placement point. In another embodiment, after each object is placed, the state information of the placed object can be recorded. In this way, when the to-be-coded object is placed subsequently, the state information of the coded objects around the placement point can be determined based on the recorded state information of the object.

[0118] Since the state information of the coded objects is obtained around the placement point corresponding to the to-be-coded object, the state information of the coded objects can reflect the position relationship between the coded objects and the placement point. In this way, the electronic device can determine the current state of the coded objects based on the position relationship between the coded objects and the placement point represented by the state information of the coded objects, that is, step S102 is executed. The orientation of the coded objects within the defined area around the coded objects represents the state of the coded objects.

[0119] For example, Figures 2(a)-2(d)Fig. 2(a) shows a state of no object around the placing point, Fig. 2(b) shows a state of one object on one side around the placing point, Fig. 2(c) shows a state of two objects on two adjacent sides around the placing point, and Fig. 2(d) shows a state of two objects on two opposite sides around the placing point.

[0120] To plan the placing path in the palletizing scenario and improve the efficiency of path planning, a correspondence between each state of the coded object and the placing path planning mode can be set in advance. For example, the correspondence can include that the state of no object around the placing point shown in Fig. 2(a) corresponds to the vertical entering placing path planning mode, and the state of one object on one side around the placing point shown in Fig. 2(b) corresponds to the oblique entering placing path planning mode. In this way, after the current state of the coded object is determined, the target placing path planning mode can be determined according to the current state and the preset correspondence, that is, step S103 is executed.

[0121] For example, it is assumed that the correspondence includes that states 1-4 correspond to placing path planning modes 1-4 respectively. Then, after it is determined that the current state of the coded object is state 3, the target placing path planning mode can be determined to be placing path planning mode 3 based on state 3 and the above correspondence.

[0122] Since the end point of the placing path of the to-be-coded object is the to-be-coded pose of the to-be-coded object, and in order to ensure that the to-be-coded object does not collide with the coded object, the size of the to-be-coded object needs to be considered. Therefore, after the target placing path planning mode is determined, the electronic device can generate the placing path of the to-be-coded object according to the target placing path planning mode based on the to-be-coded pose and the size of the to-be-coded object, that is, step S104 is executed.

[0123] It can be seen that, in the embodiment of the application, the correspondence between the state of each coded object and the placement path planning mode of the to-be-coded object is set in advance, and the state of the coded object is determined by the position relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning mode takes into account the position relationship between the coded object and the placement point. In this way, after the current state of the coded object is determined, the target placement path planning mode matching the current state can be determined based on the above correspondence, and then the placement path of the to-be-coded object is generated according to the pre-set target placement path planning mode. Therefore, in the palletizing scene, the success rate and efficiency of path planning can be improved. Since the placement path planning mode takes into account the position relationship between the coded object and the placement point, the problem of package compression caused by actual palletizing errors can be avoided, and the safety of palletizing placement can be improved. Furthermore, the intelligentization of palletizing, the safety of palletizing placement, and the success rate and efficiency of palletizing path planning can be improved.

[0124] In addition, the scheme provided in the embodiment of the application can be applied to single palletizing, mixed palletizing and other palletizing scenes. The mixed palletizing is a process of sequentially stacking different size boxes on a pallet or a tray. An important aspect of automatic palletizing application is to automatically generate a placement path point for a robot to execute. In single object palletizing, since all objects have the same height, the object state around the placement point is relatively simple, and a pre-placement point with a fixed side offset and a lifting distance can achieve safe placement path planning. However, in non-single object palletizing, i.e., mixed palletizing, the wrapping state around the placement point is much more complex, and a more intelligent path planning method is needed. In the related art, there are many general robot path planning modes, but due to the particularity of the palletizing scene, i.e., there are often many coded objects and the scene is complex, the path planning mode in the related art is not suitable for the in-palletizing segment path planning of palletizing placement. In the scheme provided in the application, a plurality of reasonable in-palletizing path modes are used for path planning, and since the actual errors such as object stacking deviation and object size deviation are considered, a more safe and reasonable in-palletizing path can be obtained.

[0125] As an implementation manner of the embodiment of the application, as shown in Figure 3 The step of determining the current state of the coded object based on the position relationship between the coded object and the placement point represented by the state information of the coded object can include:

[0126] S301, determining whether there is a coded object in a preset range around the placement point based on the position relationship between the coded object and the placement point represented by the state information of the coded object;

[0127] Since the state information of the coded object is acquired around the placement point, the state information of the coded object can represent a positional relationship between the coded object and the placement point. Since whether the coded object exists in the preset range around the placement point determines the placement path planning manner to be used for path planning of the to-be-coded object, the electronic device can determine whether the coded object exists in the preset range around the placement point based on the positional relationship.

[0128] If the coded object does not exist in the preset range around the placement point, step S302 is performed; if the coded object exists on only one side in the preset range around the placement point, or, the coded object exists on only two sides in the preset range around the placement point and the coded objects are adjacent, step S303 is performed; if the coded objects exist on opposite sides in the preset range around the placement point, step S304 is performed.

[0129] S302, determining that the current state of the coded object is a first state;

[0130] If the coded object does not exist in the preset range around the placement point, the electronic device can determine that the current state of the coded object is a first state. For example, a schematic diagram of the first state can be as shown in FIG. 2(a).

[0131] S303, determining that the current state of the coded object is a second state;

[0132] If the coded object exists on only one side, or, the coded object exists on only two sides in the preset range around the placement point and the coded objects are adjacent, the electronic device can determine that the current state of the coded object is a second state. For example, schematic diagrams of the second state can be as shown in FIGS. 2(b) and 2(c).

[0133] S304, determining that the current state of the coded object is a third state.

[0134] If the coded objects exist on opposite sides in the preset range around the placement point, the electronic device can determine that the current state of the coded object is a third state. For example, a schematic diagram of the third state can be as shown in FIG. 2(d).

[0135] It can be seen that, in the embodiment of the present application, the electronic device can determine whether there is a coded object in the preset range around the placement point based on the positional relationship between the coded object and the placement point represented by the state information of the coded object; and further determine the current state of the coded object as the first state, the second state or the third state based on whether there is a coded object in the preset range. Since the state information of the coded object is acquired around the placement point, the state information of the coded object can represent the positional relationship between the coded object and the placement point. Since whether there is a coded object in the preset range around the placement point determines the placement path planning mode to be adopted for path planning of the to-be-coded object, the electronic device can determine whether there is a coded object in the preset range around the placement point based on the above positional relationship. In this way, the current state of the coded object can be quickly and accurately determined.

[0136] As an implementation of the embodiment of the present application, the above correspondence can include: if the current state is the first state, the target placement path planning mode is the vertical entry placement path planning mode. In this case, the step of generating the placement path of the to-be-coded object according to the target placement path planning mode based on the to-be-coded pose and the size of the to-be-coded object can include:

[0137] generating a first vertical path based on the size of the to-be-coded object, with the first start pose as the starting point and the to-be-coded pose of the to-be-coded object as the ending point, according to the vertical entry placement path planning mode.

[0138] In the case where the current state is the first state, there is no coded object in the preset range around the placement point. Then, even if the to-be-coded object is placed vertically downward on the placement point, there will be no safety problems such as extrusion, compression, edge collision, etc. with the coded object. Therefore, the electronic device can generate a first vertical path based on the size of the to-be-coded object, with the first start pose located directly above the to-be-coded pose as the starting point and the to-be-coded pose as the ending point, according to the vertical entry placement path planning mode, that is, a mode of moving directly from the position directly above the placement point to the placement position.

[0139] For example, a schematic diagram of the first vertical path generated according to the vertical entry placement path planning mode can be as shown in Figure 4 . Figure 4 The left side of FIG. 4 is an elevation view of the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The first start pose 401 is located directly above the to-be-coded pose 402. Figure 4 The right side of FIG. 4 is a plan view of the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the first start pose 401 is located directly above the to-be-coded pose 402, the first start pose 401 and the to-be-coded pose 402 coincide in the plan view.

[0140] It can be seen that, in the embodiment of the present application, when the current state is the first state, the electronic device can take the first starting point pose as the starting point, take the to-be-stacked pose of the to-be-stacked object as the terminal point, generate the first vertical path according to the vertical entering placement path planning mode based on the size of the to-be-stacked object. Since there is no stacked object in the preset range around the placement point, it means that placing the to-be-stacked object vertically downward on the placement point will not cause safety problems such as package compression and edge compression collision with the stacked object. Therefore, the first vertical path from the first starting point pose directly above the to-be-stacked pose to the to-be-stacked pose can be generated. In this way, the safe placement path can be generated when the stacked object is in the first state.

[0141] As an implementation of the embodiment of the present application, the above correspondence can include: if the current state is the second state, the target placement path planning mode is the oblique entering placement path planning mode. In this case, the step of generating the placement path of the to-be-stacked object according to the target placement path planning mode based on the to-be-stacked pose and the size of the to-be-stacked object can include:

[0142] taking the second starting point pose as the starting point, taking the to-be-stacked pose of the to-be-stacked object as the terminal point, generating the first oblique path according to the first oblique entering placement path planning mode, or taking the second starting point pose as the starting point, taking the to-be-stacked pose of the to-be-stacked object as the terminal point, taking the first passing point pose as the passing point, and generating the placement path according to the second oblique entering placement path planning mode.

[0143] In the case where there is an object in the area of the preset range around the placement point, it indicates that when the vertical entering placement path planning mode is used for the to-be-stacked object, there is a risk of edge compression and extrusion due to the stacking deviation of the stacked object, the size deviation of the stacked object, the grasping deviation of the to-be-stacked object, etc. when the to-be-stacked object is actually placed, and these collisions cannot be identified when ideal object poses and size parameters are used for collision detection. Therefore, in order to obtain a safer placement path, the oblique entering placement path planning mode of oblique entering from one side without an object is used.

[0144] In the case where the current state is the second state, there is only one side of the stacked object in the preset range around the placement point, or there are only two sides of the stacked object in the preset range around the placement point, and the stacked objects are adjacent. Since there is no object close to the placement point in the direction opposite to the side of the placement point where the stacked object exists, the electronic device can determine the second starting point pose on the side of the placement point where there is no stacked object. Further, according to the oblique entering placement path planning mode, that is, first moving to the oblique upper side of the placement position without an object, then moving obliquely to the upper side of the placement point, and then moving vertically to the placement position, the placement path is generated.

[0145] In the first implementation, the object to be placed can be directly moved obliquely from the second start pose to the placement point. Specifically, the electronic device can generate a first oblique path with the second start pose as the start point and the to-be-placed pose of the object to be placed as the end point according to the first oblique entering placement path planning manner.

[0146] In the second implementation, the object to be placed can be obliquely leaned against the placed object from the second start pose and then vertically moved downward to the placement point. Specifically, the electronic device can generate a placement path with the second start pose as the start point, the to-be-placed pose of the object to be placed as the end point, and the first passing point pose as the passing point according to the second oblique entering placement path planning manner. The placement path includes a second oblique path and a second vertical path. The start point and the end point of the second oblique path are the second start pose and the first passing point pose, respectively. The start point and the end point of the second vertical path are the first passing point pose and the to-be-placed pose, respectively. The first passing point pose is directly above the to-be-placed pose and lower than the second start pose. The height of the first passing point pose can be half, one third, one fourth, or the like of the height of the object to be placed, which is not limited herein.

[0147] In the case where the placed object exists only on one side within a preset range around the placement point, the electronic device can generate a placement path according to the one-side oblique entering placement path planning manner. For example, a schematic diagram of a placement path generated according to the one-side oblique entering placement path planning manner can be shown in FIG. 5(a). The left side of FIG. 5(a) is an elevation view around the placement point. The vertically upward direction is the z-axis direction of the world coordinate system. The second start pose 501 is located on the side where the placed object 502 does not exist. The first passing point pose 503 is directly above the to-be-placed pose 504 and lower than the second start pose 501. The right side of FIG. 5(a) is a plan view around the placement point. The vertically upward direction and the horizontally rightward direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the first passing point pose 503 is directly above the to-be-placed pose 504, the first passing point pose 503 and the to-be-placed pose 504 coincide in the plan view.

[0148] In the preset range around the placement point, there are only two sides of the coded object, and the coded objects are adjacent. In this case, the electronic device can generate a placement path according to a double-side oblique entry placement path planning mode. For example, a schematic diagram of a placement path generated according to the double-side oblique entry placement path planning mode can be as shown in FIG. 5(b). The left side of FIG. 5(b) is an elevation view of the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The second start point pose 511 is located on one side where there is no coded object 512, and the first passing point pose 513 is located directly above the to-be-coded pose 514 and is lower than the second start point pose 511. The right side of FIG. 5(b) is a top view of the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the first passing point pose 513 is located directly above the to-be-coded pose 514, the first passing point pose 513 and the to-be-coded pose 514 coincide in the top view.

[0149] It can be seen that, in the embodiments of the present application, when the current state is the second state, the electronic device can generate a first oblique path according to the first oblique entry placement path planning mode, taking the second start point pose as the start point and taking the to-be-coded pose of the coded object as the end point, or generate a placement path according to the second oblique entry placement path planning mode, taking the second start point pose as the start point, taking the to-be-coded pose of the coded object as the end point, and taking the first passing point pose as the passing point. Since the placement path planned by the oblique entry placement path planning mode can make the to-be-coded object lean against the immediately adjacent coded object, that is, the coded object in the preset range around the placement point. Therefore, the problem of edge compression and angle compression caused by errors such as object coding deviation and object size deviation can be avoided, and only a small side extrusion and side shift will occur. In the case where the current state is the second state, the placement path generated according to the oblique entry placement path planning mode can solve the problem of edge compression, and the safety of path planning is obviously improved compared with the placement path that is directly placed vertically downward from directly above the placement point to the placement point.

[0150] As an implementation manner of the embodiments of the present application, as shown in Figure 6 The step of determining the target placement path planning mode according to the current state and the preset correspondence between the state and the placement path planning mode can include:

[0151] S601, if the current state is the third state, determining the height of the coded object farther away from the placement point, the distance between the two sides of the coded object, and the side extension distance based on the state information of the coded object.

[0152] If the current state is the third state, it indicates that there are coded objects on the relative two sides within the preset range around the placement point. Since the vertical entering placement path planning mode or the oblique entering placement path planning mode cannot be adopted in this case, in order to further determine the target placement path planning mode, the electronic device can determine the height of the coded object far away from the placement point among the coded objects on the relative two sides of the placement point, the interval between the coded objects on the relative two sides, and the side extension distance. The side extension distance is the length difference of the coded object in the direction perpendicular to the direction of the line connecting the coded objects on the relative two sides.

[0153] If the height is less than the preset height threshold, step S602 is performed; if the interval is greater than the preset interval threshold, step S603 is performed; and if the side extension distance is greater than the preset distance threshold, step S604 is performed.

[0154] S602, determining that the target placement path planning mode is the adaptive oblique entering placement path planning mode;

[0155] In the case where the height is less than the preset height threshold, the electronic device can determine that the target placement path planning mode is the adaptive oblique entering placement path planning mode. That is, first moving to the oblique upper side of the side of the placement point where no coded object exists, and then moving obliquely to the upper side of the placement point, and then moving vertically downward to the placement point. The difference between the adaptive oblique entering placement path planning mode and the oblique entering placement path planning mode is that, in the case of adopting the oblique entering placement path planning mode, there is no coded object on the oblique entering path, while in the case of adopting the adaptive oblique entering placement path planning mode, there is a coded object on the oblique entering path, so the height of entering needs to be adjusted to avoid collision.

[0156] S603, determining that the target placement path planning mode is the intermediate point oblique entering placement path planning mode;

[0157] In the case where the interval is greater than the preset interval threshold, the electronic device can determine that the target placement path planning mode is the intermediate point oblique entering placement path planning mode. That is, first moving vertically from the side that satisfies the safety interval, that is, first moving vertically downward from the side of the placement point where the interval between the coded objects on the relative two sides is greater than the preset interval threshold, and then moving obliquely to the placement point.

[0158] S604, determining that the target placement path planning mode is the planar oblique entering placement path planning mode.

[0159] In a case where the side extension distance is greater than the preset distance threshold, the electronic device can determine that the target placement path planning manner is a planar oblique entry placement path planning manner. That is, first extend a distance from the side that satisfies the side extension distance, that is, first extend a distance from the side of the stacked object on which the length in the direction perpendicular to the line connecting the opposite sides of the stacked object is shorter, to an oblique leaning point, that is, first obliquely move a distance on the side of the stacked object on which the side extension distance is greater than the preset distance threshold to a point at which the stacked object can be obliquely leaned, and then obliquely move to the placement point.

[0160] If at least two of the above conditions of the height being less than the preset height threshold, the interval being greater than the preset interval threshold, and the side extension distance being greater than the preset distance threshold are satisfied at the same time, the following three implementation manners can be used to determine the target placement path planning manner:

[0161] In a first implementation manner, the priority of each condition can be preset according to the state information of the stacked objects in the stacking scene. For example, in the stacking scene, if the height difference between the stacked objects is large, the priority of “the height being less than the preset height threshold” can be set to be high; if the interval between the stacked objects is large, the priority of “the interval being greater than the preset interval threshold” can be set to be high; and if the side extension distance between the stacked objects is large, the priority of “the side extension distance being greater than the preset distance threshold” can be set to be high.

[0162] In this way, when judging which condition is satisfied by the stacked object, the conditions corresponding to the priorities can be judged in order from high to low. If a condition is satisfied, the placement path planning manner corresponding to the condition is directly determined as the target placement path planning manner, and the subsequent conditions do not need to be judged.

[0163] For example, the conditions are arranged in order from high to low, and the order is “the height being less than the preset height threshold”, “the side extension distance being greater than the preset distance threshold”, and “the interval being greater than the preset interval threshold”. Then the electronic device can first judge whether “the height being less than the preset height threshold” is satisfied. If it is satisfied, the corresponding adaptive oblique entry placement path planning manner is directly determined as the target placement path planning manner.

[0164] In the second implementation, whether the coded object satisfies each condition can be determined simultaneously. If the coded object satisfies multiple conditions simultaneously, the placement path planning mode corresponding to the condition with the highest priority among the multiple conditions satisfied by the coded object is determined as the target placement path planning mode. For example, each condition is arranged in order of priority from high to low, and the order is "height less than a preset height threshold", "side surface extension distance greater than a preset distance threshold", and "distance greater than a preset distance threshold". If "side surface extension distance greater than a preset distance threshold" and "distance greater than a preset distance threshold" are satisfied simultaneously, the planar oblique entry placement path planning mode corresponding to "side surface extension distance greater than a preset distance threshold" is determined as the target placement path planning mode.

[0165] In the third implementation, whether the coded object satisfies each condition can be determined simultaneously. If the coded object satisfies multiple conditions simultaneously, one condition is randomly selected from the multiple conditions satisfied by the coded object, and the placement path planning mode corresponding to the selected condition is determined as the target placement path planning mode.

[0166] It can be seen that, in the third state of the coded object, the electronic device can determine the height of the coded object far away from the placement point, the distance between the coded objects on the two sides of the placement point, and the side surface extension distance based on the state information of the coded object. Furthermore, in the case where the height is less than the preset height threshold, the distance is greater than the preset distance threshold, and the side surface extension distance is greater than the preset distance threshold, the target placement path planning mode is determined to be the adaptive oblique entry placement path planning mode, the middle point oblique entry placement path planning mode, and the planar oblique entry placement path planning mode, respectively. In this way, the target placement path planning mode that is adapted to the state information of the current object can be quickly and accurately matched, and the efficiency of path planning can be improved.

[0167] As an implementation of the embodiment of the present application, the step of generating the placement path of the coded object based on the coded pose and size of the coded object according to the target placement path planning mode can include:

[0168] If the target placement path planning mode is the adaptive oblique entry placement path planning mode, the third starting point pose is taken as the starting point, the coded pose of the coded object is taken as the end point, the second passing point pose is taken as the passing point, and the placement path is generated according to the adaptive oblique entry placement path planning mode.

[0169] In a case where the height of the coded object farther away from the placement point among the coded objects on the opposite sides of the placement point is less than the preset height threshold, it is indicated that the to-be-coded object can start to move from a third start point pose on one side of the coded object with the height less than the preset height threshold. The third start point pose can be located on one side of the placement point where the coded object with the height less than the preset height threshold exists, and the lower surface of the to-be-coded object at the third start point pose is higher than the upper surface of the coded object with the height less than the preset height threshold.

[0170] Then, the to-be-coded object can be inclined to the coded object closer to the placement point among the coded objects on the opposite sides of the placement point, and then move vertically downward to the placement point. When the to-be-coded object is inclined to the coded object, the pose of the to-be-coded object is a second passing point pose, which is located directly above the to-be-coded pose and is lower than the third start point pose. The height of the second passing point pose can be half, one third, one fourth, or the like of the height of the to-be-coded object, which is not limited herein.

[0171] In this way, the electronic device can generate a placement path according to the adaptive oblique entry placement path planning manner, taking the third start point pose as a start point, the to-be-coded pose of the to-be-coded object as an end point, and the second passing point pose as a passing point. The placement path includes a third oblique path and a third vertical path, the start point and the end point of the third oblique path are the third start point pose and the second passing point pose respectively, and the start point and the end point of the third vertical path are the second passing point pose and the to-be-coded pose respectively.

[0172] In a case where there is only one side of the coded object around the placement point within the preset range, the electronic device can generate a placement path according to the one-side adaptive oblique entry placement path planning manner. For example, a schematic diagram of the placement path generated according to the one-side adaptive oblique entry placement path planning manner can be shown in FIG. 7(a). The left side of FIG. 7(a) is an elevation view of the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The third start point pose 701 is located on one side of the coded object 702 with the height less than the preset height threshold, and the lower surface of the to-be-coded object at the third start point pose 701 is higher than the upper surface of the coded object 702. The second passing point pose 703 is located directly above the to-be-coded pose 704 and is lower than the third start point pose 701. The right side of FIG. 7(a) is a top view of the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system respectively. Since the second passing point pose 703 is located directly above the to-be-coded pose 704, the second passing point pose 703 and the to-be-coded pose 704 coincide in the top view.

[0173] In a case where there are two adjacent sides of the coded object within a preset range around the placement point, the electronic device can generate a placement path according to a double-side adaptive oblique entry placement path planning mode. For example, a schematic diagram of a placement path generated according to the double-side adaptive oblique entry placement path planning mode can be as shown in FIG. 7(b). The left side of FIG. 7(b) is an elevation view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The third start pose 711 is located on one side of the coded object 712 with a height less than a preset height threshold around the placement point, and the lower surface of the to-be-coded object at the third start pose 711 is higher than the upper surface of the coded object 712. The second passing point pose 713 is located directly above the to-be-coded pose 714 and is lower than the third start pose 711. The right side of FIG. 7(b) is a plan view around the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the second passing point pose 713 is located directly above the to-be-coded pose 714, the second passing point pose 713 and the to-be-coded pose 714 coincide in the plan view.

[0174] As can be seen, in the embodiments of the present application, if the target placement path planning mode is the adaptive oblique entry placement path planning mode, the electronic device can generate a placement path according to the adaptive oblique entry placement path planning mode, with the third start pose as the start point, the to-be-coded pose of the to-be-coded object as the end point, and the second passing point pose as the passing point. In this way, the to-be-coded object can first lean against the immediately adjacent coded object, that is, the coded object on the side of the placement point that is closer to the placement point, and then move vertically downward to the to-be-coded pose, which can avoid the edge pressing and angle pressing problems caused by errors such as object stacking deviation and object size deviation.

[0175] As an implementation manner of the embodiments of the present application, the step of generating the placement path of the to-be-coded object according to the target placement path planning mode based on the to-be-coded pose and the size of the to-be-coded object can include:

[0176] If the target placement path planning mode is the intermediate point oblique entry placement path planning mode, a placement path is generated according to the intermediate point oblique entry placement path planning mode, with the fourth start pose as the start point, the to-be-coded pose of the to-be-coded object as the end point, and the third passing point pose as the passing point.

[0177] In a case where the distance between the two opposite sides of the coded objects is greater than the preset distance threshold, it indicates that the distance between the two opposite sides of the coded objects is large. Therefore, the to-be-coded object can start to move from a fourth start pose between the two opposite sides of the coded objects, and the fourth start pose can be located on one side of the two opposite sides of the coded objects where the distance is greater than the preset distance threshold. The to-be-coded object can first move vertically downward from the fourth start pose to a third passing point, and the third passing point pose is located directly below the fourth start pose and is higher than the to-be-coded pose. Then, the to-be-coded object moves obliquely from the third passing point to the placement point.

[0178] In this way, the electronic device can generate a placement path according to the fourth start pose as the starting point, the to-be-coded pose of the to-be-coded object as the end point, and the third passing point pose as the passing point, and according to the intermediate point oblique entry placement path planning mode. The placement path can include a fourth vertical path and a fourth oblique path, and the starting point and the end point of the fourth vertical path are the fourth start pose and the third passing point, respectively, and the starting point and the end point of the fourth oblique path are the third passing point and the to-be-coded pose, respectively.

[0179] In a case where there is only one side of the coded objects within the preset range around the placement point, the electronic device can generate a placement path according to the one-side intermediate point oblique entry placement path planning mode. For example, a schematic diagram of a placement path generated according to the one-side intermediate point oblique entry placement path planning mode can be as shown in FIG. 8(a). The left side of FIG. 8(a) is a front view of the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fourth start pose 801 is located on one side of the two opposite sides of the coded objects 802 where the distance is greater than the preset distance threshold. The third passing point pose 803 is located directly below the fourth start pose 801 and is higher than the to-be-coded pose 804. The right side of FIG. 8(a) is a top view of the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the third passing point pose 803 is located directly below the fourth start pose 801, the third passing point pose 803 and the fourth start pose 801 coincide in the top view.

[0180] In a case where there are two adjacent sides of the preset range around the placement point and the coded objects exist, the electronic device can generate a placement path according to a double-side middle point oblique entry placement path planning mode. For example, a schematic diagram of a placement path generated according to the double-side middle point oblique entry placement path planning mode can be as shown in FIG. 8(b). The left side of FIG. 8(b) is an elevation view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fourth start point pose 811 is located on one side between the coded objects 812 on the opposite sides, and the distance between the coded objects is greater than the preset distance threshold. The third passing point pose 813 is located directly below the fourth start point pose 811 and is higher than the to-be-coded pose 814. The right side of FIG. 8(b) is a top view around the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the third passing point pose 813 is located directly below the fourth start point pose 811, the third passing point pose 813 and the fourth start point pose 811 coincide in the top view.

[0181] It can be seen that, in the embodiment of the present application, if the target placement path planning mode is the middle point oblique entry placement path planning mode, the electronic device can generate a placement path according to the middle point oblique entry placement path planning mode, with the fourth start point pose as the start point, the to-be-coded pose of the to-be-coded object as the end point, and the third passing point pose as the passing point. The middle point oblique entry placement path planning mode can meet the safety placement requirement when the distance between the coded objects on the opposite sides is large. The vertical entry from the fourth start point pose between the coded objects on the opposite sides and meeting the safety distance from the coded objects on the opposite sides can avoid the edge pressing and angle pressing problems caused by errors such as object coding deviation and object size deviation. In addition, although the distance between the coded objects on the opposite sides is large, the to-be-coded object does not directly move vertically downward to the placement surface from the fourth start point pose, but first moves vertically downward to the third passing point pose, and then moves from the third passing point pose to the to-be-coded pose. In this way, the storage space can be saved.

[0182] As an implementation manner of the embodiment of the present application, the step of generating the placement path of the to-be-coded object according to the target placement path planning mode based on the to-be-coded pose and the size of the to-be-coded object can include:

[0183] If the target placement path planning mode is the plane oblique entry placement path planning mode, a placement path is generated according to the plane oblique entry placement path planning mode, with the fifth start point pose as the start point, the to-be-coded pose of the to-be-coded object as the end point, and the fourth passing point pose as the passing point.

[0184] In a case where the side extension distance between the two opposite sides of the coded objects is greater than the preset distance threshold, it indicates that among the two opposite sides of the coded objects, the side of the coded object is shorter in the direction perpendicular to the connecting direction of the two opposite sides of the coded objects. Therefore, the to-be-coded object can start to move from the fifth start pose on the side of the shorter coded object, and the fifth start pose is located on the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the two opposite sides of the coded objects at the placement point.

[0185] Then, the to-be-coded object can move obliquely from the fifth start pose to the fourth passing point pose, and the fourth passing point pose is lower than the fifth start pose and higher than the to-be-coded pose. Next, the to-be-coded object can move obliquely from the fourth passing point pose to the to-be-coded pose. In an embodiment, the connecting direction between the fourth passing point pose and the to-be-coded pose in the projection direction of the placement surface can be perpendicular to the connecting direction of the two opposite sides of the coded objects.

[0186] In this way, the electronic device can generate a placement path according to the fifth start pose as the starting point, the to-be-coded pose of the to-be-coded object as the ending point, and the fourth passing point pose as the passing point, according to the planar oblique entry placement path planning mode. The placement path includes a fifth oblique path and a sixth oblique path. The starting point and the ending point of the fifth oblique path are the fifth start pose and the fourth passing point pose respectively, and the starting point and the ending point of the sixth oblique path are the fourth passing point pose and the to-be-coded pose respectively.

[0187] In a case where there is only one side of the coded object within the preset range around the placement point, the electronic device can generate a placement path according to the one-side planar oblique entry placement path planning mode. For example, a schematic diagram of the placement path generated according to the one-side planar oblique entry placement path planning mode can be as shown in FIG. 9(a). The left side of FIG. 9(a) is an elevation view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fifth start pose 901 is located on the side of the first coded object 902 with a shorter length in the direction perpendicular to the connecting direction of the two opposite sides of the coded objects at the placement point. The fourth passing point pose 903 is lower than the fifth start pose 901 and higher than the to-be-coded pose 904. The right side of FIG. 9(a) is a top view around the placement point, and the vertically upward direction and the horizontally right direction are the y-axis direction and the x-axis direction of the world coordinate system respectively. The first coded object 902 and the second coded object 905 are the two opposite sides of the coded objects at the placement point, and the connecting direction of the first coded object 902 and the second coded object 905 is the x-axis direction, and the direction perpendicular to the connecting direction is the y-axis direction. The length difference of the first coded object 902 and the second coded object 905 in the direction perpendicular to the connecting direction is the distance l1, that is, the side extension distance.

[0188] When there are already coded objects on both sides of a preset range around the placement point, the electronic device can generate a placement path according to the double-plane oblique entry placement path planning method. For example, a schematic diagram of a placement path generated according to the double-plane oblique entry placement path planning method can be shown in Figure 9(b). The left side of Figure 9(b) is a front view of the area around the placement point, with the vertical upward direction being the z-axis direction of the world coordinate system. The fifth starting point pose 911 is located on one side of the shorter first coded object 912 in the direction perpendicular to the line connecting the two coded objects on opposite sides of the placement point. The fourth path point pose 913 is lower than the fifth starting point pose 911 and higher than the pose 914 to be coded. The right side of Figure 9(b) is a top view of the area around the placement point, with the vertical upward direction and the horizontal rightward direction being the y-axis direction and x-axis direction of the world coordinate system, respectively. The first coded object 912, the second coded object 915, and the third coded object 916 are coded objects located on opposite sides of the placement point. The direction of the line connecting the first coded object 902 and the second coded object 905, and the direction of the line connecting the first coded object 912 and the third coded object 916, constitutes the x-axis direction, and the direction perpendicular to the connecting line direction is the y-axis direction. The length difference between the first coded object 912, the second coded object 915, and the third coded object 916 in the direction perpendicular to the connecting line direction is the distance l2, which is the lateral extension distance.

[0189] As can be seen, in this embodiment, if the target placement path planning method is a planar oblique entry placement path planning method, the electronic device can generate a placement path using the fifth starting point pose as the starting point, the pose of the object to be coded as the ending point, and the fourth path point pose as the path point, according to the planar oblique entry placement path planning method. The planar oblique entry placement path planning method can be used when the lateral extension distance of the coded object on the opposite side meets the safe placement requirements, that is, when the lateral extension distance is greater than a preset distance threshold. Compared with the oblique entry placement path planning method, the planar oblique entry placement path planning method can move a certain distance to a position where there is no object on the placement path and then move obliquely to the placement point. Both of these movement paths can meet the requirement of no pressure risk.

[0190] As one implementation method of this application, such as Figure 10 As shown, after the steps of generating the placement path of the object to be coded based on its pose and size, and according to the target placement path planning method, the method may further include:

[0191] S1001, Obtain multiple alternative grasping states of the robotic arm;

[0192] Since the mechanical arm can collide with the coded object when moving to grab the to-be-coded object, the electronic device can obtain a plurality of alternative grabbing states of the mechanical arm, so as to select a grabbing state in which the coded object will not collide from the plurality of alternative grabbing states.

[0193] S1002, respectively according to the plurality of alternative grabbing states, calculate the collision between the mechanical arm and the coded object when the mechanical arm places the to-be-coded object along the placement path;

[0194] In order to determine whether the mechanical arm will collide with the coded object during the process of grabbing the coded object and moving along the placement path, the electronic device can calculate the collision between the mechanical arm and the coded object when the mechanical arm places the to-be-coded object along the placement path according to the plurality of alternative grabbing states. The collision can include collision and no collision.

[0195] S1003, determine the alternative grabbing state of the mechanical arm in which no collision occurs as the target grabbing state;

[0196] After obtaining the collision conditions of each alternative grabbing state, the electronic device can determine the alternative grabbing state of the mechanical arm in which no collision occurs as the target grabbing state. For example, assuming that in the alternative grabbing state 1-alternative grabbing state 10, only the alternative grabbing state 5 represents that the mechanical arm will not collide with the coded object, the alternative grabbing state 5 can be determined as the target grabbing state.

[0197] S1004, control the mechanical arm to grab the to-be-coded object in the target grabbing state and move to the placement point according to the placement path to place the to-be-coded object to the placement point.

[0198] After determining the target grabbing state, the electronic device can control the mechanical arm to grab the to-be-coded object in the target grabbing state and move to the placement point according to the placement path to place the to-be-coded object to the placement point.

[0199] It can be seen that in the embodiment of the present application, the electronic device can obtain multiple alternative grabbing states of the mechanical arm; the collision between the mechanical arm and the coded object when the mechanical arm places the to-be-coded object along the placement path is calculated according to the multiple alternative grabbing states respectively; the alternative grabbing state of the mechanical arm that does not collide is determined as the target grabbing state; the mechanical arm is controlled to grab the to-be-coded object in the target grabbing state, and moves to the placement point according to the placement path to place the to-be-coded object at the placement point. Since the mechanical arm may collide with the coded object when it moves to grab the to-be-coded object, the electronic device can obtain multiple alternative grabbing states of the mechanical arm to select a grabbing state that does not collide with the coded object from the multiple alternative grabbing states. In this way, it can be ensured that the mechanical arm does not collide with the coded object during the movement of the to-be-coded object along the placement path.

[0200] As an embodiment of the present application, another flowchart of the path planning method for stacking can be as shown in Figure 11 The specific steps can include the following steps:

[0201] S1101, obtaining coded object information, to-be-coded pose, and grabbing state;

[0202] In order to plan the path for the to-be-coded object, the electronic device can obtain coded object information, to-be-coded pose corresponding to the to-be-coded object, and multiple alternative grabbing states of the mechanical arm. The coded object information can include at least one of the following: which side around the placement point exists the coded object, the height of the coded object around the placement point, and the distance between the coded objects around the placement point.

[0203] S1102, calculating the state of the object around the placement point;

[0204] Since the state information of the coded object is obtained around the placement point corresponding to the to-be-coded object, the state information of the coded object can reflect the positional relationship between the coded object and the placement point. Therefore, the electronic device can calculate the state of the object around the placement point based on the coded object information, i.e., the current state of the coded object within a predetermined range around the placement point.

[0205] S1103, generating adaptive placement path pose points;

[0206] In order to plan the placement path in the stacking scenario and improve the efficiency of path planning, the correspondence between each state of the coded object and the placement path planning mode can be set in advance. In this way, the electronic device can determine the target placement path planning mode corresponding to the current state based on the current state of the coded object and the above correspondence. Further, based on the to-be-coded pose and size of the to-be-coded object, each adaptive placement path pose point of the to-be-coded object, i.e., the placement path, is generated according to the target placement path planning mode.

[0207] S1104, determining whether the adaptive placement path is generated successfully; if yes, performing step S1105; if no, performing step S1107;

[0208] If the coded object within the preset range around the placement point is close to the placement point, or the coded object exists on multiple sides of the placement point, the placement path may not be generated. Therefore, the electronic device can determine whether the adaptive placement path is generated successfully.

[0209] S1105, determining whether there is a collision-free grabbing state of the tool and the robot arm; if yes, performing step S1106; if no, performing step S1107;

[0210] Since the tool for grabbing the to-be-coded object and the robot arm may collide with the coded object when moving to grab the to-be-coded object. Therefore, after successfully generating the placement path, the electronic device can calculate the collision between the tool and the robot arm and the coded object when the tool and the robot arm place the to-be-coded object along the placement path according to a plurality of alternative grabbing states. Further, it is determined whether there is a collision-free grabbing state of the tool and the robot arm.

[0211] S1106, outputting the corresponding grabbing state and the placement path;

[0212] If there is a collision-free grabbing state of the tool and the robot arm, the electronic device can output the corresponding grabbing state and the placement path. Moreover, the electronic device can generate the robot arm pose corresponding to each path point based on the pose of each path point included in the placement path and the grabbing state of the robot arm.

[0213] S1107, determining that there is no safe placement path.

[0214] If the adaptive placement path fails to be generated, or there is no collision-free grabbing state of the tool and the robot arm, it is determined that there is no safe placement path.

[0215] As an embodiment of the present application, a flowchart of a placement path generation method can be as shown in Figure 12 . Specifically, it can include the following steps:

[0216] S1201, obtaining coded object information and to-be-coded pose;

[0217] In order to plan a path for the to-be-coded object, the electronic device can obtain coded object information and a to-be-coded pose corresponding to the to-be-coded object.

[0218] S1202, object state calculation around the placement point;

[0219] Since the state information of the coded object is acquired around the placement point corresponding to the to-be-coded object, the state information of the coded object can reflect the positional relationship between the coded object and the placement point. Therefore, the electronic device can calculate the object state around the placement point, i.e., the current state of the coded object within the preset range around the placement point, based on the coded object information. In this way, the direction of leaning can be determined by the object state around the placement position.

[0220] In S1203, it is determined whether there is no object around the placement point. If yes, S1204 is performed; if no, S1205 is performed.

[0221] The electronic device can determine whether there is no coded object within the preset range around the placement point.

[0222] In S1204, a vertical entering placement path is generated.

[0223] In the case where there is no coded object within the preset range around the placement point, the electronic device can generate a vertical entering placement path based on the to-be-coded pose and size of the to-be-coded object according to the vertical entering placement path planning mode.

[0224] In S1205, the object state on the oblique placement path is calculated.

[0225] In the case where there is a coded object within the preset range around the placement point, in order to further determine the state of the coded object on the opposite side of the coded object close to the placement point, the electronic device can calculate the object state on the oblique placement path. The object on the oblique placement path is the coded object far from the placement point among the coded objects on the opposite sides of the placement point.

[0226] In S1206, it is determined whether there is no object on the oblique path. If yes, S1207 is performed; if no, S1208 is performed.

[0227] The electronic device can determine whether there is no object on the oblique path based on the object state on the oblique placement path.

[0228] In S1207, an oblique entering placement path is generated.

[0229] In the case where there is no object on the opposite side, it indicates that the coded object exists on one side or adjacent two sides within the preset range around the placement point. Therefore, the electronic device can generate an oblique entering placement path based on the to-be-coded pose and size of the to-be-coded object according to the oblique entering placement path planning mode.

[0230] In S1208, parameters such as the height, spacing, and side extension distance of the coded object on the oblique path are calculated.

[0231] If there is an object on the oblique path, the height, spacing, side extension distance, and other parameters of the object on the oblique path need to be calculated. If there are objects on both sides of the placement point, that is, there are objects on both sides that need to be obliquely placed, two-side oblique entry needs to be used, and the target placement path planning mode is further determined in the same way as steps S1209, S1211, S1213, and S1215. Only the oblique entry path is different, and the bias distance on both sides needs to be increased. That is, the generated placement path needs to make the object to be coded obliquely lean to the objects on both sides.

[0232] S1209, determine whether the height is lower than a threshold value;

[0233] If it is determined that the height of the object on the oblique entry path is lower than the preset height threshold value, step S1210 is performed.

[0234] S1210, generate an adaptive oblique entry placement path;

[0235] The electronic device can adjust the oblique entry height based on the oblique entry placement path planning mode. Based on the to-be-coded pose and size of the object to be coded, an adaptive oblique entry placement path is generated according to the adaptive oblique entry placement path planning mode.

[0236] S1211, determine whether the object spacing is greater than a threshold value;

[0237] If it is determined that the spacing between the objects on both sides within the preset range around the placement point is greater than the preset spacing threshold value, that is, the spacing between the object on the oblique path and the oblique side object is large enough, step S1212 is performed. Among them, the oblique side object is the object on both sides within the preset range around the placement point, which is closer to the placement point.

[0238] S1212, generate an intermediate point oblique entry placement path;

[0239] The electronic device can generate an intermediate point oblique entry placement path according to the intermediate point oblique entry placement path planning mode based on the to-be-coded pose and size of the object to be coded.

[0240] S1213, determine whether the side extension distance is greater than a threshold value;

[0241] If it is determined that the side extension distance between the objects on both sides within the preset range around the placement point is greater than the preset distance threshold value, that is, the side extension distance is large enough, step S1214 is performed.

[0242] S1214, generate a planar oblique entry placement path;

[0243] The electronic device can generate a planar oblique entering placement path according to a planar oblique entering placement path planning mode based on the to-be-coded object to-be-coded pose and the size.

[0244] S1215, determine that all are not satisfied;

[0245] If the height of the coded object on the oblique path is not lower than the preset height threshold, the interval is not greater than the preset interval threshold, and the side surface extension distance is not greater than the preset distance threshold, the electronic device can determine that the object on the oblique path does not satisfy all the above states, and then execute step S1216.

[0246] S1216, determine that there is no safe placement path.

[0247] Generally, the placement path planning mode adopted by matching the surrounding coded object state can obtain a safe placement path. However, if the distance between the coded object and the placement point is very close, there may be no path according to the set safety distance threshold, at this time, the placement path can be obtained by reducing the safety threshold. Therefore, the safety threshold is graded to obtain paths of different safety levels. When there is still no path under the minimum safety level setting, the placement is not allowed.

[0248] In this case, there are objects adjacent to the opposite sides within the preset range around the placement point, so it is impossible to obtain a safe placement path without pressing the package within the set safety distance.

[0249] At this time, other placement planning needs to be performed. In an embodiment, the electronic device can reduce the vertical placement safety threshold, wherein the vertical placement safety threshold can be the distance between the boundary of the to-be-coded object at the placement point and the boundary of the preset range around the placement point. In this way, the preset range around the placement point will be reduced. Next, the electronic device can return to step S1203, that is, determine whether there is no object around the placement point. If there is no coded object within the preset range around the placement point, execute step S1204, that is, generate a vertical entering placement path.

[0250] In another embodiment, it is determined whether the interval between the coded objects on the opposite sides within the preset range around the placement point is not less than the length of the to-be-coded object in the direction of the connecting line of the coded objects on the opposite sides. If yes, execute step S1204, that is, generate a vertical entering placement path.

[0251] The various placement path planning methods employed in this application restrict the direction of the placement path by limiting the poses of the starting point and intermediate points, thereby generating safe placement paths that meet the safety requirements of no crushing collisions and no compressed packages during the palletizing process. As for the generation of paths between various pose points, any general path search method can be used. For example, the RRT path planning method and the HybridA* (Hybrid Astar) path planning algorithm are not specifically limited here.

[0252] In the technical solution of this application, the operations of obtaining, storing, using, processing, transmitting, providing and disclosing user personal information are all carried out with the user's authorization.

[0253] Corresponding to the above-described palletizing path planning method, this application also provides a palletizing path planning device. The following describes the palletizing path planning device provided in this application.

[0254] like Figure 13 As shown, a palletizing path planning device includes:

[0255] Information acquisition module 1301 is used to acquire the status information of the objects already coded around the placement point corresponding to the object to be coded;

[0256] The state determination module 1302 is used to determine the current state of the coded object based on the positional relationship between the coded object and the placement point as represented by the state information of the coded object.

[0257] The method determination module 1303 is used to determine the target placement path planning method based on the current state and the correspondence between the preset state and the placement path planning method;

[0258] The path generation module 1304 is used to generate a placement path for the object to be coded based on the object's pose and size, according to the target placement path planning method.

[0259] It can be seen that in the scheme provided by the embodiments of the present application, the electronic device can obtain state information of the coded object around the placement point corresponding to the to-be-coded object; based on the position relationship between the coded object and the placement point represented by the state information of the coded object, the current state of the coded object is determined; according to the correspondence between the current state and the preset state and the placement path planning mode, the target placement path planning mode is determined; and based on the to-be-coded pose and size of the to-be-coded object, the placement path of the to-be-coded object is generated according to the target placement path planning mode. Since the correspondence between the state of each coded object and the placement path planning mode of the to-be-coded object is preset, and the state of the coded object is determined by the position relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning mode takes into account the position relationship between the coded object and the placement point. In this way, after the current state of the coded object is determined, the target placement path planning mode that matches the current state can be determined based on the above-mentioned correspondence, and then the placement path of the to-be-coded object is generated according to the target placement path planning mode preset. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning is improved.

[0260] As an embodiment of the present application, the above-mentioned state determination module 1302 can include:

[0261] The coded object determination sub-module is configured to determine whether there is a coded object within a preset range around the placement point based on the position relationship between the coded object and the placement point represented by the state information of the coded object.

[0262] The first state determination sub-module is configured to determine that the current state of the coded object is a first state if there is no coded object within the preset range around the placement point.

[0263] The second state determination sub-module is configured to determine that the current state of the coded object is a second state if there is a coded object on only one side within the preset range around the placement point, or there are coded objects on only two sides within the preset range around the placement point and the coded objects are adjacent.

[0264] The third state determination sub-module is configured to determine that the current state of the coded object is a third state if there are coded objects on opposite sides within the preset range around the placement point.

[0265] As an embodiment of the present application, the above-mentioned correspondence can include: if the current state is the first state, the target placement path planning mode is a vertical entry placement path planning mode. In this case, the above-mentioned path generation module 1304 can include:

[0266] The first path generation submodule is configured to generate a first vertical path based on the size of the object to be stacked and according to the vertical entering placement path planning mode, with the first start point pose as a start point and the placement pose of the object to be stacked as an end point, where the first start point pose is directly above the placement pose of the object to be stacked.

[0267] As an implementation of the embodiment of the present application, the correspondence can include: if the current state is the second state, the target placement path planning mode is the oblique entering placement path planning mode. In this case, the path generation module 1304 can include:

[0268] The second path generation submodule is configured to generate a first oblique path according to the first oblique entering placement path planning mode, with the second start point pose as a start point and the placement pose of the object to be stacked as an end point.

[0269] The third path generation submodule is configured to generate a placement path according to the second oblique entering placement path planning mode, with the second start point pose as a start point, the placement pose of the object to be stacked as an end point, and a first passing point pose as a passing point, where the placement path includes a second oblique path and a second vertical path.

[0270] The second start point pose is located on a side where no object has been stacked, and the first passing point pose is directly above the placement pose of the object to be stacked and lower than the second start point pose.

[0271] As an implementation of the embodiment of the present application, the mode determination module 1303 can include:

[0272] The parameter determination submodule is configured to determine, if the current state is the third state, the height of the object that is farther away from the placement point among the objects that have been stacked on the two opposite sides of the placement point, the distance between the objects that have been stacked on the two opposite sides, and a side extension distance, where the side extension distance is the length difference of the objects that have been stacked in a direction perpendicular to the connecting direction of the two opposite sides.

[0273] The first mode determination submodule is configured to determine, if the height is less than a preset height threshold, that the target placement path planning mode is the adaptive oblique entering placement path planning mode.

[0274] The second mode determination submodule is configured to determine, if the distance is greater than a preset distance threshold, that the target placement path planning mode is the intermediate point oblique entering placement path planning mode.

[0275] The third mode determining sub-module is configured to determine that the target placement path planning mode is a planar oblique entering placement path planning mode if the side extension distance is greater than the preset distance threshold.

[0276] As an embodiment of the present application, the path generation module 1304 can include:

[0277] The fourth path generation sub-module is configured to generate a placement path according to the adaptive oblique entering placement path planning mode if the target placement path planning mode is the adaptive oblique entering placement path planning mode, with the third start point pose as the start point, the object to be stacked pose as the end point, and the second passing point pose as the passing point.

[0278] The placement path includes a third oblique path and a third vertical path, the third start point pose is located on one side of the already stacked object with a height less than the preset height threshold, the lower surface of the object to be stacked at the third start point pose is higher than the upper surface of the already stacked object with a height less than the preset height threshold, and the second passing point pose is located directly above the object to be stacked pose and is lower than the third start point pose.

[0279] As an embodiment of the present application, the path generation module 1304 can include:

[0280] The fifth path generation sub-module is configured to generate a placement path according to the intermediate point oblique entering placement path planning mode if the target placement path planning mode is the intermediate point oblique entering placement path planning mode, with the fourth start point pose as the start point, the object to be stacked pose as the end point, and the third passing point pose as the passing point.

[0281] The placement path includes a fourth vertical path and a fourth oblique path, the fourth start point pose is located on one side of the distance greater than the preset distance threshold, and the third passing point pose is located directly below the fourth start point pose and is higher than the object to be stacked pose.

[0282] As an embodiment of the present application, the path generation module 1304 can include:

[0283] The sixth path generation sub-module is configured to generate a placement path according to the planar oblique entering placement path planning mode if the target placement path planning mode is the planar oblique entering placement path planning mode, with the fifth start point pose as the start point, the object to be stacked pose as the end point, and the fourth passing point pose as the passing point.

[0284] The placement path includes a fifth oblique path and a sixth oblique path, the fifth start point pose is located on the side of the shorter coded object in the direction perpendicular to the connecting direction of the relative two sides of the coded object at the placement point, the fourth passing point pose is lower than the fifth start point pose and higher than the to-be-coded pose.

[0285] As an embodiment of the present application, the device can further include:

[0286] The grabbing state acquisition module is configured to acquire a plurality of candidate grabbing states of the mechanical arm.

[0287] The collision condition calculation module is configured to calculate the collision condition between the mechanical arm and the coded object when the mechanical arm places the to-be-coded object along the placement path according to the plurality of candidate grabbing states.

[0288] The grabbing state determination module is configured to determine the candidate grabbing state of the mechanical arm in which no collision occurs as a target grabbing state.

[0289] The control module is configured to control the mechanical arm to grab the to-be-coded object in the target grabbing state and move to the placement point according to the placement path to place the to-be-coded object at the placement point.

[0290] The present application also provides an electronic device, as shown in the accompanying drawings, which includes: Figure 14

[0291] The memory 1401 is configured to store a computer program.

[0292] The processor 1402 is configured to execute the program stored in the memory 1401 to implement the path planning method for stacking as described in any of the above embodiments.

[0293] The electronic device can further include a communication bus and / or a communication interface, and the processor 1402, the communication interface, and the memory 1401 can communicate with each other through the communication bus.

[0294] ​It can be seen that in the scheme provided by the embodiment of the application, the electronic device can acquire state information of the coded object around the placement point corresponding to the to-be-coded object; based on a position relationship between the coded object and the placement point represented by the state information of the coded object, a current state of the coded object is determined; according to a correspondence between the current state and a preset state and a placement path planning manner, a target placement path planning manner is determined; and based on the to-be-coded pose and the size of the to-be-coded object, the placement path of the to-be-coded object is generated according to the target placement path planning manner. Since the correspondence between the state of each coded object and the placement path planning manner of the to-be-coded object is preset, and the state of the coded object is determined based on the position relationship between the coded object and the placement point represented by the state information of the coded object, the placement path planning manner takes into account the position relationship between the coded object and the placement point. In this way, after the current state of the coded object is determined, the target placement path planning manner matched with the current state can be determined based on the above-mentioned correspondence, and then the placement path of the to-be-coded object is generated according to the preset target placement path planning manner. Therefore, the placement path can be planned in the coding and stacking scene, and the efficiency of path planning is improved.

[0295] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus.

[0296] The communication interface is used for communication between the electronic device and other devices.

[0297] The memory can include a Random Access Memory (RAM) and can also include a Non-Volatile Memory (NVM), for example, at least one disk memory. Optionally, the memory can also be at least one storage device located away from the aforementioned processor.

[0298] The processor described above can be a general processor, including a central processing unit (CPU), a network processor (NP), etc.; can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.

[0299] In another embodiment provided in the present application, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the steps of the palletizing path planning method in any of the above embodiments.

[0300] In another embodiment provided in the present application, a computer program product is provided, and the computer program product contains instructions. When the computer program product is executed on a computer, the computer is caused to execute the palletizing path planning method in any of the above embodiments.

[0301] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a solid state disk (SSD) and the like.

[0302] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0303] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, electronic devices, computer-readable storage media, and computer program products are basically similar to the method embodiments, and therefore the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0304] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A path planning method for palletizing, characterized in that, The method includes: Obtain the status information of the objects already coded around the placement point of the object to be coded; Based on the positional relationship between the coded object and the placement point as represented by the state information of the coded object, the current state of the coded object is determined. Based on the current state and the correspondence between the preset state and the placement path planning method, the target placement path planning method is determined; Based on the pose and size of the object to be coded, the placement path of the object to be coded is generated according to the target placement path planning method. The step of determining the target placement path planning method based on the current state and the preset correspondence between the state and the placement path planning method includes: If the current state is the third state, based on the state information of the coded objects, determine the height of the coded object farther from the placement point on both sides of the placement point, the spacing between the coded objects on both sides of the placement point, and the lateral extension distance. The third state indicates that there are coded objects on both sides of the placement point within a preset range. The lateral extension distance is the length difference of the coded objects in the direction perpendicular to the line connecting the coded objects on both sides of the placement point. If the height is less than the preset height threshold, the target placement path planning method is determined to be the adaptive oblique entry placement path planning method; If the spacing is greater than the preset spacing threshold, the target placement path planning method is determined to be the diagonal entry placement path planning method from the middle point. If the lateral extension distance is greater than a preset distance threshold, the target placement path planning method is determined to be a planar oblique entry placement path planning method.

2. The method according to claim 1, characterized in that, The step of determining the current state of the coded object based on the positional relationship between the coded object and the placement point, as represented by the state information of the coded object, includes: Based on the positional relationship between the coded object and the placement point as represented by the state information of the coded object, it is determined whether there is a coded object within a preset range around the placement point; If there are no coded objects within a preset range around the placement point, the current state of the coded object is determined to be the first state; If there is a coded object on only one side within the preset range around the placement point, or if there are coded objects on only both sides within the preset range around the placement point, and the coded objects are adjacent, the current state of the coded object is determined to be the second state. If there are coded objects on opposite sides within a preset range around the placement point, the current state of the coded objects is determined to be the third state.

3. The method according to claim 2, characterized in that, The correspondence includes: if the current state is the first state, the target placement path planning method is the vertical entry placement path planning method; The step of generating a placement path for the object to be coded based on its pose and size, according to the target placement path planning method, includes: Starting from the first starting point pose and ending at the pose of the object to be coded, a first vertical path is generated based on the size of the object to be coded and according to the vertical entry placement path planning method, wherein the first starting point pose is located directly above the pose of the object to be coded.

4. The method according to claim 2, characterized in that, The correspondence includes: if the current state is the second state, the target placement path planning method is the diagonal entry placement path planning method; The step of generating a placement path for the object to be coded based on its pose and size, according to the target placement path planning method, includes: Starting from the second starting point pose and ending at the pose of the object to be coded, a first oblique path is generated according to the first oblique entry placement path planning method, or... Starting from the second starting point pose, with the pose of the object to be coded as the end point, and with the pose of the first path point as the path point, a placement path is generated according to the second oblique entry placement path planning method. The placement path includes the second oblique path and the second vertical path. The second starting point pose is located on the side of the placement point where there is no coded object, and the first transit point pose is located directly above the pose to be coded and below the second starting point pose.

5. The method according to claim 1, characterized in that, The step of generating a placement path for the object to be coded based on its pose and size, according to the target placement path planning method, includes: If the target placement path planning method is an adaptive oblique entry placement path planning method, the placement path is generated with the third starting point pose as the starting point, the pose of the object to be coded as the ending point, and the pose of the second path point as the path point. The placement path includes a third oblique path and a third vertical path. The third starting point pose is located on the side of the placement point where there is a coded object whose height is less than a preset height threshold. The lower surface of the object to be coded at the third starting point pose is higher than the upper surface of the coded object whose height is less than the preset height threshold. The second path point pose is located directly above the pose to be coded and lower than the third starting point pose.

6. The method according to claim 1, characterized in that, The step of generating a placement path for the object to be coded based on its pose and size, according to the target placement path planning method, includes: If the target placement path planning method is the midpoint diagonal entry placement path planning method, the fourth starting point pose is taken as the starting point, the pose of the object to be coded is taken as the ending point, and the pose of the third path point is taken as the path point, and the placement path is generated according to the midpoint diagonal entry placement path planning method. The placement path includes a fourth vertical path and a fourth diagonal path. The fourth starting point pose is located on the side where the spacing is greater than the preset spacing threshold. The third path point pose is located directly below the fourth starting point pose and above the pose to be coded.

7. The method according to claim 1, characterized in that, The step of generating a placement path for the object to be coded based on its pose and size, according to the target placement path planning method, includes: If the target placement path planning method is a planar oblique entry placement path planning method, the placement path is generated with the fifth starting point pose as the starting point, the target object's target pose as the ending point, and the fourth path point pose as the path point, according to the planar oblique entry placement path planning method. The placement path includes a fifth oblique path and a sixth oblique path. The fifth starting point pose is located on the side of the shorter coded object in the direction perpendicular to the line connecting the coded objects on the opposite sides. The fourth path point pose is lower than the fifth starting point pose and higher than the pose to be coded.

8. The method according to any one of claims 1-6, characterized in that, After the step of generating the placement path of the object to be coded according to the target placement path planning method based on the object's pose and size, the method further includes: Obtain multiple alternative grasping states of the robotic arm; According to the multiple alternative grasping states, calculate the collision situation between the robotic arm and the already-coded object when the robotic arm places the object to be coded along the placement path; The alternative grasping states of the robotic arm that do not involve collisions are determined as the target grasping states; The robotic arm is controlled to grasp the object to be coded in the target grasping state, and moves to the placement point according to the placement path, and places the object to be coded at the placement point.

9. A palletizing path planning device, characterized in that, The device includes: The information acquisition module is used to acquire the status information of the objects already coded around the placement point of the object to be coded. The state determination module is used to determine the current state of the coded object based on the positional relationship between the coded object and the placement point as represented by the state information of the coded object. The method determination module is used to determine the target placement path planning method based on the current state and the correspondence between the preset state and the placement path planning method; The path generation module is used to generate a placement path for the object to be coded based on the object's pose and size, according to the target placement path planning method. The method determination module includes: The parameter determination submodule is used to determine, if the current state is the third state, the height of the coded object farther away from the placement point among the coded objects on opposite sides of the placement point, the spacing between the coded objects on opposite sides, and the lateral extension distance, based on the state information of the coded objects. The third state indicates that there are coded objects on opposite sides within a preset range around the placement point; the lateral extension distance is the length difference of the coded objects in a direction perpendicular to the line connecting the coded objects on opposite sides. The first method determination submodule is used to determine the target placement path planning method as an adaptive oblique entry placement path planning method if the height is less than a preset height threshold. The second method determines the sub-module, which is used to determine the target placement path planning method as the diagonal entry placement path planning method from the middle point if the spacing is greater than the preset spacing threshold. The third method determines the submodule, which is used to determine the target placement path planning method as a planar oblique entry placement path planning method if the side extension distance is greater than a preset distance threshold.

10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-8.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-8.

Citation Information

Patent Citations

  • Robotic system with dynamic packing mechanism

    CN112009812A

  • Stacking position real-time planning method and system considering stability constraint

    CN117923038A