Stacking path planning method and device, electronic equipment and storage medium
By obtaining the status information of coded objects around the objects to be coded in the palletized scene, determining the current state and selecting the appropriate path planning method, the problem of low path planning efficiency and difficulty in planning feasible paths in the prior art is solved, and a more efficient and safe path planning is achieved.
Patent Information
- Application Number
- CN202411238800.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2044-09-04
AI Technical Summary
In palletizing scenarios, existing path planning methods are inefficient and difficult to plan feasible placement paths, especially when there are many coded objects and complex scenarios.
By obtaining the status information of the coded objects around the placement point corresponding to the object to be coded, the current status of the coded objects is determined, and the target placement path planning method is determined based on the correspondence between the preset state and the placement path planning method, and the placement path of the object to be coded is generated.
It improves the efficiency of path planning, can effectively plan placement paths in palletizing scenarios, reduces invalid expansion nodes, and improves the success rate and security of path planning.
Smart Images

Figure CN119871374A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of palletizing technology, and in particular to a palletizing path planning method, device, electronic equipment and storage medium. Background Art
[0002] Palletizing is the process of using a robotic 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 planning method of the robotic arm is usually RRT (Rapidly-Exploring Random Tree). This method introduces the target tendency coefficient k, corrects the expansion of random sampling points, reduces the number of invalid expansion nodes, and thus obtains a safe path between two points of the robotic arm.
[0003] The above path planning method can effectively plan a feasible and safe path when there are few obstacles. However, in the palletizing scenario, since there are often many objects to be stacked and the scenario is relatively complex, the planning efficiency using this method is very low, and there is a high probability that the placement path cannot be planned. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a palletizing path planning method, device, electronic device and storage medium to plan a placement path in a palletizing scenario and improve the efficiency of path planning. The specific technical solution is as follows:
[0005] In a first aspect, an embodiment of the present application provides a palletizing path planning method, the method comprising:
[0006] Obtain the status information of the coded objects around the placement point corresponding to the object to be coded;
[0007] Determining a current state of the coded object based on a positional relationship between the coded object and the placement point represented by the state information of the coded object;
[0008] Determine a target placement path planning method according to a correspondence between the current state and a preset state and the placement path planning method;
[0009] Based on the to-be-coded posture and size of the to-be-coded object, a placement path for the to-be-coded object is generated according to the target placement path planning method.
[0010] Optionally, the step of determining the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object includes:
[0011] Determining whether there is a coded object within 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 within a preset range around the placement point, determining that the current state of the coded object is a first state;
[0013] 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, determining that the current state of the coded object is the second state;
[0014] If there are coded objects on two opposite sides within a preset range around the placement point, it is determined that the current state of the coded object is the 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 a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises:
[0017] Taking the first starting point posture as the starting point and the waiting posture of the object to be coded as the end point, based on the size of the object to be coded and in accordance with the vertical entry placement path planning method, a first vertical path is generated, wherein the first starting point posture is located directly above the waiting posture.
[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 a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises:
[0020] Taking the second starting point posture as the starting point and the posture of the object to be coded as the end point, a first oblique path is generated according to the first oblique entry placement path planning method, or,
[0021] Taking the second starting point posture as the starting point, the posture of the object to be coded as the end point, and the posture of the first waypoint as the waypoint, a placement path is generated according to the second oblique entry placement path planning mode, wherein the placement path includes a second oblique path and a second vertical path;
[0022] Among them, the second starting point position is located on the side of the placement point where there is no coded object, and the first waypoint position is located directly above the to-be-coded position and lower than the second starting point position.
[0023] Optionally, the step of determining the target placement path planning mode according to the corresponding relationship between the current state and the preset state and the placement path planning mode includes:
[0024] If the current state is the third state, based on the state information of the coded object, determine the height of the coded object farther from the placement point among the coded objects on the two opposite sides of the placement point, the spacing between the coded objects on the two opposite sides, and the side extension distance, wherein the side extension distance is the length difference of the coded object in a direction perpendicular to the connection direction of the coded objects on the two opposite sides;
[0025] If the height is less than a preset height threshold, determining that the target placement path planning mode is an adaptive oblique entry placement path planning mode;
[0026] If the distance is greater than a preset distance threshold, determining that the target placement path planning mode is a midpoint 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 method is a plane oblique entry placement path planning method.
[0028] Optionally, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method includes:
[0029] If the target placement path planning method is an adaptive oblique entry placement path planning method, a placement path is generated according to the adaptive oblique entry placement path planning method, with the third starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the second waypoint posture as the waypoint;
[0030] Among them, the placement path includes a third oblique path and a third vertical path, the third starting point position is located on the side of the placement point where there is a coded object with a height less than a preset height threshold, the lower surface of the object to be coded at the third starting point position is higher than the upper surface of the coded object with a height less than the preset height threshold, and the second waypoint position is located directly above the to-be-coded position and lower than the third starting point position.
[0031] Optionally, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method includes:
[0032] If the target placement path planning mode is a midpoint oblique entry placement path planning mode, a placement path is generated according to the midpoint oblique entry placement path planning mode, with the fourth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the third waypoint posture as the waypoint;
[0033] Among them, the placement path includes a fourth vertical path and a fourth oblique path, the fourth starting point posture is located on the side where the spacing is greater than the preset spacing threshold, and the third waypoint posture is located directly below the fourth starting point posture and higher than the waiting code posture.
[0034] Optionally, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method includes:
[0035] If the target placement path planning mode is a plane oblique entry placement path planning mode, taking the fifth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the fourth waypoint posture as the waypoint, a placement path is generated according to the plane oblique entry placement path planning mode;
[0036] Among them, the placement path includes a fifth oblique path and a sixth oblique path, the fifth starting point position is located on the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the coded objects on the opposite sides at the placement point, and the fourth passing point position is lower than the fifth starting point position and higher than the to-be-coded position.
[0037] Optionally, after the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method, the method further includes:
[0038] Get multiple alternative grasping states of the robot arm;
[0039] Calculating, according to the multiple candidate grasping states, collision conditions between the robot arm and the coded object when placing the object to be coded along the placement path;
[0040] Determine the alternative grasping state of the robot arm without collision as the target grasping state;
[0041] The robot 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.
[0042] In a second aspect, an embodiment of the present application provides a palletizing path planning device, the device comprising:
[0043] An information acquisition module is used to obtain status information of coded objects around the placement point corresponding to the object to be coded;
[0044] a state determination module, configured to determine a current state of the coded object based on a positional relationship between the coded object and the placement point represented by the state information of the coded object;
[0045] A mode determination module, used to determine a target placement path planning mode according to a correspondence between the current state and a preset state and the placement path planning mode;
[0046] The path generation module is used to generate a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method.
[0047] Optionally, the state determination module includes:
[0048] a coded object determination submodule, 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 object and the placement point represented by the state information of the coded object;
[0049] A first state determination submodule, configured to determine that the current state of the coded object is a first state if there is no coded object within a preset range around the placement point;
[0050] A second state determination submodule, configured to determine that the current state of the coded object is the second state if there is a coded object on only one side within a 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 to each other;
[0051] The third state determination submodule is configured to determine that the current state of the coded object is the third state if there are coded objects on two opposite sides within a preset range around the placement point.
[0052] 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;
[0053] The path generation module comprises:
[0054] The first path generation submodule is used to generate a first vertical path with a first starting point posture as a starting point and a waiting posture of the object to be coded as an end point, based on the size of the object to be coded and in accordance with the vertical entry placement path planning method, wherein the first starting point posture is located directly above the waiting posture.
[0055] 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;
[0056] The path generation module comprises:
[0057] A second path generation submodule is used to generate a first oblique path with the second starting point posture as the starting point and the posture of the object to be coded as the end point according to the first oblique entry placement path planning mode;
[0058] A third path generation submodule is used to generate a placement path by taking the second starting point posture as the starting point, the posture of the object to be coded as the end point, and the posture of the first waypoint as the waypoint, according to the second oblique entry placement path planning mode, wherein the placement path includes a second oblique path and a second vertical path;
[0059] Among them, the second starting point position is located on the side of the placement point where there is no coded object, and the first waypoint position is located directly above the to-be-coded position and lower than the second starting point position.
[0060] Optionally, the mode determination module includes:
[0061] a parameter determination submodule, configured to determine, if the current state is the third state, based on the state information of the coded object, a height of a coded object farther from the placement point among the coded objects on the opposite sides of the placement point, a spacing between the coded objects on the opposite sides, and a lateral extension distance, wherein the lateral extension distance is a length difference of the coded object in a direction perpendicular to a connection direction of the coded objects on the opposite sides;
[0062] A first mode determination submodule is used to determine that the target placement path planning mode is an adaptive oblique entry placement path planning mode if the height is less than a preset height threshold;
[0063] The second mode determination submodule is used to determine that the target placement path planning mode is a midpoint oblique entry placement path planning mode if the distance is greater than a preset distance threshold;
[0064] The third mode determination submodule is used to determine that the target placement path planning mode is a plane oblique entry placement path planning mode if the side extension distance is greater than a preset distance threshold.
[0065] Optionally, the path generation module includes:
[0066] The fourth path generation submodule is used for, if the target placement path planning mode is an adaptive oblique entry placement path planning mode, taking the third starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the second waypoint posture as the waypoint, to generate a placement path according to the adaptive oblique entry placement path planning mode;
[0067] Among them, the placement path includes a third oblique path and a third vertical path, the third starting point position is located on the side of the placement point where there is a coded object with a height less than a preset height threshold, the lower surface of the object to be coded at the third starting point position is higher than the upper surface of the coded object with a height less than the preset height threshold, and the second waypoint position is located directly above the to-be-coded position and lower than the third starting point position.
[0068] Optionally, the path generation module includes:
[0069] A fifth path generation submodule is used for, if the target placement path planning mode is a midpoint oblique entry placement path planning mode, taking the fourth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the third waypoint posture as the waypoint, according to the midpoint oblique entry placement path planning mode, to generate a placement path;
[0070] Among them, the placement path includes a fourth vertical path and a fourth oblique path, the fourth starting point posture is located on the side where the spacing is greater than the preset spacing threshold, and the third waypoint posture is located directly below the fourth starting point posture and higher than the waiting code posture.
[0071] Optionally, the path generation module includes:
[0072] The sixth path generation submodule is used for, if the target placement path planning mode is a plane oblique entry placement path planning mode, taking the fifth starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the fourth waypoint posture as the waypoint, according to the plane oblique entry placement path planning mode, to generate a placement path;
[0073] Among them, the placement path includes a fifth oblique path and a sixth oblique path, the fifth starting point position is located on the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the coded objects on the opposite sides at the placement point, and the fourth passing point position is lower than the fifth starting point position and higher than the to-be-coded position.
[0074] Optionally, the device further comprises:
[0075] A grasping state acquisition module is used to obtain multiple candidate grasping states of the robot arm;
[0076] A collision situation calculation module, used for calculating the collision situation between the robot arm and the coded object when placing the object to be coded along the placement path according to the multiple alternative grasping states respectively;
[0077] A grasping state determination module, used for determining the candidate grasping state of the robot arm without collision as the target grasping state;
[0078] The control module is used to control the robot arm to grasp the object to be coded in the target grasping state, move to the placement point according to the placement path, and place the object to be coded at the placement point.
[0079] In a third aspect, an embodiment of the present application provides an electronic device, including:
[0080] Memory, used to store computer programs;
[0081] The processor is used to implement any method described in the first aspect when executing a program stored in the memory.
[0082] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any method described in the first aspect is implemented.
[0083] Beneficial effects of the embodiments of the present application:
[0084] In the scheme provided by the embodiment of the present application, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the object to be coded; determine the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object; determine the target placement path planning method according to the corresponding relationship between the current state and the preset state and the placement path planning method; based on the to-be-coded posture and size of the object to be coded, generate the placement path of the object to be coded according to the target placement path planning method. Since the corresponding relationship between the state of each coded object and the placement path planning method of the object to be coded is preset, and the state of the coded object is determined by the positional relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning method takes into account the positional relationship between the coded object and the placement point. In this way, after determining the current state of the coded object, the target placement path planning method matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be coded can be generated according to the preset target placement path planning method. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning can be improved. Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0085] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0086] Figure 1 A flow chart of a palletizing path planning method provided in an embodiment of the present application;
[0087] Figure 2(a) is based on Figure 1 A first schematic diagram of the state of coded objects around the placement point of the illustrated embodiment;
[0088] Figure 2(b) is based on Figure 1 A second schematic diagram of the state of the coded objects around the placement point of the illustrated embodiment;
[0089] Figure 2(c) is based on Figure 1 A third schematic diagram of the state of the coded objects around the placement point of the illustrated embodiment;
[0090] Figure 2(d) is based on Figure 1 A fourth schematic diagram of the state of the coded objects around the placement point of the illustrated embodiment;
[0091] Figure 3 for Figure 1 A specific flow chart of step S102 in the illustrated embodiment;
[0092] Figure 4 Based on Figure 1 A schematic diagram of a first vertical path generated according to the vertical entry placement path planning method of the illustrated embodiment;
[0093] Figure 5(a) is based on Figure 1 A schematic diagram of a placement path generated according to a single-side oblique entry placement path planning method in the illustrated embodiment;
[0094] Figure 5(b) is based on Figure 1 A schematic diagram of a placement path generated according to a double-sided oblique entry placement path planning method in the illustrated embodiment;
[0095] Figure 6 for Figure 1 A specific flow chart of step S103 in the illustrated embodiment;
[0096] Figure 7(a) is based on Figure 1 A schematic diagram of a placement path generated according to a unilateral adaptive oblique entry placement path planning method in the embodiment shown;
[0097] Figure 7(b) is based on Figure 1 A schematic diagram of a placement path generated according to a bilaterally adaptive oblique entry placement path planning method in the illustrated embodiment;
[0098] Figure 8(a) is based on Figure 1 A schematic diagram of a placement path generated by a single-side middle point obliquely entering the placement path planning method in the embodiment shown;
[0099] Figure 8(b) is based on Figure 1 A schematic diagram of a placement path generated by a placement path planning method in which the midpoints on both sides enter obliquely in the embodiment shown;
[0100] Figure 9(a) is based on Figure 1 A schematic diagram of a placement path generated by a single-side plane oblique entry placement path planning method in the illustrated embodiment;
[0101] Figure 9(b) is based on Figure 1 A schematic diagram of a placement path generated by a double-sided plane oblique entry placement path planning method in the embodiment shown;
[0102] Fig.10 Based on Figure 1 A flow chart of a method for determining the grasping state of a robot arm in the illustrated embodiment;
[0103] Fig.11 Based on Figure 1 Another flow chart of the palletizing path planning method of the illustrated embodiment;
[0104] Fig.12 Based on Figure 1 A flow chart of a placement path generation method of the illustrated embodiment;
[0105] Fig.13 A schematic diagram of the structure of a palletizing path planning device provided in an embodiment of the present application;
[0106] Fig.14 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0107] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field based on the present application belong to the scope of protection of the present application.
[0108] In order to plan a placement path in a palletizing scenario and improve the efficiency of path planning. The present application embodiment 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 the present application embodiment is introduced.
[0109] The palletizing path planning method provided in the embodiment of the present application can be applied to any electronic device that needs to perform path planning in a palletizing scenario, for example, a central controller, a path planner, and a processing device, etc., which are not specifically limited here. For the sake of clarity, they are subsequently referred to as electronic devices in this article.
[0110] like Figure 1 As shown, a palletizing path planning method comprises:
[0111] S101, obtaining status information of coded objects around a placement point corresponding to the object to be coded;
[0112] S102, determining a current state of the coded object based on a positional 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 method according to a correspondence between the current state and a preset state and the placement path planning method;
[0114] S104: Based on the position and size of the object to be coded, and in accordance with the target placement path planning method, generate a placement path for the object to be coded.
[0115] It can be seen that in the scheme provided by the embodiment of the present application, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the object to be coded; determine the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object; determine the target placement path planning method according to the corresponding relationship between the current state and the preset state and the placement path planning method; based on the to-be-coded posture and size of the object to be coded, generate the placement path of the object to be coded according to the target placement path planning method. Since the corresponding relationship between the state of each coded object and the placement path planning method of the object to be coded is preset, and the state of the coded object is determined by the positional relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning method takes into account the positional relationship between the coded object and the placement point. In this way, after determining the current state of the coded object, the target placement path planning method matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be coded can be generated according to the preset target placement path planning method. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning can be improved.
[0116] In step S101, the electronic device may obtain status information of coded objects around the placement point corresponding to the object to be coded. The status information of coded objects around the placement point may include at least one of which side of the placement point there is a coded object, the height of the coded objects around the placement point, and the spacing of the coded objects around the placement point.
[0117] The status information of the coded objects around the above-mentioned placement point can be determined by defining a certain area around the actual placement position. In one embodiment, image acquisition can be performed on a certain area around the placement point, and image recognition can be performed on the acquired images to obtain the status information of the coded objects around the placement point. In another embodiment, each time an object is placed, the status information of the placed object can be recorded. In this way, when the object to be coded is placed subsequently, the status information of the coded objects around the placement point can be determined based on the recorded status information of the object.
[0118] Since the state information of the coded object is obtained around the placement point corresponding to the object to be coded, the state information of the coded object can reflect the positional relationship between the coded object and the placement point. In this way, the electronic device can determine the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object, that is, execute step S102. Among them, the position of the coded object in the defined area around the coded object represents the state of the coded object.
[0119] For example, Figure 2(a)-Figure 2(d)Schematic diagrams of four states of coded objects around the placement points. In FIG. 2(a), there are no coded objects in any direction within the preset range 203 around the placement point 202 corresponding to the object to be coded 201, which is a state where there are no objects around. In FIG. 2(b), there is a coded object in only one direction within the preset range 203 around the placement point 202 corresponding to the object to be coded 201, which is a state where there is an adjacent object on one side. In FIG. 2(c), there are coded objects in two adjacent directions within the preset range 203 around the placement point 202 corresponding to the object to be coded 201, which is a state where there are adjacent objects on both adjacent sides. In FIG. 2(d), there are coded objects in two opposite directions within the preset range 203 around the placement point 202 corresponding to the object to be coded 201, which is a state where there are adjacent objects on both opposite sides.
[0120] In order to plan a placement path in a palletizing scenario and improve the efficiency of path planning, the correspondence between each state of the coded object and the placement path planning method can be preset. For example, the correspondence may include: the state with no objects around as shown in FIG2(a) corresponds to the vertical entry placement path planning method, and the state with adjacent objects on one side as shown in FIG2(b) corresponds to the oblique entry placement path planning method. In this way, after determining the current state of the coded object, the target placement path planning method can be determined according to the current state and the preset correspondence, that is, step S103 is executed.
[0121] For example, assuming that the corresponding relationship includes: state 1-state 4 respectively corresponds to placement path planning mode 1-placement path planning mode 4. Then, after determining that the current state of the coded object is state 3, the target placement path planning mode can be determined to be placement path planning mode 3 based on state 3 and the above corresponding relationship.
[0122] Since the end point of the placement path of the object to be coded is the position to be coded of the object to be coded, and in order to ensure that the object to be coded does not collide with the coded object, the size of the object to be coded needs to be considered. Therefore, after determining the target placement path planning method, the electronic device can generate a placement path for the object to be coded based on the position to be coded and size of the object to be coded according to the target placement path planning method, that is, execute step S104.
[0123] It can be seen that in the embodiment of the present application, since the corresponding relationship between the state of each coded object and the placement path planning method of the object to be coded is pre-set, and the state of the coded object is determined by the positional relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning method takes into account the positional relationship between the coded object and the placement point. In this way, after determining the current state of the coded object, the target placement path planning method matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be coded is generated according to the pre-set target placement path planning method. Therefore, in the palletizing scene, the success rate and efficiency of path planning can be improved. Since the placement path planning method takes into account the positional relationship between the coded object and the placement point, the compression problem caused by the actual palletizing error can be avoided, and the safety of palletizing placement can be improved. Furthermore, the intelligence of palletizing application, the safety of palletizing placement, the success rate of palletizing placement path planning, and the efficiency of path planning can be improved.
[0124] In addition, the scheme provided by the embodiment of the present application can be applied to palletizing scenarios such as single palletizing and mixed palletizing. Among them, mixed palletizing is the process of stacking boxes of different sizes one by one on a pallet or a tray. An important aspect of the application of automated palletizing is the need to automatically generate the placement path points executed by the robot arm. In the palletizing of a single object, since all objects are of the same height, the state of the objects around the placement point is relatively simple, and the pre-placement point with a fixed side offset and a lifting distance can be used to achieve safe placement path planning. However, in the case of non-single object palletizing, that is, mixed palletizing, the state of the package around the placement point is much more complicated, and a more intelligent path planning method is required. At present, there are many common robot arm path planning methods in the relevant technology, but because the palletizing scene has the particularity that there are often many objects that have been stacked and the scene is relatively complex, the path planning method in the relevant technology is not suitable for the path planning of the palletizing entry segment. In the scheme provided by the present application, several reasonable palletizing path modes are used for path planning. Since the actual errors such as object stacking deviation and object size deviation are considered, a safer and more reasonable palletizing path can be obtained.
[0125] As an implementation method of the present application, Figure 3 As shown, the step of determining the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object may include:
[0126] S301, determining whether there is a coded object within 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;
[0127] Since the state information of the coded object is obtained 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 within a preset range around the placement point determines the placement path planning method to be adopted for path planning of the object to be coded, the electronic device can determine whether there is a coded object within the preset range around the placement point based on the above positional relationship.
[0128] If there is no coded object within the preset range around the placement point, execute step S302; if there is a coded object on only one side of the preset range around the placement point, or, there are coded objects on only two sides of the preset range around the placement point, and the coded objects are adjacent, execute step S303; if there are coded objects on two opposite sides of the preset range around the placement point, execute step S304.
[0129] S302, determining that the current state of the coded object is a first state;
[0130] If there is no coded object within the preset range around the placement point, the electronic device can determine that the current state of the coded object is the first state. For example, a schematic diagram of the first state can be shown in FIG2(a).
[0131] S303, determining that the current state of the coded object is a second state;
[0132] If there is a coded object on only one side, or there are coded objects on only two sides within a preset range around the placement point, and the coded objects are adjacent, then the electronic device can determine that the current state of the coded object is the second state. For example, schematic diagrams of the second state can be shown in Figures 2(b) and 2(c).
[0133] S304: Determine that the current state of the coded object is a third state.
[0134] If there are coded objects on two opposite sides within the preset range around the placement point, the electronic device can determine that the current state of the coded object is the third state. For example, a schematic diagram of the third state can be shown in FIG2(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 within a 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 then determine whether the current state of the coded object is the first state, the second state or the third state based on whether there is a coded object within the preset range. Since the state information of the coded object is obtained 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 within the preset range around the placement point determines the placement path planning method to be adopted for path planning of the coded object, the electronic device can determine whether there is a coded object within the preset range around the placement point based on the above-mentioned positional relationship. In this way, the current state of the coded object can be determined quickly and accurately.
[0136] As an implementation of an embodiment of the present application, the above correspondence may include: if the current state is the first state, the target placement path planning method is a vertical entry placement path planning method. In this case, the above step of generating the placement path of the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method may include:
[0137] Taking the first starting point posture as the starting point, taking the posture of the object to be coded as the end point, and based on the size of the object to be coded and in accordance with the vertical entry placement path planning method, a first vertical path is generated.
[0138] When the current state is the first state, there are no coded objects within the preset range around the placement point. Therefore, even if the object to be coded is placed vertically downward at the placement point, there will be no safety issues such as squeezing, compression, and edge collision with the coded object. Therefore, the electronic device can use the first starting point posture directly above the posture to be coded as the starting point, and the posture to be coded of the object to be coded as the end point, and based on the size of the object to be coded, follow the vertical entry placement path planning method, that is, move directly from the top of the placement point to the placement position to generate the first vertical path.
[0139] For example, a schematic diagram of the first vertical path generated according to the vertical entry placement path planning method can be as follows: Figure 4 shown. Figure 4 The left side is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The first starting point position 401 is located directly above the waiting position 402. Figure 4 The right side of is a top view around the placement point, and 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 starting point position 401 is located directly above the waiting position 402, the first starting point position 401 and the waiting position 402 in the top view overlap.
[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 posture as the starting point and the waiting posture of the object to be coded as the end point, and based on the size of the object to be coded, generate a first vertical path in accordance with the vertical entry placement path planning method. Since there is no coded object within the preset range around the placement point, it means that placing the object to be coded vertically downward at the placement point will not cause safety issues such as compression and edge collision with the coded object. Therefore, a first vertical path can be generated from the first starting point posture directly above the waiting posture to the waiting posture. In this way, a safe placement path can be generated when the coded object is in the first state.
[0141] As an implementation of an embodiment of the present application, the above correspondence may include: if the current state is the second state, the target placement path planning method is an oblique entry placement path planning method. In this case, the above step of generating the placement path of the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method may include:
[0142] Taking the second starting point posture as the starting point, taking the waiting posture of the object to be coded as the end point, and entering the placement path planning method in a first oblique direction, a first oblique path is generated; or, taking the second starting point posture as the starting point, taking the waiting posture of the object to be coded as the end point, and taking the first waypoint posture as the waypoint, and entering the placement path planning method in a second oblique direction, a placement path is generated.
[0143] If there are objects in the preset range around the placement point, it means that when the vertical entry placement path planning method is used for the object to be coded, due to the stacking deviation of the coded object, the size deviation of the coded object, the grasping deviation of the object to be coded, etc., there is a risk of edge pressing and squeezing when the object to be coded is actually placed, and these collisions cannot be identified when collision detection is performed using ideal object posture and size parameters. Therefore, in order to obtain a safer placement path, it is necessary to adopt an oblique entry placement path planning method that enters obliquely from the side without objects.
[0144] When the current state is the second state, 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. Since there is no object close to the placement point in the direction of the placement point on the opposite side of the coded object, the electronic device can determine the second starting point position to be on the side where there is no coded object at the placement point. Then, the placement path is generated in accordance with the oblique entry placement path planning method, that is, first moving to the oblique upper side of the placement position without an object, then moving obliquely to the top of the placement point, and then moving vertically to the placement position.
[0145] In the first embodiment, the object to be coded can move obliquely directly from the second starting point to the placement point. Specifically, the electronic device can take the second starting point as the starting point and the position of the object to be coded as the end point, and enter the placement path planning mode in the first oblique direction to generate a first oblique path.
[0146] In a second embodiment, the object to be coded can be tilted from the second starting point position to the coded object, and then move vertically downward to the placement point. Specifically, the electronic device can take the second starting point position as the starting point, the waiting position of the object to be coded as the end point, and the first waypoint position as the waypoint, and enter the placement path planning method in accordance with the second oblique direction to generate a placement path. Among them, the placement path includes a second oblique path and a second vertical path, the starting point and the end point of the second oblique path are the second starting point position and the first waypoint position, respectively, and the starting point and the end point of the second vertical path are the first waypoint position and the waiting position. The first waypoint position is located directly above the waiting position and is lower than the second starting point position. Among them, the height of the first waypoint position can be half, one-third, one-quarter, etc. of the height of the object to be coded, which is not specifically limited here.
[0147] In the case where there is a coded object on only one side within the preset range around the placement point, the electronic device can generate a placement path according to the unilateral oblique entry placement path planning method. For example, a schematic diagram of the placement path generated according to the unilateral oblique entry placement path planning method can be shown in Figure 5(a). The left side of Figure 5(a) is a front view around the placement point, and the vertical upward direction is the z-axis direction of the world coordinate system. The second starting point posture 501 is located on the side where there is no coded object 502, and the first waypoint posture 503 is located directly above the waiting code posture 504 and lower than the second starting point posture 501. The right side of Figure 5(a) is a top view around the placement point, and the vertical upward direction and the horizontal right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the first waypoint posture 503 is located directly above the waiting code posture 504, the first waypoint posture 503 and the waiting code posture 504 in the top view overlap.
[0148] In the case where there are coded objects on only two sides within the preset range around the placement point, and the coded objects are adjacent, the electronic device can generate a placement path according to the bilateral oblique entry placement path planning method. For example, a schematic diagram of the placement path generated according to the bilateral oblique entry placement path planning method can be shown in Figure 5(b). The left side of Figure 5(b) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The second starting point posture 511 is located on the side where there is no coded object 512, and the first waypoint posture 513 is located directly above the waiting code posture 514 and lower than the second starting point posture 511. The right side of Figure 5(b) is a top view around the placement point, and the vertically upward direction and the horizontal right direction are the y-axis direction and the x-axis direction of the world coordinate system, respectively. Since the first waypoint posture 513 is located directly above the waiting code posture 504, the first waypoint posture 513 and the waiting code posture 514 in the top view overlap.
[0149] It can be seen that in the embodiment of the present application, when the current state is the second state, the electronic device can take the second starting point posture as the starting point, take the waiting posture of the object to be coded as the end point, and generate the first oblique path according to the first oblique entry placement path planning method, or, take the second starting point posture as the starting point, take the waiting posture of the object to be coded as the end point, take the first waypoint posture as the waypoint, and generate the placement path according to the second oblique entry placement path planning method. Due to the placement path planned by the oblique entry placement path planning method, the object to be coded can be made to lean against the adjacent object that has been coded, that is, the coded object within the preset range around the placement point. Therefore, the edge pressing and angle pressing problems caused by errors such as object stacking deviation and object size deviation can be avoided, and there will only be a small extrusion side shift. When the current state is the second state, the placement path generated by the oblique entry placement path planning method can solve the edge pressing problem compared to the placement path directly placed vertically downward from the top of the placement point to the placement point, and the safety of path planning is significantly improved.
[0150] As an implementation method of the present application, Figure 6 As shown, the step of determining the target placement path planning mode according to the correspondence between the current state and the preset state and the placement path planning mode may include:
[0151] S601, if the current state is the third state, determine, based on the state information of the coded object, the height of the coded object farther from the placement point among the coded objects on two opposite sides of the placement point, the distance between the coded objects on the two opposite sides, and the side extension distance;
[0152] If the current state is the third state, it means that there are coded objects on both sides of the preset range around the placement point. Since the vertical entry placement path planning method or the oblique entry placement path planning method cannot be adopted in this case, in order to further determine the target placement path planning method, the electronic device can determine the height of the coded objects on the two sides of the placement point that are farther away from the placement point, the spacing between the coded objects on the two sides of the placement point, and the side extension distance. Among them, the side extension distance is the length difference of the coded object in the direction perpendicular to the connection direction of the coded objects on the two sides of the placement point.
[0153] If the height is less than the preset height threshold, execute step S602; if the spacing is greater than the preset spacing threshold, execute step S603; if the side extension distance is greater than the preset distance threshold, execute step S604.
[0154] S602, determining that the target placement path planning method is an adaptive oblique entry placement path planning method;
[0155] When the height is less than the preset height threshold, the electronic device can determine that the target placement path planning method is an adaptive oblique entry placement path planning method. That is, first move to the upper side of the placement point where there is no coded object, then move obliquely to directly above the placement point, and then move vertically downward to the placement point. The difference between the adaptive oblique entry placement path planning method and the oblique entry placement path planning method is that in the case of the oblique entry placement path planning method, there are no coded objects on the oblique entry path, while in the case of the adaptive oblique entry placement path planning method, there are coded objects on the oblique entry path, so it is necessary to adjust the entry height to avoid collision.
[0156] S603, determining that the target placement path planning mode is a midpoint oblique entry placement path planning mode;
[0157] When the distance is greater than the preset distance threshold, the electronic device can determine that the target placement path planning method is to enter the placement path planning method obliquely from the middle point. That is, first move vertically from the side that meets the safety distance, that is, first move vertically downward from the side where the distance between the coded objects on the opposite sides of the placement point is greater than the preset distance threshold, and then move obliquely to the placement point.
[0158] S604, determining that the target placement path planning method is a plane oblique entry placement path planning method.
[0159] When the side extension distance is greater than the preset distance threshold, the electronic device can determine that the target placement path planning method is a plane oblique entry placement path planning method. That is, first from the side that meets the side extension distance, that is, first from the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the coded objects on the opposite sides, extend a distance from the placement side and first move obliquely to the leaning point, that is, first move obliquely a distance on the side of the coded object with a side extension distance greater than the preset distance threshold to a point that can lean against the coded object, and then move obliquely to the placement point.
[0160] If at least two of the above conditions are met simultaneously: the height is less than the preset height threshold, the spacing is greater than the preset spacing threshold, and the side extension distance is greater than the preset distance threshold, the following three implementation methods can be used to determine the target placement path planning method:
[0161] In the first embodiment, the priority of each condition can be pre-set according to the status information of the coded objects in the palletizing scene. For example, in the palletizing scene, if the height difference between the coded objects is large, then the priority of "height is less than the preset height threshold" can be set higher; if the spacing between the coded objects is large, then the priority of "spacing is greater than the preset spacing threshold" can be set higher; if the side extension distance between the coded objects is large, then the priority of "side extension distance is greater than the preset distance threshold" can be set higher.
[0162] In this way, when judging which condition the coded object meets, it is possible to judge whether the conditions corresponding to each priority are met in order from high to low priority. If they are met, the placement path planning method corresponding to the condition is directly determined as the target placement path planning method, without the need to judge the subsequent conditions.
[0163] For example, the conditions are arranged in descending order of priority, namely, "height is less than a preset height threshold", "side extension distance is greater than a preset distance threshold", and "spacing is greater than a preset spacing threshold". Then the electronic device can first determine whether "height is less than a preset height threshold" is met, and if so, the corresponding adaptive oblique entry placement path planning method can be directly determined as the target placement path planning method.
[0164] In the second embodiment, it can be determined at the same time whether the coded object satisfies various conditions. If the coded object satisfies multiple conditions at the same time, then among the multiple conditions satisfied by the coded object, the placement path planning method corresponding to the condition with the highest priority is determined as the target placement path planning method. For example, the various conditions are arranged in order of priority from high to low, namely "height is less than a preset height threshold", "side extension distance is greater than a preset distance threshold", and "spacing is greater than a preset spacing threshold". If "side extension distance is greater than a preset distance threshold" and "spacing is greater than a preset spacing threshold" are met at the same time, the plane oblique entry placement path planning method corresponding to "side extension distance is greater than the preset distance threshold" is determined as the target placement path planning method.
[0165] In the third implementation, it is possible to determine whether the coded object satisfies various conditions at the same time. If the coded object satisfies multiple conditions at the same time, a condition is randomly selected from the multiple conditions satisfied by the coded object, and the placement path planning method corresponding to the selected condition is determined as the target placement path planning method.
[0166] It can be seen that in the embodiment of the present application, when the current state of the coded object is the third state, the electronic device can determine the height of the coded object farther from the placement point among the coded objects on the two opposite sides of the placement point, the spacing between the coded objects on the two opposite sides, and the side extension distance based on the state information of the coded object. Then, when the height is less than the preset height threshold, the spacing is greater than the preset spacing threshold, and the side extension distance is greater than the preset distance threshold, the target placement path planning method is determined to be an adaptive oblique entry placement path planning method, an intermediate point oblique entry placement path planning method, and a plane oblique entry placement path planning method. In this way, the target placement path planning method 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 an embodiment of the present application, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method may include:
[0168] If the target placement path planning method is an adaptive oblique entry placement path planning method, the third starting point posture is used as the starting point, the to-be-coded posture of the object to be coded is used as the end point, and the second waypoint posture is used as the waypoint, and a placement path is generated according to the adaptive oblique entry placement path planning method.
[0169] In the case where the height of the coded object farther from the placement point among the coded objects on the opposite sides of the placement point is less than the preset height threshold, it means that the object to be coded can start to move from the third starting point posture on the side of the coded object with a height less than the preset height threshold at a height higher than the coded object with a height less than the preset height threshold. The third starting point posture can be located on the side of the placement point where there is a coded object with a height less than the preset height threshold, and the lower surface of the object to be coded in the third starting point posture is higher than the upper surface of the coded object with a height less than the preset height threshold.
[0170] Then, the object to be coded can lean against the coded object on the opposite sides of the placement point that is closer to the placement point, and then move vertically downward to the placement point. When leaning against the coded object, the posture of the object to be coded is the second waypoint posture, which is located directly above the posture to be coded and lower than the third starting point posture. The height of the second waypoint posture can be half, one-third, one-quarter, etc. of the height of the object to be coded, which is not specifically limited here.
[0171] In this way, the electronic device can take the third starting point posture as the starting point, the waiting posture of the object to be coded as the end point, and the second waypoint posture as the waypoint, and enter the placement path planning method in an adaptive oblique manner to generate a placement path. The placement path includes a third oblique path and a third vertical path, the starting point and the end point of the third oblique path are the third starting point posture and the second waypoint posture, respectively, and the starting point and the end point of the third vertical path are the second waypoint posture and the waiting posture, respectively.
[0172] In the case where there is a coded object on only one side within a preset range around the placement point, the electronic device can generate a placement path according to a unilateral adaptive oblique entry placement path planning method. For example, a schematic diagram of a placement path generated according to a unilateral adaptive oblique entry placement path planning method can be shown in FIG7(a). The left side of FIG7(a) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The third starting point posture 701 is located on the side of the placement point where there is a coded object 702 whose height is less than a preset height threshold, and the lower surface of the object to be coded in the third starting point posture 701 is higher than the upper surface of the coded object 702. The second waypoint posture 703 is located directly above the to-be-coded posture 704 and lower than the third starting point posture 701. The right side of FIG7(a) is a top view around the placement point, and 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 second waypoint position 703 is located directly above the waiting position 704, the second waypoint position 703 and the waiting position 704 in the top view overlap.
[0173] In the case where there are coded objects on both adjacent sides within a preset range around the placement point, the electronic device can generate a placement path according to the bilateral adaptive oblique entry placement path planning method. For example, a schematic diagram of the placement path generated according to the bilateral adaptive oblique entry placement path planning method can be shown in Figure 7(b). The left side of Figure 7(b) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The third starting point posture 711 is located on the side of the placement point where there is a coded object 712 with a height less than a preset height threshold, and the lower surface of the object to be coded in the third starting point posture 711 is higher than the upper surface of the coded object 712. The second waypoint posture 713 is located directly above the to-be-coded posture 714 and lower than the third starting point posture 711. The right side of Figure 7(b) is a top view around the placement point, and 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 second waypoint position 713 is located directly above the waiting position 714, the second waypoint position 713 and the waiting position 714 in the top view overlap.
[0174] It can be seen that in the embodiment of the present application, if the target placement path planning method is an adaptive oblique entry placement path planning method, the electronic device can use the third starting point posture as the starting point, the waiting posture of the object to be coded as the end point, and the second waypoint posture as the waypoint, and generate a placement path according to the adaptive oblique entry placement path planning method. In this way, the object to be coded can first lean obliquely against the adjacent object that has been coded, that is, the coded object that is closer to the placement point among the coded objects on the opposite sides of the placement point, and then move vertically downward to the waiting posture, which can avoid the edge and angle compression problems caused by errors such as object stacking deviation and object size deviation.
[0175] As an implementation of an embodiment of the present application, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method may include:
[0176] If the target placement path planning method is a midpoint oblique entry placement path planning method, take the fourth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the third waypoint posture as the waypoint, and generate a placement path according to the midpoint oblique entry placement path planning method.
[0177] When the distance between the coded objects on the two opposite sides of the placement point is greater than the preset distance threshold, it means that the distance between the coded objects on the two opposite sides is large. Therefore, the object to be coded can start to move from the fourth starting point position between the coded objects on the two opposite sides, and the fourth starting point position can be located on the side where the distance between the coded objects on the two opposite sides is greater than the preset distance threshold. The object to be coded can first move vertically downward from the fourth starting point position to the third waypoint, and the third waypoint position is located directly below the fourth starting point position and higher than the position to be coded. Then move obliquely from the third waypoint to the placement point.
[0178] In this way, the electronic device can take the fourth starting point posture as the starting point, the waiting posture of the object to be coded as the end point, and the third waypoint posture as the waypoint, and enter the placement path planning mode obliquely according to the intermediate point to generate a placement path. Among them, the placement path may include a fourth vertical path and a fourth oblique path, the starting point and the end point of the fourth vertical path are the fourth starting point posture and the third waypoint, respectively, and the starting point and the end point of the fourth oblique path are the third waypoint and the waiting posture, respectively.
[0179] In the case where there is a coded object on only one side within the preset range around the placement point, the electronic device can generate a placement path according to the single-side middle point oblique entry placement path planning method. For example, a schematic diagram of the placement path generated according to the single-side middle point oblique entry placement path planning method can be shown in Figure 8 (a). The left side of Figure 8 (a) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fourth starting point posture 801 is located on the side where the spacing between the coded objects 802 on the opposite sides is greater than the preset spacing threshold. The third waypoint posture 803 is located directly below the fourth starting point posture 801 and higher than the to-be-coded posture 804. The right side of Figure 8 (a) is a top view around the placement point, and 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 third waypoint posture 803 is located directly below the fourth starting point posture 801, the third waypoint posture 803 and the fourth starting point posture 801 in the top view overlap.
[0180] In the case where there are coded objects on both adjacent sides within a preset range around the placement point, the electronic device can generate a placement path according to the placement path planning method of the middle point on both sides entering obliquely. For example, a schematic diagram of the placement path generated according to the placement path planning method of the middle point on both sides entering obliquely can be shown in Figure 8 (b). The left side of Figure 8 (b) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fourth starting point posture 811 is located on the side where the spacing between the coded objects 812 on the opposite sides is greater than the preset spacing threshold. The third waypoint posture 813 is located directly below the fourth starting point posture 811 and higher than the to-be-coded posture 814. The right side of Figure 8 (b) is a top view around the placement point, and 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 third waypoint posture 813 is located directly below the fourth starting point posture 811, the third waypoint posture 813 and the fourth starting point posture 811 in the top view overlap.
[0181] It can be seen that in the embodiment of the present application, if the target placement path planning method is the middle point oblique entry placement path planning method, the electronic device can use the fourth starting point posture as the starting point, the waiting posture of the object to be coded as the end point, and the third waypoint posture as the waypoint, and generate a placement path according to the middle point oblique entry placement path planning method. The middle point oblique entry placement path planning method can meet the safety placement requirements when the distance between the coded objects on the two sides is large. Vertical entry between the coded objects on the two sides and the fourth starting point posture that meets the safety distance with the coded objects on both sides can avoid the problems of edge compression and angle compression caused by errors such as object stacking deviation and object size deviation. In addition, although the distance between the coded objects on the two sides is large, the object to be coded does not move directly from the fourth starting point posture vertically downward to the placement surface, but first vertically downward to the third waypoint posture, and then move from the third waypoint posture to the waiting posture. In this way, storage space can be saved.
[0182] As an implementation of an embodiment of the present application, the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method may include:
[0183] If the target placement path planning method is a plane oblique entry placement path planning method, take the fifth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the fourth waypoint posture as the waypoint, and generate a placement path according to the plane oblique entry placement path planning method.
[0184] When the side extension distance between the coded objects on the two opposite sides is greater than the preset distance threshold, it means that among the coded objects on the two opposite sides, one of the coded objects on one side is shorter in a direction perpendicular to the connection direction of the coded objects on the two opposite sides. Therefore, the object to be coded can start to move from the fifth starting point position on one side of the shorter coded object, and the fifth starting point position is located on the side of the coded object with a shorter length in a direction perpendicular to the connection direction of the coded objects on the two opposite sides at the placement point.
[0185] Then, the object to be coded can move obliquely from the fifth starting point position to the fourth waypoint position, which is lower than the fifth starting point position and higher than the waiting position. Next, the object to be coded can move obliquely from the fourth waypoint position to the waiting position. In one embodiment, the projection direction of the line between the fourth waypoint position and the waiting position on the placement surface can be perpendicular to the line direction of the coded objects on the opposite sides.
[0186] In this way, the electronic device can take the fifth starting point posture as the starting point, the waiting posture of the object to be coded as the end point, and the fourth waypoint posture as the waypoint, and enter the placement path planning mode in a plane oblique direction to generate a placement path. Among them, the placement path includes a fifth oblique path and a sixth oblique path. The starting point and end point of the fifth oblique path are the fifth starting point posture and the fourth waypoint posture, respectively, and the starting point and end point of the sixth oblique path are the fourth waypoint posture and the waiting posture, respectively.
[0187] In the case where there is a coded object on only one side within a preset range around the placement point, the electronic device can generate a placement path according to the single-sided plane obliquely entering the placement path planning method. For example, a schematic diagram of the placement path generated according to the single-sided plane obliquely entering the placement path planning method can be shown in Figure 9(a). The left side of Figure 9(a) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fifth starting point posture 901 is located on the side of the placement point where there is a first coded object 902 with a shorter length in the direction perpendicular to the connection direction of the coded objects on the opposite sides. The fourth waypoint posture 903 is lower than the fifth starting point posture 901 and higher than the to-be-coded posture 904. The right side of Figure 9(a) is a top view around the placement point, and the vertically upward direction and the horizontal 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 coded objects located on opposite sides of the placement point, the connecting line 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 line direction is the y-axis direction. The length difference between the first coded object 902 and the second coded object 905 in the direction perpendicular to the connecting line direction is the distance l1, that is, the side extension distance.
[0188] In the case where there are coded objects on both adjacent sides within a preset range around the placement point, the electronic device can generate a placement path according to the placement path planning method of the two-sided plane obliquely entering. For example, a schematic diagram of the placement path generated according to the placement path planning method of the two-sided plane obliquely entering can be shown in Figure 9(b). The left side of Figure 9(b) is a front view around the placement point, and the vertically upward direction is the z-axis direction of the world coordinate system. The fifth starting point posture 911 is located on the side of the first coded object 912 with a shorter length in the direction perpendicular to the connection direction of the coded objects on the opposite sides of the placement point. The fourth waypoint posture 913 is lower than the fifth starting point posture 911 and higher than the to-be-coded posture 914. The right side of Figure 9(b) is a top view around the placement point, and the vertically upward direction and the horizontal right direction are the y-axis direction and the 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 connecting direction of the first coded object 902 and the second coded object 905, and the connecting direction of the first coded object 912 and the third coded object 916 are the x-axis direction, and the direction perpendicular to the connecting 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 direction is the distance l2, that is, the side extension distance.
[0189] It can be seen that in the embodiment of the present application, if the target placement path planning method is a plane oblique entry placement path planning method, the electronic device can use the fifth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the fourth waypoint posture as the waypoint, and generate a placement path according to the plane oblique entry placement path planning method. The plane oblique entry placement path planning method can be adopted when the side extension distance of the coded object on the opposite side meets the safe placement requirements, that is, when the side extension distance is greater than the preset distance threshold. Compared with the oblique entry placement path planning method, the plane oblique entry placement path planning method can adopt an oblique entry by moving sideways a certain distance to a position where there are no objects on the placement path, and then moving to the placement point. Both of these movement paths can meet the requirements of no risk of package compression.
[0190] As an implementation method of the present application, Fig.10 As shown, after the step of generating a placement path for the object to be coded based on the position and size of the object to be coded according to the target placement path planning method, the method may further include:
[0191] S1001, obtaining multiple candidate grasping states of the robot arm;
[0192] Since the robot arm may collide with the coded object when grasping the object to be coded, the electronic device can obtain multiple alternative grasping states of the robot arm to select a grasping state that will not collide with the coded object from the multiple alternative grasping states.
[0193] S1002, calculating, according to the multiple candidate grasping states, collision conditions between the robot arm and the coded object when placing the object to be coded along the placement path;
[0194] In order to determine whether the robot arm will collide with the coded object when it is in each alternative grasping state and moves along the placement path to grasp the coded object, the electronic device can calculate the collision between the robot arm and the coded object when placing the object to be coded along the placement path according to multiple alternative grasping states. The collision situation can include collision and no collision.
[0195] S1003, determining the alternative grasping state of the robot arm without collision as the target grasping state;
[0196] After obtaining the collision conditions of each alternative grasping state, the electronic device can determine the alternative grasping state of the robot arm that does not collide as the target grasping state. For example, assuming that among alternative grasping states 1 to 10, only the collision condition of alternative grasping state 5 indicates that the robot arm does not collide with the coded object, then alternative grasping state 5 can be determined as the target grasping state.
[0197] S1004, controlling the robot arm to grasp the object to be coded in the target grasping state, and moving to the placement point according to the placement path, and placing the object to be coded at the placement point.
[0198] After determining the target grasping state, the electronic device can control the robot arm to adopt the target grasping state, grasp the object to be coded, and move to the placement point according to the placement path, and place the object to be coded at the placement point.
[0199] It can be seen that in the embodiment of the present application, the electronic device can obtain multiple alternative grasping states of the robotic arm; calculate the collision between the robotic arm and the coded object when placing the object to be coded along the placement path according to the multiple alternative grasping states; determine the alternative grasping state of the robotic arm that does not collide as the target grasping state; control the robotic arm to grasp the object to be coded using the target grasping state, and move to the placement point according to the placement path, and place the object to be coded at the placement point. Since the robotic arm may collide with the coded object when grasping the object to be coded, the electronic device can obtain multiple alternative grasping states of the robotic arm to select a grasping state that will not collide with the coded object from the multiple alternative grasping states. In this way, it can be ensured that the robotic arm will not collide with the coded object during the movement of the object to be coded along the placement path.
[0200] As an implementation method of the present application, another flowchart of the path planning method for palletizing can be as follows: Fig.11 Specifically, the following steps may be included:
[0201] S1101, obtaining information of the coded object, the position to be coded, and the grasping status;
[0202] In order to plan the path for the object to be coded, the electronic device can obtain the coded object information, the coded posture corresponding to the object to be coded, and multiple alternative grasping states of the robot arm. The coded object information may include at least one of which side of the placement point has the coded object, the height of the coded object around the placement point, and the spacing of the coded objects around the placement point.
[0203] S1102, calculating the state of objects around the placement point;
[0204] Since the state information of the coded object is obtained around the placement point corresponding to the object to be coded, 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, that is, the current state of the coded object within a preset range around the placement point.
[0205] S1103, generating adaptive placement path pose points;
[0206] In order to plan the placement path in the palletizing scenario and improve the efficiency of path planning, the correspondence between the various states of the coded object and the placement path planning method can be pre-set. In this way, the electronic device can determine the target placement path planning method corresponding to the current state based on the current state of the coded object and the above correspondence. Then, based on the position and size of the object to be coded, the various adaptive placement path posture points of the object to be coded, that is, the placement path, are generated according to the target placement path planning method.
[0207] S1104, determining whether the adaptive placement path is generated successfully; if yes, executing step S1105; if no, executing step S1107;
[0208] If the coded objects within the preset range around the placement point are close to the placement point, or the coded objects exist 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 successfully generated.
[0209] S1105, determining whether there is a grasping state in which the tool and the robot arm are in collision-free state; if yes, executing step S1106; if no, executing step S1107;
[0210] Since the tool and the robot arm used to grab the object to be coded may collide with the coded object when grabbing the object to be coded. Therefore, after the electronic device successfully generates the placement path, it can calculate the collision between the tool and the robot arm and the coded object when placing the object to be coded along the placement path according to multiple alternative grasping states. Then, it is determined whether there is a grasping state in which the tool and the robot arm do not collide.
[0211] S1106, outputting corresponding grasping status and placement path;
[0212] If there is a grasping state in which the tool and the robot arm do not collide, the electronic device can output the corresponding grasping state and the placement path. Furthermore, the electronic device can generate the robot arm posture corresponding to each path point based on the posture of each path point included in the placement path and the grasping state of the robot arm.
[0213] S1107, determining that there is no safe placement path.
[0214] If adaptive placement path generation fails, or there is no collision-free grasping state for the tool and the robot arm, it is determined that there is no safe placement path.
[0215] As an implementation method of the present application, a flow chart of a placement path generation method can be as follows: Fig.12 Specifically, the following steps may be included:
[0216] S1201, obtaining information of coded objects and positions to be coded;
[0217] In order to plan the path for the object to be coded, the electronic device can obtain the information of the coded object and the corresponding position to be coded of the object to be coded.
[0218] S1202, calculating the state of objects around the placement point;
[0219] Since the state information of the coded object is obtained around the placement point corresponding to the object to be coded, 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, that is, the current state of the coded object within a preset range around the placement point. In this way, the direction of leaning can be determined by the situation of the objects around the placement position.
[0220] S1203, determine whether there is no object around the placement point; if yes, execute step S1204; if no, execute step S1205;
[0221] The electronic device can determine whether there are no coded objects within a preset range around the placement point.
[0222] S1204, generating a vertical entry placement path;
[0223] When there is no coded object within a preset range around the placement point, the electronic device can generate a vertical entry placement path based on the posture and size of the object to be coded and in accordance with the vertical entry placement path planning method.
[0224] S1205, calculating the state of the object on the oblique placement path;
[0225] When there are coded objects within a preset range around the placement point, in order to further determine the state of the coded objects on the opposite side of the coded objects closer to the placement point, the electronic device can calculate the state of the objects on the oblique placement path. The objects on the oblique placement path are the coded objects on the opposite sides of the placement point that are farther away from the placement point.
[0226] S1206, determining whether there is no object on the oblique path; if yes, executing step S1207; if no, executing step S1208;
[0227] The electronic device can determine whether there is no object on the oblique path based on the state of the object on the oblique path.
[0228] S1207, generating an oblique entry placement path;
[0229] When there is no object on the opposite side, it means that the coded object only exists on one side or on two adjacent sides within a preset range around the placement point. Then the electronic device can generate an oblique entry placement path based on the posture and size of the object to be coded according to the oblique entry placement path planning method.
[0230] S1208, calculating parameters such as height, spacing, and side extension distance of coded objects on the oblique path;
[0231] In the case where there are objects on the oblique path, it is necessary to calculate the height, spacing, side extension distance and other parameters of the coded objects on the oblique entry path. If there are coded objects on the adjacent two sides around the placement point, that is, there are coded objects on the adjacent two sides that need to be leaned against, it is necessary to adopt an oblique entry on both sides, and the method of further judging the target placement path planning method adopted is the same as the method of having an object on one side in step S1209, step S1211, step S1213 and step S1215. It’s just that the oblique entry path is different at this time, and the offset distance on both sides needs to be increased. In other words, the generated placement path needs to make the object to be coded lean against the coded objects on the adjacent two sides at the same time.
[0232] S1209, determining that the height is lower than a threshold;
[0233] If it is determined that the height of the coded object on the oblique entry path is lower than the preset height threshold, step S1210 is executed.
[0234] S1210, generating an adaptive oblique entry placement path;
[0235] The electronic device can adjust the oblique entry height based on the oblique entry placement path planning method. Based on the to-be-coded posture and size of the to-be-coded object, an adaptive oblique entry placement path is generated according to the adaptive oblique entry placement path planning method.
[0236] S1211, determining that the object distance is greater than a threshold;
[0237] If it is determined that the distance between the coded objects on the two opposite sides within the preset range around the placement point is greater than the preset distance threshold, that is, the distance between the coded object on the oblique path and the oblique side object is large enough, step S1212 is executed. The oblique side object is a coded object that is closer to the placement point among the coded objects on the two opposite sides within the preset range around the placement point.
[0238] S1212, generating a placement path for the middle point to enter obliquely;
[0239] The electronic device can generate a midpoint oblique entry placement path based on the waiting position and size of the object to be coded and according to the midpoint oblique entry placement path planning method.
[0240] S1213, determining that the side extension distance is greater than a threshold;
[0241] If it is determined that the lateral extension distance between the coded objects on two opposite sides within the preset range around the placement point is greater than the preset distance threshold, that is, the lateral extension distance is large enough, step S1214 is executed.
[0242] S1214, generating a plane obliquely entering placement path;
[0243] The electronic device can generate a plane oblique entry placement path according to the plane oblique entry placement path planning method based on the waiting position and size of the object to be coded.
[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 spacing is not greater than the preset spacing threshold, and the side extension distance is not greater than the preset distance threshold, then the electronic device can determine that the object on the oblique path does not meet all of the above conditions, and then execute step S1216.
[0246] S1216, determining that there is no safe placement path.
[0247] Normally, a safe placement path can be obtained by matching the status of surrounding coded objects and using the placement path planning method. However, if the distance between the coded object and the placement point is very close, there may be a situation where there is no path according to the set safety distance threshold. In this case, the placement path can be obtained by reducing the safety threshold. Therefore, the path with different safety levels is obtained by using the safety threshold classification method. If there is still no path under the minimum safety level setting, placement is not allowed.
[0248] In this case, there are usually adjacent objects on both sides of the placement point within a preset range, so it is impossible to obtain a safe placement path without compressing the package within the set safety distance.
[0249] At this time, other placement planning is required. In one 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 object to be coded 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, step S1204 is executed, that is, a vertical entry placement path is generated.
[0250] In another embodiment, it is determined whether the spacing between the coded objects on the two opposite sides within the preset range around the placement point is not less than the length of the object to be coded in the direction of the line connecting the coded objects on the two opposite sides. If yes, step S1204 is executed to generate a vertical entry placement path.
[0251] The various placement path planning methods used in this application are to limit the direction of the placement path by limiting the starting point of the placement path and the posture of the waypoints, so as to generate a safe placement path that meets the safety requirements of no squeezing, collision, and no compression of packages during the palletizing process. As for the generation of the path between each posture point, any general path search method can be used. For example, the RRT path planning method and the HybridA* (Hybrid Astar, hybrid A*) path planning algorithm are not specifically limited here.
[0252] In the technical solution of this application, the operations involved in 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-mentioned palletizing path planning method, the present application embodiment further provides a palletizing path planning device. The palletizing path planning device provided in the present application embodiment is introduced below.
[0254] like Fig.13 As shown, a palletizing path planning device comprises:
[0255] The information acquisition module 1301 is used to acquire the status information of the coded objects around the placement point corresponding to the object to be coded;
[0256] A state determination module 1302, configured to determine a current state of the coded object based on a positional relationship between the coded object and the placement point represented by the state information of the coded object;
[0257] A mode determination module 1303 is used to determine a target placement path planning mode according to the corresponding relationship between the current state and the preset state and the placement path planning mode;
[0258] The path generation module 1304 is used to generate a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method.
[0259] It can be seen that in the scheme provided by the embodiment of the present application, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the object to be coded; determine the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object; determine the target placement path planning method according to the corresponding relationship between the current state and the preset state and the placement path planning method; based on the to-be-coded posture and size of the object to be coded, generate the placement path of the object to be coded according to the target placement path planning method. Since the corresponding relationship between the state of each coded object and the placement path planning method of the object to be coded is preset, and the state of the coded object is determined by the positional relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning method takes into account the positional relationship between the coded object and the placement point. In this way, after determining the current state of the coded object, the target placement path planning method matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be coded can be generated according to the preset target placement path planning method. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning can be improved.
[0260] As an implementation of the embodiment of the present application, the state determination module 1302 may include:
[0261] a coded object determination submodule, 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 object and the placement point represented by the state information of the coded object;
[0262] A first state determination submodule, configured to determine that the current state of the coded object is a first state if there is no coded object within a preset range around the placement point;
[0263] A second state determination submodule, configured to determine that the current state of the coded object is the second state if there is a coded object on only one side within a 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 to each other;
[0264] The third state determination submodule is configured to determine that the current state of the coded object is the third state if there are coded objects on two opposite sides within a preset range around the placement point.
[0265] As an implementation of an embodiment of the present application, the above correspondence may include: if the current state is the first state, the target placement path planning method is a vertical entry placement path planning method. In this case, the above path generation module 1304 may include:
[0266] The first path generation submodule is used to generate a first vertical path with a first starting point posture as a starting point and a waiting posture of the object to be coded as an end point, based on the size of the object to be coded and in accordance with the vertical entry placement path planning method, wherein the first starting point posture is located directly above the waiting posture.
[0267] As an implementation of an embodiment of the present application, the above correspondence may include: if the current state is the second state, the target placement path planning method is an oblique entry placement path planning method. In this case, the above path generation module 1304 may include:
[0268] A second path generation submodule is used to generate a first oblique path with the second starting point posture as the starting point and the posture of the object to be coded as the end point according to the first oblique entry placement path planning mode;
[0269] A third path generation submodule is used to generate a placement path by taking the second starting point posture as the starting point, the posture of the object to be coded as the end point, and the posture of the first waypoint as the waypoint, according to the second oblique entry placement path planning mode, wherein the placement path includes a second oblique path and a second vertical path;
[0270] Among them, the second starting point position is located on the side of the placement point where there is no coded object, and the first waypoint position is located directly above the to-be-coded position and lower than the second starting point position.
[0271] As an implementation of the embodiment of the present application, the above-mentioned mode determination module 1303 may include:
[0272] a parameter determination submodule, configured to determine, if the current state is the third state, based on the state information of the coded object, a height of a coded object farther from the placement point among the coded objects on the opposite sides of the placement point, a spacing between the coded objects on the opposite sides, and a lateral extension distance, wherein the lateral extension distance is a length difference of the coded object in a direction perpendicular to a connection direction of the coded objects on the opposite sides;
[0273] A first mode determination submodule is used to determine that the target placement path planning mode is an adaptive oblique entry placement path planning mode if the height is less than a preset height threshold;
[0274] The second mode determination submodule is used to determine that the target placement path planning mode is a midpoint oblique entry placement path planning mode if the distance is greater than a preset distance threshold;
[0275] The third mode determination submodule is used to determine that the target placement path planning mode is a plane oblique entry placement path planning mode if the side extension distance is greater than a preset distance threshold.
[0276] As an implementation of the embodiment of the present application, the path generation module 1304 may include:
[0277] The fourth path generation submodule is used for, if the target placement path planning mode is an adaptive oblique entry placement path planning mode, taking the third starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the second waypoint posture as the waypoint, to generate a placement path according to the adaptive oblique entry placement path planning mode;
[0278] Among them, the placement path includes a third oblique path and a third vertical path, the third starting point position is located on the side of the placement point where there is a coded object with a height less than a preset height threshold, the lower surface of the object to be coded at the third starting point position is higher than the upper surface of the coded object with a height less than the preset height threshold, and the second waypoint position is located directly above the to-be-coded position and lower than the third starting point position.
[0279] As an implementation of the embodiment of the present application, the path generation module 1304 may include:
[0280] A fifth path generation submodule is used for, if the target placement path planning mode is a midpoint oblique entry placement path planning mode, taking the fourth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the third waypoint posture as the waypoint, according to the midpoint oblique entry placement path planning mode, to generate a placement path;
[0281] Among them, the placement path includes a fourth vertical path and a fourth oblique path, the fourth starting point posture is located on the side where the spacing is greater than the preset spacing threshold, and the third waypoint posture is located directly below the fourth starting point posture and higher than the waiting code posture.
[0282] As an implementation of the embodiment of the present application, the path generation module 1304 may include:
[0283] The sixth path generation submodule is used for, if the target placement path planning mode is a plane oblique entry placement path planning mode, taking the fifth starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the fourth waypoint posture as the waypoint, according to the plane oblique entry placement path planning mode, to generate a placement path;
[0284] Among them, the placement path includes a fifth oblique path and a sixth oblique path, the fifth starting point position is located on the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the coded objects on the opposite sides at the placement point, and the fourth passing point position is lower than the fifth starting point position and higher than the to-be-coded position.
[0285] As an implementation of the embodiment of the present application, the above device may further include:
[0286] A grasping state acquisition module is used to obtain multiple candidate grasping states of the robot arm;
[0287] A collision situation calculation module, used for calculating the collision situation between the robot arm and the coded object when placing the object to be coded along the placement path according to the multiple alternative grasping states respectively;
[0288] A grasping state determination module, used for determining the candidate grasping state of the robot arm without collision as the target grasping state;
[0289] The control module is used to control the robot arm to grasp the object to be coded in the target grasping state, move to the placement point according to the placement path, and place the object to be coded at the placement point.
[0290] The present application also provides an electronic device, such as Fig.14 As shown, including:
[0291] Memory 1401, used for storing computer programs;
[0292] The processor 1402 is used to implement the palletizing path planning method described in any of the above embodiments when executing the program stored in the memory 1401.
[0293] In addition, the electronic device may further include a communication bus and / or a communication interface, and the processor 1402, the communication interface, and the memory 1401 communicate with each other via the communication bus.
[0294] It can be seen that in the scheme provided by the embodiment of the present application, the electronic device can obtain the state information of the coded objects around the placement point corresponding to the object to be coded; determine the current state of the coded object based on the positional relationship between the coded object and the placement point represented by the state information of the coded object; determine the target placement path planning method according to the corresponding relationship between the current state and the preset state and the placement path planning method; based on the to-be-coded posture and size of the object to be coded, generate the placement path of the object to be coded according to the target placement path planning method. Since the corresponding relationship between the state of each coded object and the placement path planning method of the object to be coded is preset, and the state of the coded object is determined by the positional relationship between the coded object and the placement point represented by the state information of the coded object. Therefore, the placement path planning method takes into account the positional relationship between the coded object and the placement point. In this way, after determining the current state of the coded object, the target placement path planning method matching the current state can be determined based on the above-mentioned corresponding relationship, and then the placement path of the object to be coded can be generated according to the preset target placement path planning method. Therefore, the placement path can be planned in the stacking scene, and the efficiency of path planning can be improved.
[0295] The communication bus mentioned in the above electronic device 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 one type of bus.
[0296] The communication interface is used for communication between the above electronic device and other devices.
[0297] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0298] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0299] In another embodiment provided in the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned palletizing path planning methods are implemented.
[0300] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any palletizing path planning method in the above embodiments.
[0301] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part 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, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may 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 may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.
[0302] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0303] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device, electronic device, computer-readable storage medium, and computer program product embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0304] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.
Claims
1. A palletizing path planning method, characterized in that: The method comprises: Obtain the status information of the coded objects around the placement point corresponding to the object to be coded; Determining a current state of the coded object based on a positional relationship between the coded object and the placement point represented by the state information of the coded object; Determine a target placement path planning method according to a correspondence between the current state and a preset state and the placement path planning method; Based on the to-be-coded posture and size of the to-be-coded object, a placement path for the to-be-coded object is generated according to the target 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 represented by the state information of the coded object comprises: Determining whether there is a coded object within 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; If there is no coded object within a preset range around the placement point, determining that the current state of the coded object is a first 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, determining that the current state of the coded object is the second state; If there are coded objects on two opposite sides within a preset range around the placement point, it is determined that the current state of the coded object is the third state.
3. The method according to claim 2, characterized in that 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; The step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises: Taking the first starting point posture as the starting point and the waiting posture of the object to be coded as the end point, based on the size of the object to be coded and in accordance with the vertical entry placement path planning method, a first vertical path is generated, wherein the first starting point posture is located directly above the waiting posture.
4. The method according to claim 2, characterized in that: 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; The step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises: Taking the second starting point posture as the starting point and the posture of the object to be coded as the end point, a first oblique path is generated according to the first oblique entry placement path planning method, or, Taking the second starting point posture as the starting point, the posture of the object to be coded as the end point, and the posture of the first waypoint as the waypoint, a placement path is generated according to the second oblique entry placement path planning mode, wherein the placement path includes a second oblique path and a second vertical path; Among them, the second starting point position is located on the side of the placement point where there is no coded object, and the first waypoint position is located directly above the to-be-coded position and lower than the second starting point position.
5. The method according to claim 2, characterized in that: The step of determining the target placement path planning mode according to the corresponding relationship between the current state and the preset state and the placement path planning mode comprises: If the current state is the third state, based on the state information of the coded object, determine the height of the coded object farther from the placement point among the coded objects on the two opposite sides of the placement point, the spacing between the coded objects on the two opposite sides, and the side extension distance, wherein the side extension distance is the length difference of the coded object in a direction perpendicular to the connection direction of the coded objects on the two opposite sides; If the height is less than a preset height threshold, determining that the target placement path planning method is an adaptive oblique entry placement path planning method; If the distance is greater than a preset distance threshold, determining that the target placement path planning mode is a midpoint oblique entry placement path planning mode; If the side extension distance is greater than a preset distance threshold, it is determined that the target placement path planning method is a plane oblique entry placement path planning method.
6. The method according to claim 5, characterized in that The step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises: If the target placement path planning method is an adaptive oblique entry placement path planning method, a placement path is generated according to the adaptive oblique entry placement path planning method, with the third starting point posture as the starting point, the to-be-coded posture of the to-be-coded object as the end point, and the second waypoint posture as the waypoint; Among them, the placement path includes a third oblique path and a third vertical path, the third starting point position is located on the side of the placement point where there is a coded object with a height less than a preset height threshold, the lower surface of the object to be coded at the third starting point position is higher than the upper surface of the coded object with a height less than the preset height threshold, and the second waypoint position is located directly above the to-be-coded position and lower than the third starting point position.
7. The method according to claim 5, characterized in that The step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises: If the target placement path planning mode is a midpoint oblique entry placement path planning mode, a placement path is generated according to the midpoint oblique entry placement path planning mode, with the fourth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the third waypoint posture as the waypoint; Among them, the placement path includes a fourth vertical path and a fourth oblique path, the fourth starting point posture is located on the side where the spacing is greater than the preset spacing threshold, and the third waypoint posture is located directly below the fourth starting point posture and higher than the waiting code posture.
8. The method according to claim 5, characterized in that The step of generating a placement path for the object to be coded based on the position and size of the object to be coded and according to the target placement path planning method comprises: If the target placement path planning mode is a plane oblique entry placement path planning mode, taking the fifth starting point posture as the starting point, the to-be-coded posture of the object to be coded as the end point, and the fourth waypoint posture as the waypoint, a placement path is generated according to the plane oblique entry placement path planning mode; Among them, the placement path includes a fifth oblique path and a sixth oblique path, the fifth starting point position is located on the side of the coded object with a shorter length in the direction perpendicular to the connecting direction of the coded objects on the opposite sides at the placement point, and the fourth passing point position is lower than the fifth starting point position and higher than the to-be-coded position.
9. The method according to any one of claims 1 to 8, characterized in that: After the step of generating a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method, the method further includes: Get multiple alternative grasping states of the robot arm; Calculating, according to the multiple candidate grasping states, collision conditions between the robot arm and the coded object when placing the object to be coded along the placement path; Determine the alternative grasping state of the robot arm without collision as the target grasping state; The robot 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.
10. A palletizing path planning device, characterized in that: The device comprises: An information acquisition module is used to obtain the status information of the coded objects around the placement point corresponding to the object to be coded; a state determination module, configured to determine a current state of the coded object based on a positional relationship between the coded object and the placement point represented by the state information of the coded object; A mode determination module, used to determine a target placement path planning mode according to a correspondence between the current state and a preset state and the placement path planning mode; The path generation module is used to generate a placement path for the object to be coded based on the position and size of the object to be coded and in accordance with the target placement path planning method.
11. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-9 when executing a program stored in a memory.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Control device, transfer device, program, and control method
CN111386180A
Robotic system with dynamic packing mechanism
CN112009812A
Stacking position real-time planning method and system considering stability constraint
CN117923038A
Method and device for determining path for placing object and computer readable storage medium
CN117961877A
Method and device for planning object placement and computer readable storage medium
CN118528247A