Control method and apparatus, and warehousing system
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-08-13
Smart Images

Figure CN2026075106_13082026_PF_FP_ABST
Abstract
Description
Control method, device and warehousing system
[0001] This application claims priority to Chinese Patent Application No. 202510142607.1, filed on February 8, 2025, and Chinese Patent Application No. 202510142465.9, filed on February 8, 2025, the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD
[0002] Embodiments of the present disclosure relate to the technical field of logistics warehousing, and in particular to a control method, device and warehousing system. BACKGROUND
[0003] In intelligent warehousing, when a handling device needs to turn in a load path, an arc path needs to be planned for the handling device. In related technologies, the arc path is generated by manual calculation, which has the problems of complex configuration and low reusability, and cannot achieve efficient and smooth system configuration. SUMMARY
[0004] Embodiments of the present disclosure provide a control method, system, electronic device and storage medium.
[0005] A first aspect of embodiments of the present disclosure provides a control method, comprising: determining at least one function point based on a function point generation instruction and / or a function point input parameter; and generating at least one control point based on the at least one function point in response to a control point generation instruction, the control point being used to generate a target path of a handling device.
[0006] A second aspect of embodiments of the present disclosure provides a control device, comprising: a determination module and a generation module. The determination module is configured to determine at least one function point based on a function point generation instruction and / or a function point input parameter. The generation module is configured to generate at least one control point based on the at least one function point in response to a control point generation instruction, the control point being used to generate a target path of a handling device.
[0007] A third aspect of embodiments of the present disclosure provides a control system, comprising a first system configured to: determine at least one function point based on a function point generation instruction and / or a function point input parameter; and generate at least one control point based on the at least one function point in response to a control point generation instruction, the control point being used to generate a target path of a handling device.
[0008] A fourth aspect of embodiments of the present disclosure provides an electronic device, comprising: a processor and a memory, the memory being configured to store computer executable instructions; and the processor being configured to read the instructions from the memory and execute the instructions to implement the method in any of the implementations of the first aspect.
[0009] The fifth aspect of the embodiments of the present disclosure provides a computer readable storage medium, the computer readable storage medium stores computer instructions, the computer instructions are configured to cause the computer to execute the method in any of the implementation manners of the first aspect.
[0010] The sixth aspect of the embodiments of the present disclosure provides a computer program product, the computer program product comprises a computer program stored on a computer readable storage medium, the computer program comprises program instructions, when the program instructions are executed by a computer, the computer executes the method in any of the implementation manners of the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0011] FIG. 1 is a schematic diagram of a warehouse system according to an embodiment of the present disclosure;
[0012] FIG. 2 is a schematic diagram of a control method according to an embodiment of the present disclosure;
[0013] FIG. 3 is a schematic diagram of another control method according to an embodiment of the present disclosure;
[0014] FIG. 4 is a schematic diagram of yet another control method according to an embodiment of the present disclosure;
[0015] FIG. 5 is a schematic diagram of still another control method according to an embodiment of the present disclosure;
[0016] FIG. 6A is a schematic diagram of a configuration method 1 according to an embodiment of the present disclosure;
[0017] FIG. 6B is a schematic diagram of a configuration method 2 according to an embodiment of the present disclosure;
[0018] FIG. 6C is a schematic diagram of a configuration method 2 according to an embodiment of the present disclosure;
[0019] FIG. 6D is a schematic diagram of a configuration method 3 according to an embodiment of the present disclosure;
[0020] FIG. 6E is a schematic diagram of a configuration method 3 according to an embodiment of the present disclosure;
[0021] FIG. 6F is a schematic diagram of a configuration method 4 according to an embodiment of the present disclosure;
[0022] FIG. 6G is a schematic diagram of a verification according to an embodiment of the present disclosure;
[0023] FIG. 6H is a schematic diagram of another verification according to an embodiment of the present disclosure;
[0024] FIG. 6I is a schematic diagram of an inspection according to an embodiment of the present disclosure;
[0025] FIG. 6J is a schematic diagram of an obstacle inspection according to an embodiment of the present disclosure;
[0026] FIG. 6K is a schematic diagram of determining a control point according to an embodiment of the present disclosure;
[0027] FIG. 7 is a schematic diagram of another control method according to an embodiment of the present disclosure;
[0028] FIG. 8A is a schematic diagram of a scenario according to an embodiment of the present disclosure;
[0029] FIG. 8B is a schematic diagram of another scenario according to an embodiment of the present disclosure;
[0030] FIG. 8C is a schematic diagram of a distance between a control point and an end point according to an embodiment of the present disclosure;
[0031] FIG. 8D is a schematic diagram of a large Z arc according to an embodiment of the present disclosure;
[0032] FIG. 8E is a schematic diagram of a small Z arc according to an embodiment of the present disclosure;
[0033] FIG. 9 is a schematic diagram of another control method according to an embodiment of the present disclosure;
[0034] FIG. 10 is a schematic diagram of another control method according to an embodiment of the present disclosure;
[0035] FIG. 11 is a schematic diagram of another warehouse system according to an embodiment of the present disclosure;
[0036] FIG. 12 is a schematic diagram of a control device according to an embodiment of the present disclosure;
[0037] FIG. 13 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0038] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, the present disclosure can be practiced without the specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present disclosure.
[0039] FIG. 1 is a schematic diagram of a warehouse system according to an embodiment of the present disclosure.
[0040] As shown in FIG. 1, the warehouse system 100 includes a first system 101, a second system 102, and at least one handling device 103. The first system 101 can be a map management system, such as mapbuilder. The second system 102 can be a robot management system (RMS).
[0041] In some embodiments, the first system 101 is configured to plan a map and send a target map obtained after planning to the second system 102. The second system 102 can plan a path for each handling device 103 in the warehouse system 100 based on the received target map.
[0042] In some examples, the first system 101 can generate a functional point and a corresponding control point according to the cell attribute in the initial map, and select a target control point from the plurality of control points based on the start coordinate and the end coordinate (referred to as start-end coordinate) of the handling device, where the target control point is used to generate a target path of the handling device. For example, the target path can be an arc path or other curved path, such as a 180° arc path, a Z-shaped arc path, a U-shaped arc path, etc., which are not limited in the embodiments of the present disclosure.
[0043] In some embodiments, the second system 102 can generate a target path, such as a 180° arc path, for the handling device based on the position coordinate of the handling device and the corresponding target control point according to the target map sent by the first system 101, so that the handling device can reach the end point through the 180° arc path.
[0044] In some embodiments, the functional point includes at least one of the following: an arc turning function point, an arc turning point, an arc turning point, a turning point, etc.
[0045] In some embodiments, the control point includes at least one of the following: an arc turning control point, an arc control point, etc.
[0046] It should be noted that the warehouse system can be provided with a positioning mark (such as a coded scenario) or without a positioning mark (such as a non-coded scenario), and the first system 101 can generate a corresponding target map based on different scenarios to generate a target path for the handling device by the second system 102.
[0047] FIG. 2 is a flowchart of a control method according to an embodiment of the present disclosure, which is applied to a first system in a warehouse system. As shown in FIG. 2, the method includes the following steps:
[0048] In step 201, at least one functional point is determined based on a functional point generation instruction and / or a functional point input parameter.
[0049] For example, the first system can include a current map, and the first system can determine at least one functional point in the current map based on a functional point generation instruction and / or a functional point input parameter. Wherein, the functional point generation instruction and the functional point input parameter can be triggered or input by a user. It should be noted that the current map can be an initial map or the latest map currently stored in the first system.
[0050] In some examples, the first system can include a display interface, and the display interface can include a plurality of controls, which can include a function point generation control and / or a function point parameter control. The function point generation control can be used to generate a function point generation instruction, and the function point parameter control can be used to generate a function point input parameter. For example, a user can generate a function point in the initial map by clicking the function point generation control; or, the user can input corresponding function point parameters through the function point parameter control according to requirements, so as to generate a function point meeting the requirements in the initial map.
[0051] In some examples, the at least one function point determined in step 201 can be all function points in the current map, or can be part of the function points in the current map. For example, the at least one function point can be all 180° arc turning points in the current map, or part of the 180° arc turning points, and the embodiments of the present disclosure are not limited thereto.
[0052] In step 202, at least one control point is generated according to the at least one function point in response to the control point generation instruction.
[0053] In some embodiments, the control point is used to generate an arc path of the carrying device. That is, before planning an arc path for the carrying device in the warehouse system, it is necessary to determine the control point in the current map.
[0054] In some examples, the control point in the current map can be determined based on the at least one function point determined in step 210. The embodiments of the present disclosure provide various methods for determining the control point in the current map. The following describes various implementations of the first system for generating at least one control point according to at least one function point (i.e., step 202).
[0055] In some embodiments, step 202 can include: determining at least one first function point based on the attribute information of the cells in the current map and adding a function point identifier to each first function point in response to a first instruction, the first instruction being used to indicate the determination of the at least one first function point and the determination of the control point corresponding to each first function point; and determining the control point corresponding to each first function point based on a preset curve form and adding a control point identifier to each control point.
[0056] In some embodiments, the first system can determine at least one first function point among the at least one function point in the current map in response to the first instruction.
[0057] In some examples, the at least one first function point can be all function points in the current map, or can be part of the at least one function point. The determination of the first function point is related to the attribute information of each cell in the current map.
[0058] For example, the first instruction is used to determine at least one functional point in the current map and to generate control points corresponding to each functional point. The first instruction can be triggered by a user. For instance, the display interface of the first system may include a first control, which the user can trigger to generate the first instruction. The first system determines the first functional point and its corresponding control points based on the first instruction.
[0059] In some examples, after determining at least one first functional point and the control points corresponding to each first functional point, target control points can be further determined based on a preset curve. The target control points can be a subset of the control points corresponding to each first functional point.
[0060] In some embodiments, the preset curve form can be a Bézier curve or other curve forms. For example, the preset curve form can be a Kuznets curve, a Viviani curve, an Archimedes curve, etc. The Bézier curve can also include first-order, second-order, third-order, etc., which are not limited in this disclosure.
[0061] For example, taking a Bézier curve as the preset curve, the number of control points required for Bézier curves of different orders is different. For instance, a first-order Bézier curve may not require any control points (i.e., the number of control points can be 0), a second-order Bézier curve may require one control point (i.e., the number of control points can be 1), and a third-order Bézier curve may require two control points (i.e., the number of control points can be 2).
[0062] For example, after determining at least one first functional point and the control points corresponding to each first functional point, the target control points are further determined based on the requirements of the preset curve.
[0063] In some embodiments, determining at least one first functional point based on the attribute information of cells in the current map includes: determining at least one first functional point based on the attribute information of all cells in the current map, or determining at least one first functional point based on the attribute information of some cells in the current map.
[0064] For example, determining at least one first function point may include: traversing all cells and determining the function point; or, dividing the inventory area into different areas and traversing the cells of the selected area to determine the function point; or, adding relevant identifiers to the cell attribute information, traversing the cells associated with the selected identifiers, and determining the function point.
[0065] In some embodiments, the user triggers a first instruction from the first system to control the first system to determine at least one first functional point in the current map and automatically generate a corresponding control point for each first functional point, so as to achieve the purpose of adding functional points with one click and automatically generating control points.
[0066] Exemplarily, the display interface of the first system is provided with a function point generation control and a control point generation control. By triggering the generation control of the function point and / or the control point, a function point and / or a control point generation instruction is generated. The first system automatically generates the function point and / or the control point in batches in response to the function point and / or control point generation instruction. It should be noted that the triggering mode of the function point generation control and the control point generation control can be a touch mode, a mouse click, a voice input, etc. According to actual needs, the function point generation control and the control point generation control can be respectively provided with multiple buttons, or the two controls can be integrated into one button, or the function point generation control and the control point generation control can be respectively integrated with other function controls to provide multiple buttons.
[0067] In some examples, the first instruction can be generated by triggering one control on the display interface of the first system by a user. For example, the first instruction can be a function point and control point generation instruction.
[0068] For example, taking the first system as mapbuilder, the display interface of the mapbuilder can be provided with a button of
batch add arc line turning function point and calculate control point
batch add arc line turning function point and calculate control point
batch add arc line turning function point
batch add arc line turning function point and calculate control point
[0069] It should be noted that the premise of one-key generation of function points and control points by triggering the button of
batch add arc line turning function point and calculate control point
batch add arc line turning function point and calculate control point
[0070] In other examples, the first instruction can also be generated by triggering two controls on the display interface of the first system by a user. For example, the first instruction can include a function point generation instruction and a control point generation instruction.
[0071] For example, the display interface of the first system is provided with a function point generation control and a control point generation control. The function point generation control is triggered to generate a function point generation instruction, and the control point generation control is triggered to generate a control point generation instruction. The first system automatically generates function points in batches in response to the function point generation instruction and automatically generates control points in batches in response to the control point generation instruction. In this case, the function point generation control and the control point generation control correspond to two buttons or options respectively, and triggering the two buttons or options respectively can achieve the purpose of generating function points and control points.
[0072] As shown in FIG. 6F, the mapbuilder can automatically generate function points and control points. The
Batch Add Arc Turn Control Point
Automatic Add Arc Turn Point / Calculate Control Point
Automatic Add Arc Turn Point / Calculate Control Point
Automatic Add Arc Turn Point
Automatic Calculate Arc Control Point
Automatic Generate Arc Turn Point and Control Point
Automatic Add Arc Turn Point
Batch Add Arc Turn Control Point
Automatic Calculate Arc Control Point
[0073] For example, the display interface of the first system is provided with a function point generation control and a control point generation control. The function point generation control and / or the control point generation control is triggered to generate a function point and / or control point generation instruction. The first system automatically generates function points and / or control points in batches in response to the function point and / or control point generation instruction. The function point generation control and the control point generation control can be integrated into one button or option. When the user clicks
Automatic Generate Arc Turn Point and Control Point
[0074] The control method provided by the embodiments of the present disclosure can generate or automatically generate or fully automatically configure function points and corresponding control points by the first system, so as to achieve the purpose of batch and automatic generation, without manual calculation of control points. The first system can automatically generate control points to achieve a reusable and smooth configuration mode.
[0075] In some embodiments, the step 202 can further include: in response to the second instruction, determining at least one first function point based on the attribute information of the cells in the current map, and adding a function point identifier to each first function point, the second instruction being used to instruct to determine at least one first function point; receiving a first target instruction, the first target instruction being used to determine a selected first function point as at least one first target function point, or determine a first function point in a selected region as at least one first target function point; and in response to a third instruction, determining a control point corresponding to the at least one first target function point based on a preset curve form, and adding a control point identifier to each control point, the third instruction being used to instruct to determine a control point corresponding to the at least one first target function point.
[0076] For example, the user triggers the second instruction of the first system to control the first system to determine at least one first function point in the current map, selects at least one first target function point from the at least one first function point, and triggers the third instruction to control the first system to generate a corresponding control point for the at least one first target function point, so as to realize the function of determining the function point in an automatic and manual combined manner and automatically generating the control point.
[0077] It should be noted that the manner of determining at least one first function point based on the attribute information of the cells in the current map has been described in the above embodiments, and thus will not be described here again to avoid repetition.
[0078] In some examples, at least one first function point is determined in at least one function point in the current map in response to the received second instruction; at least one first target function point is further determined in the at least one first function point according to the received first target instruction after the at least one function point is obtained; and a control point corresponding to the at least one target function point is determined according to the third instruction. The first target function point is a function point meeting the user's demand, such as a function point selected by the user in the current map.
[0079] In some embodiments, in the case where the first target instruction does not indicate the first target function point, at least one second target function point in the current map is determined in response to the third instruction, the second target function point being a function point without a determined control point; and a control point corresponding to the at least one second target function point is determined based on a preset curve form, and a control point identifier is added to each control point.
[0080] Exemplarily, the display interface of the first system is provided with a function point generation control and a control point generation control. By triggering the function point and / or control point generation control, a function point and / or control point generation instruction is generated. The first system automatically generates the function point and / or control point in batches in response to the function point and / or control point generation instruction. The function point generation control and the control point generation control can be respectively provided with a button or an option. After the first system generates at least one function point in response to the function point generation instruction, the user can select part of the function points from the at least one generated function point and trigger the control point generation instruction to generate the control points for the selected part of the function points.
[0081] Taking the first system as an example, the mapbuilder is used to add the arc line function points in batches in the standard map, and the control points are calculated manually after the arc line function points are selected. As shown in FIG. 6B, the
batch add arc line turning function point
batch add arc line turning function point
batch calculate arc line turning control point
batch calculate arc line turning control point
batch calculate arc line turning control point
batch calculate arc line turning control point
[0082] The control method provided by the embodiments of the present disclosure can automatically generate the function points and generate the corresponding control points for the function points selected by the user, thereby achieving the purpose of batch and automatic generation. The control points can be automatically generated by the first system without manual calculation, so that the configuration mode is reusable and smooth.
[0083] In some embodiments, the step 202 includes: receiving a first selection instruction, the first selection instruction being used to determine the selected cells as the at least one second function point or determine the cells in the selected area as the at least one second function point; receiving a first configuration parameter, the first configuration parameter being used to configure the target coordinates of each second function point in the at least one second function point; and determining the control points corresponding to the at least one second function point based on a preset curve form and adding a control point identifier to each control point in response to a fourth instruction, the fourth instruction being used to instruct to determine the control points corresponding to the second function points.
[0084] Exemplarily, the user can manually select at least one cell in the current map as the second function point and manually configure the related parameters, and trigger the fourth instruction to control the first system to automatically generate the control point of the at least one second function point. That is, in addition to the automatic generation of the function point and the control point as described above, the embodiments of the present disclosure can also determine the function point based on the manual configuration of the user and automatically generate the control point corresponding to each function point.
[0085] In some examples, the first configuration parameter includes a target coordinate of the second function point, for example, an internal identifier of a node to which the second function point goes.
[0086] As shown in FIG. 6D, the user can click any icon for framing a position to manually add an arc turning function point, which is suitable for the scene of a customized map, for example, an exhibition scene, a special map scene, etc. Since the arc turning is not performed under the shelf using the customized map, the manually configured arc turning function point in the mapbuilder needs to be configured.
[0087] Exemplarily, the display interface of the first system is provided with a function point generation control and a control point generation control, the generation of the function point and / or the control point is triggered to generate a function point and / or control point generation instruction, and the first system automatically generates the function point and / or the control point in batches in response to the function point and / or control point generation instruction. The function point generation control and the control point generation control can be respectively provided with a button or an option, the function point generation control can be configured, that is, the user can manually configure the function point and set the parameters to be configured in the function point configuration interface, and the first system determines the corresponding cell as the function point in response to the parameters configured by the user, and generates the control point of the function point configured by the user in response to the control point generation instruction triggered by the user.
[0088] Taking the first system as the mapbuilder for example, as shown in FIG. 6E, the user can click the icon for framing a position to manually add an arc turning function point, and when the user manually adds the arc turning function point, the “node to go” needs to be filled in. If the turning point is not added in batches automatically, the node to go is empty by default and the automatic generation of the control point cannot be performed, so the internal identifier needs to be filled in the node to go. After the filling in the node to go is completed, the
Batch Add Arc Turning Function Point
Batch Calculate Arc Turning Control Point
[0089] The control method provided by the embodiments of the present disclosure can automatically generate the control point of each function point on the basis of the manual input of the function point, realize the function of automatically generating the control point, and achieve the reusable, efficient and smooth configuration mode.
[0090] In some embodiments, after determining the at least one second function point according to the received first selection instruction, the method further comprises: receiving a second target instruction, determining a second function point selected from the at least one second function point as the at least one first target function point; and in response to a third instruction, determining the control points corresponding to the at least one first target function point based on a preset curve form, and adding a control point identifier to each control point.
[0091] For example, after determining the at least one second function point based on the first selection instruction, the first system can determine a second function point selected or in a selected region as the at least one first target function point according to the second target instruction.
[0092] In some examples, the user can determine the at least one function point in the current map by combining the manual selection of the function point with the batch generation / automatic generation of the function point, and determine the function point selected by the user as the target function point, so as to control the first system to batch generate / automatically generate the control points of each target function point, and realize the functions of automatic and manual generation of the function point and automatic generation of the control point.
[0093] In some embodiments, the step 202 can further comprise: in response to a second instruction, determining the at least one first function point based on the attribute information of each cell in the current map, and adding a function point identifier to each first function point; receiving a first selection instruction to determine the at least one second function point; receiving a first configuration parameter, the first configuration parameter being used to configure the target coordinates of each second function point in the at least one second function point; receiving a first target instruction, the first target instruction being used to determine the first function point selected as the at least one first target function point, or determine the first function point in a selected region as the at least one first target function point; receiving a second target instruction, the second target instruction being used to determine the second function point selected as the at least one first target function point; and in response to a third instruction, determining the control points corresponding to the at least one first target function point based on a preset curve form, and adding a control point identifier to each control point.
[0094] For example, after determining the at least one first function point according to the second instruction and determining the at least one second function point according to the first selection instruction, the first system determines the at least one first target function point from the at least one first function point according to the first target instruction, and determines the at least one target function point from the at least one second function point, so as to obtain the final target function point. Finally, the control points corresponding to the target function point are determined according to the third instruction. That is, the embodiments of the present disclosure can determine the target function point by combining the automatic generation of the function point and the manual selection of the function point, and then determine the control points corresponding to the target function point.
[0095] In some embodiments, in response to the third instruction, at least one second target function point in the current map is determined in the case that the first target instruction and / or the second target instruction does not indicate the first target function point; wherein the second target function point is a function point without a determined control point; and based on a preset curve form, a control point corresponding to the at least one second target function point is determined, and a control point identifier is added to each control point.
[0096] In some examples, the first target instruction and the second target instruction in the above embodiments are both used to select a function point (i.e., the first target function point). The first target instruction is used to select the first target function point from automatically generated function points, and the second target instruction is used to select the first target function point from manually selected function points. In the case that the first target instruction and / or the second target instruction does not indicate the first target function point, a function point without a determined control point in the current map is determined, at least one second target function point in the current map can be determined, and a control point corresponding to each second target function point is calculated.
[0097] Exemplarily, the display interface of the first system is provided with a function point generation control and a control point generation control, a function point and / or a control point generation instruction is generated by triggering the generation control of the function point and / or the control point, and the first system automatically generates function points and / or control points in batches in response to the function point and / or control point generation instruction. The function point generation control and the control point generation control can be respectively provided with a button or an option. The function point generation control can be configured, i.e., the user can manually configure the function point, and set the required parameters in a function point configuration interface. The first system responds to the parameters configured by the user to determine the corresponding cells as function points. The user can manually configure part of the function points after triggering the function point generation control to generate a function point generation instruction, select part of the function points from the generated function points and the configured function points, and trigger the control point generation control to generate a control point generation instruction. The first system responds to the control point generation instruction to achieve the purpose of generating control points for the part of the function points selected by the user.
[0098] Taking the first system as an example, the mapbuilder is used to add the functional points of the arc line in batches and calculate the control points of the arc line after manually adding the functional points of the arc line. As shown in FIG. 6B, the user can select
batch add arc line turning functional points
batch add arc line turning functional points
batch calculate arc line turning control points
batch calculate arc line turning control points
batch calculate arc line turning control points
batch calculate arc line turning control points
[0099] The control method provided by the embodiments of the present disclosure can automatically generate the control points corresponding to the functional points selected by the user on the basis of the automatic generation of the functional points and the manual addition of the functional points, thereby realizing the function of automatically generating the control points and achieving the reusable, efficient and smooth configuration mode.
[0100] In some examples, after the first system generates the control points corresponding to at least one functional point, the functional points generated in the current map can be further verified.
[0101] In some embodiments, the control method further includes at least one of the following: in response to a fifth instruction, determining whether a cell at a location of a shelf in the current map is a functional point; in a case where the cell at the location of the shelf is determined to be a functional point, outputting third prompt information to a map display interface, the third prompt information being used to prompt that the current functional point has a collision risk and outputting an identification of the functional point determined to be at the location of the shelf; and in response to a sixth instruction, determining whether an arc line path in the current map is blocked by an obstacle, in a case where there is a first arc line path blocked by an obstacle in the current map, outputting fourth prompt information to the map display interface, the fourth prompt information being used to prompt that the first arc line path is blocked by an obstacle and outputting an identification of a cell corresponding to the first arc line path.
[0102] In some examples, the fifth instruction and the sixth instruction can be user-triggered or interface input, used to verify and check at least one functional point. It should be noted that the user can select to trigger or input only one instruction or trigger or input both instructions to achieve the purpose of checking the functional points.
[0103] In some embodiments, after determining the at least one function point and the corresponding at least one control point, in response to a fifth instruction, it is determined whether the cell where the shelf is located in the current map is a function point, and when the cell where the shelf is located is determined to be a function point, third prompt information is output to the map display interface to prompt that the current function point has a collision risk, and the function point identifier determined to be the location of the shelf is output.
[0104] In some embodiments, when the cell where the shelf is located is not determined to be a function point, the third prompt information is not output to the map display interface, indicating that there is no abnormal function point.
[0105] In some embodiments, after determining the at least one function point and the corresponding at least one control point, in response to a sixth instruction, it is determined whether the arc path in the current map is blocked by an obstacle, and when there is a first arc path blocked by an obstacle in the current map, fourth prompt information is output to the map display interface to prompt that the first arc path is blocked by an obstacle, and the identifier of the cell corresponding to the first arc path is output.
[0106] In some embodiments, when there is no arc path blocked by an obstacle, the fourth prompt information is not output to the map display interface, indicating that there is no abnormal cell.
[0107] In some embodiments, the user triggers the fifth instruction through the map display interface to check whether the at least one function point determined by the above method coincides with the location of the shelf, i.e., whether the cell where the shelf is located is a function point, and when it is determined to be a function point, the first system outputs third prompt information to the map display interface to prompt that the current function point has a collision risk, and the function point identifier of the current function point is the location of the shelf.
[0108] In some examples, the function point and the corresponding control point can generate an arc path, such as a Bezier curve. Therefore, the at least one function point determined by the first system and the at least one control point generated based on the at least one function point can generate at least one arc path.
[0109] In some embodiments, the user triggers the sixth instruction through the map display interface to check whether the arc path generated by the function point and the control point is blocked by an obstacle, and when there is a first arc path blocked by an obstacle, the first system outputs fourth prompt information to the map display interface to prompt that the first arc path is blocked by an obstacle, and outputs the identifier of the cell corresponding to the first arc path blocked by the obstacle.
[0110] In some embodiments, the manner of determining whether the arc path is blocked by the obstacle can be to determine whether the first point on the arc path has the obstacle, or to determine whether the obstacle stays at the first point for more than a preset time length. In the case that the first point has the obstacle or stays at the first point for more than the preset time length, the arc path is blocked by the obstacle.
[0111] For example, it can be determined whether the obstacle exists at each point on the arc path. In the case that the obstacle exists at the first point, it is further determined that the obstacle stays at the first point for a time length. In the case that the time length is too long, such as the time length exceeds a preset time length, it indicates that the obstacle at the first point cannot be removed, and it is determined that the arc path is blocked. The arc path can be composed of a plurality of points, the first point can be any point of the plurality of points on the arc path, and the preset time length can be set according to requirements. The specific value of the preset time length is not limited in the embodiments of the present disclosure.
[0112] In some examples, the plurality of points on the arc path can all not have the obstacle, or one point (such as the first point) on the arc path can have the obstacle, or at least two points on the arc path can have the obstacle. The number of points on the arc path that have the obstacle is not limited in the embodiments of the present disclosure. For example, in the case that the obstacle exists at at least two points on the arc path, it can be determined that the time length that the obstacle stays at each point. In the case that the time length that the obstacle stays at any point of the at least two points exceeds the preset time length, it is determined that the arc path is blocked by the obstacle.
[0113] In some examples, the display interface of the first system is provided with a button, an option or an input box for checking the function point. The user generates the checking instruction, i.e., the fifth instruction and / or the sixth instruction, by triggering the button or the option or inputting in the input box. The fifth instruction is used to check the unit cell where the shelf is located, and the sixth instruction is used to check whether the arc path is blocked by the obstacle. It should be noted that the generation control of the fifth instruction and the generation control of the sixth instruction can be a touch mode, a mouse click, a voice input, etc. The generation control of the fifth instruction and the generation control of the sixth instruction can be set as a plurality of buttons according to actual needs, or the two controls can be integrated into one button, or the generation control of the fifth instruction and the generation control of the sixth instruction can be integrated with other function spaces to set a plurality of buttons.
[0114] Taking the first system as an example, after the mapbuilder generates the function points and the control points, the staff can manually click to check whether there is a right-angle turning path without an arc turning function point under the check small shelf. When there is a box on the shelf, the right-angle turning point without the arc turning point will probably cause the collision between the load robot and the box on the shelf, and therefore, it is necessary to add a check item in the check function, that is, there is a right-angle turning path between the small shelves, and there is no arc turning function point. The check prompts: "map warning-arc turning path has obstacles- specific path cell".
[0115] As shown in FIG. 6J, there are obstacles on the arc path of the control point, and the check prompts: "map warning-robot right-angle turning path between shelves has the risk of colliding with the buffer box- specific arc turning function point".
[0116] The control method provided by the embodiments of the present disclosure can respond to the control point generation instruction, and generate at least one control point based on at least one function point, so as to realize the function of automatically and batch generating control points, and achieve the reusable, efficient and smooth configuration mode.
[0117] FIG. 3 is a schematic diagram of another control method provided by the present disclosure. As shown in FIG. 3, after the step 201, the method further includes the following steps:
[0118] In the case that each function point in the current map has a corresponding control point, the first prompt information is output to the map display interface, and the first prompt information is used to prompt that the control points have all been found.
[0119] In some examples, after the first system generates the function points and the control points in response to the first instruction, it is determined whether each function point in the current map has a corresponding control point.
[0120] In some examples, after the first system automatically generates at least one control point based on at least one function point, it can be determined whether each function point in the current map has a corresponding control point, that is, whether each function point has a corresponding control point.
[0121] For example, after the function points are added by batch addition, automatic addition, automatic generation or one-key generation, the mapbuilder will automatically check whether all the function points have successfully found the control points after calculation.
[0122] Exemplarily, in the case that each function point in the current map has a corresponding control point, it is indicated that the function points have all successfully found the control points after the calculation of the first system, and the map display interface can pop up the first prompt information to prompt that the control points have all been found.
[0123] For example, if the system successfully finds all control points for all turning points through automatic calculation, a schematic diagram as shown in Figure 6G can pop up, displaying whether the control points for all turning points or the control points for all selected turning points have been found.
[0124] In some embodiments, if at least one third functional point in the current map does not have a control point, a second prompt message is output to the map display interface. The second prompt message is used to indicate that at least one third functional point has not found a control point. A first abnormal message is output to indicate the functional point identifier of the at least one third functional point for which no control point has been found.
[0125] In some examples, if a function point fails to generate a control point, a second prompt message can be output to the map display interface to indicate that at least one third function point has not been found as a control point.
[0126] For example, if a turning point cannot be found as a control point after calculation by MapBuilder, a schematic diagram as shown in Figure 6H can pop up, indicating that no control point was found for the turning point.
[0127] In some embodiments, after outputting the first exception information, the first system may receive an input second configuration parameter, which is used to configure a control point corresponding to at least one third function point.
[0128] In some embodiments, after outputting the first exception information, the first system may delete or cancel the function point identifier of at least one third function point.
[0129] In some examples, the first error message is used to alert staff that no control point was found for a function point, and also to allow staff to confirm whether they need to manually calculate and configure the control point, or to delete or cancel the function point flag indicating that no control point was found.
[0130] For example, the display interface of the first system can pop up a prompt box or prompt icon indicating an error. In response to the fifth and / or sixth instructions generated by the user, after the first system detects an abnormal function point, the display interface can pop up the corresponding prompt and associate it with the abnormal function point icon.
[0131] Taking MapBuilder as an example, a new root exception type, "Warning," is added to MapBuilder. Under "Warning," a new sub-exception type, "No Control Point for Curved Turns," is added. Under "No Control Point for Curved Turns," the cell code of the configured turning point can be directly located. If a turning point cannot find a control point after calculation, a warning is added to the exceptions in the right-hand console.
[0132] The control method provided in this embodiment allows the first system to automatically generate at least one control point based on at least one function point, determine whether there are any function points that failed to generate control points, and output prompt information through a map display interface to prompt staff whether manual configuration of control points is required, or to delete or cancel the function point markers that have not been found. This realizes the anomaly verification function of the first system and further realizes the automated configuration of control points.
[0133] Figure 4 is a schematic diagram of another control method provided in this disclosure. As shown in Figure 4, after step 201 above, the method further includes the following steps:
[0134] Step 401: Generate at least one arc path based on at least one control point, the starting point coordinates, and the ending point coordinates.
[0135] In some embodiments, each arc path corresponds to a set of control points.
[0136] In some embodiments, the first system can calculate and generate at least one arc path based on at least one generated control point and the starting and ending coordinates, using a preset curve form. Each arc path corresponds to a set of control points. The preset curve form can be a Bézier curve or other curve forms, such as the Kuznets curve, Viviani curve, Archimedes curve, etc.
[0137] In some examples, with at least one control point identified, multiple sets of start and end coordinates can be determined in the current map. Each set of start and end coordinates can be formed by a single start coordinate and an end coordinate. At least one arc path is generated based on at least one control point and multiple sets of start and end coordinates.
[0138] For example, as shown in Figure 6K, an arc path can be generated using the starting point coordinates, control point P1, and control point P2.
[0139] Step 402: Traverse at least one set of control points and their corresponding arc paths, determine the target control points based on angle constraints and / or overlay constraints, and add target control point identifiers to the cells corresponding to the target control points to obtain the target map.
[0140] For example, the target map may include at least one set of start-point coordinates and end-point coordinates, each set of start-point coordinates and end-point coordinates may correspond to a set of control points, and each set of control points may include at least one target control point. The at least one control point may include a target control point.
[0141] In some examples, each set of control points corresponds to an arc path. By traversing at least one set of control points and the corresponding arc path, and through angle constraints and / or overlay constraints, the target control point is determined. This target control point is the optimal control point from the starting point coordinates to the ending point coordinates. A target control point identifier is added to the target control point to obtain the target map.
[0142] In some examples, the target map contains at least one function point and at least one corresponding control point. For each set of start and end coordinates (start coordinates and end coordinates), there is a corresponding target control point.
[0143] In some embodiments, step 402 above: traversing at least one set of control points and corresponding arc paths, and determining the target control point based on angle constraints and / or pressure constraints, includes: based on the first arc path corresponding to the first control point, and provided that the angle between the tangent at the starting point and the tangent at the first control point satisfies the angle constraint, determining the wheel trajectory based on the wheel start coordinates and wheel end coordinates of the first wheel of the conveying equipment, the first control point, and the second control point, respectively, wherein the first control point and the second control point constitute a set of control points; determining the distance value between each point of the first wheel in the wheel trajectory and the target point based on the wheel trajectory; and determining the first control point whose distance value satisfies the pressure constraint as the target control point.
[0144] In some examples, the angle constraint can be that the included angle is less than a preset threshold. The preset threshold can be set according to requirements; for example, it can be set to 1°. This embodiment does not limit the specific value of the preset threshold. For example, on the first arc path corresponding to the first control point, the angle between the tangent at the starting point and the tangent at the first control point satisfies the angle constraint, indicating that the starting point and the first control point are approximately on a straight line. Since the first control point and the second control point are symmetrical, and the coordinates of the starting point and the ending point are symmetrical, the angle between the tangent at the ending point and the tangent at the second control point also satisfies the angle constraint.
[0145] For example, as shown in Figure 6K, control point P1 should be on the extension of the line segment formed by the starting point and the inflection point, and P2 should be on the extension of the line segment formed by the ending point and the inflection point. Since the 180° arc needs to move forward three cells and cannot overlap the two QR codes at the foremost inflection point, control points P1 and P2 need a certain offset. For control point P1, the horizontal coordinate P1x = P0x + adjustX, and the vertical coordinate P1y = adjustY; for control point P2, the horizontal coordinate P2x = P3x - adjustX, and the vertical coordinate P2y = adjustY; where (P0x, P0y) are the coordinates of the starting point P0, (P3x, P3y) are the coordinates of the ending point P3; adjustX is the control point offset along the x-axis, and adjustY is the control point offset along the y-axis.
[0146] In some examples, a traversal approach can be used to find offsets `adjustX` and `adjustY` that meet certain conditions. First, the angle between the line containing the starting point P0 and the line containing the control point P1 must be less than 1°. If the angle is greater than 1°, the traversal continues. For example, if the angle is greater than 1°, the handling equipment might simply rotate in place without making a 180° turn; if the angle is less than 1°, it ensures that the handling equipment will not collide with the shelves on either side when making a 180° turn.
[0147] In some examples, angle constraints are used to determine at least one set of control points that satisfy the angle constraints among all control points generated in the current map. For each set of control points, a target control point is determined based on the overlay constraint. It should be noted that the overlay constraint can prevent the arc path corresponding to the determined target control point from overlapping the set positioning marker in scenarios with positioning markers (i.e., scenarios where positioning markers are set in the warehousing system); in scenarios without positioning markers (i.e., scenarios where positioning markers are not set in the warehousing system), it can prevent the arc path corresponding to the determined target control point from passing through other markers, fixed cargo box locations, or other locations in the warehousing system. This disclosure does not impose any restrictions on this.
[0148] In some examples, taking the coded scenario as an example, the code constraint can be that when the handling equipment turns, the tracks of the front and rear casters cannot press on the positioning marks on the middle two sides, and the drive wheels cannot press on the positioning marks on the front two sides.
[0149] For example, the wheel trajectory can be determined based on the wheel start coordinates and wheel end coordinates of the first wheel of the conveying equipment, the first control point and the second control point, respectively. The first wheel can be any wheel of the conveying equipment. The trajectory of each wheel can be determined by the start coordinates and end coordinates of each wheel, as well as the first control point and the second control point.
[0150] In some examples, the first wheel can be any one of the following: the front wheel of the caster (left and right), the rear wheel of the caster (left and right), the front drive wheel, or the rear drive wheel. Based on the starting and ending coordinates, the starting and ending coordinates of each wheel can be determined.
[0151] In some examples, the wheel trajectory of the first wheel can be determined based on the wheel start coordinates and wheel end coordinates of the first wheel, the first control point, and the second control point, thereby obtaining the wheel trajectory of the first wheel corresponding to each set of control points that satisfy the angle constraints.
[0152] For example, taking a Bézier curve as the preset curve form, calculate the trajectory of the drive wheel:
[0153] Left wheel: driveLX=Xc-W / 2*sinθ; driveLY=Yc+W / 2*cosθ;
[0154] Where driveLX and driveLY are the x and y coordinates of the trajectory point of the left drive wheel, Xc is the x coordinate of the center point of the Bézier curve, W is the wheel spacing between the drive wheels, θ is the angle between the tangent direction of the Bézier curve at the current point and the horizontal axis, and Yc is the y coordinate of the center point of the Bézier curve.
[0155] Right wheel: driveRX=Xc+W / 2*sinθ; driveRY=Yc-W / 2*cosθ;
[0156] Where driveRX and driveRY are the x and y coordinates of the trajectory point of the right drive wheel;
[0157] Where Xc is the x-coordinate of the center point of the Bézier curve, W is the wheel spacing between the drive wheels, θ is the angle between the tangent direction of the Bézier curve at the current point and the horizontal axis, and Yc is the y-coordinate of the center point of the Bézier curve.
[0158] Calculate the caster trajectory (divided into left and right front wheels and left and right rear wheels; taking the front wheel formula as an example):
[0159] Revolver:
[0160] casterLX=Xc+offsetY*cosθ-offsetX*sinθ;
[0161] casterLY=Yc+offsetY*sinθ+offsetX*cosθ;
[0162] Where casterLX and casterLY are the x and y coordinates of the trajectory point of the left caster wheel, respectively;
[0163] Right wheel:
[0164] casterRX=Xc+offsetY*cosθ+offsetX*sinθ;
[0165] casterRY=Yc+offsetY*sinθ-offsetX*cosθ;
[0166] Where casterRX and casterRY are the x and y coordinates of the trajectory point of the right caster wheel, respectively.
[0167] Here, offsetX and offsetY are the lateral and longitudinal offsets of the vehicle center from the casters, respectively.
[0168] Where Xc is the x-coordinate of the center point of the Bézier curve, θ is the angle between the tangent direction of the Bézier curve at the current point and the horizontal axis, and Yc is the y-coordinate of the center point of the Bézier curve.
[0169] For example, based on the wheel trajectory, determining the distance between each point of the first wheel in the wheel trajectory and the target point can yield the distance between each point and the target point.
[0170] In some examples, taking a coded scenario as an example, the target point is the location of the positioning marker of the cell traversed by the arc path corresponding to the first control point. For example, when the first wheel is a caster, the tracks of the front and rear wheels of the caster cannot touch the positioning markers on both sides of the middle, so the target point is the positioning markers on both sides of the middle point; when the first wheel is a drive wheel, the drive wheel cannot touch the positioning markers on both sides of the foremost point, so the target point is the positioning markers on both sides of the foremost point.
[0171] In other examples, taking the no-code scenario as an example, the target location can be a specific location set in the first system, such as a fixed position of the cargo box, a fixed charging position, or a location for other purposes, so as to avoid the second system pressing on the target location when planning the target path for the handling equipment.
[0172] In some embodiments, the distance value between each point of the first wheel in the wheel track and the target point is determined, and the first control point whose distance value satisfies the code constraint is determined as the target control point.
[0173] For example, taking the target point as the location of the positioning marker, before calculating the distance between each wheel track and the positioning marker based on the obtained wheel tracks, a preset value can be added to the actual size value of the positioning marker. The calculated size value is then used to calculate the distance between each wheel track and the positioning marker. For example, the actual length and width of the positioning marker are both 72mm; since the drive wheels are relatively wide, a 20mm margin is reserved, that is, the distance value used is the calculated distance value - 20mm; an additional 10mm redundancy is given to the distance between all wheel tracks and the positioning marker. If the calculated distance is less than 10mm, the corresponding distance value is not selected, and the process continues to iterate to obtain the distance values between all wheel tracks and the positioning marker.
[0174] In some embodiments, determining the first control point whose distance value satisfies the code constraint as the target control point includes: taking the minimum value of the distance values between each point in the wheel track and the target point as the target distance value; traversing at least one set of control points corresponding to at least one target distance value, and determining the first control point corresponding to the maximum target distance value as the target control point.
[0175] For example, based on the distance values between each wheel and the target point obtained from each point in the wheel trajectory corresponding to the first control point, the minimum value is taken as the target distance value corresponding to the first control point, thereby obtaining at least one target distance value corresponding to at least one set of control points.
[0176] In some examples, traversing at least one set of control points corresponding to at least one target distance value and determining the first control point corresponding to the maximum target distance value as the target control point can ensure that the arc path generated by the finally determined target control point can meet the code constraint, that is, in the code scenario, the front and rear wheels of the caster cannot press on the positioning marks on the middle two sides, and the drive wheels cannot press on the positioning marks on the front two sides.
[0177] For example, take the minimum distance between the wheel tracks and the QR code under each offset as distance; compare all distance values and take the control point offset with the maximum distance as the optimal offset.
[0178] In some examples, by determining the target control point, the current map can be updated to obtain the target map. In other words, the target map is the updated new map. After determining the target map, the first system can update the current map to the target map; that is, the first system can store and use the target map.
[0179] The control method provided in this disclosure can obtain the optimal offset based on the starting point coordinates and the ending point coordinates, i.e. the target control point, by traversing at least one control point generated in the current map and based on angle constraints and / or pressure constraints. The target control point can realize the generation of the optimal arc path.
[0180] For example, the first system sends the generated target map to the second system, which then generates a target path for the handling equipment based on the target map and sends the target path to the handling equipment. The target path can be an arc path or a curved path. For example, the target path can be a 180° arc path, a Z-shaped arc path, a U-shaped arc path, etc.
[0181] For example, the mapbuilder sends the generated map to the RMS so that the RMS can generate curved paths for the robot, such as 180° curved paths, Z-shaped curved paths, U-shaped curved paths, etc.
[0182] In some examples, the second system can send the generated arc path to the handling equipment. When the handling equipment executes the arc path, it can adjust its running speed according to the actual situation. For example, when the warehousing system is triggered to stop, the robot that has to stop in the emergency will stop in place when the handling equipment is turning in the arc. After the emergency stop is canceled, the robot will continue to run. The robot that has to stop normally will continue to run to the waiting point, stop at the waiting point, and continue to run after the emergency stop is canceled.
[0183] The control method provided in this embodiment involves a first system traversing at least one control point and determining the optimal offset through the aforementioned angle constraints and pressure constraints, thereby determining a target control point. This target control point can be used to generate an optimal arc path based on the starting point coordinates and the ending point coordinates, which is then used by a second system to generate an arc path for the transport equipment. This arc path can satisfy the transport equipment's ability to make arc turns while also preventing the transport equipment from pressing on the target point during turns.
[0184] Figure 5 is a schematic diagram of another control method provided in an embodiment of this disclosure. As shown in Figure 5, determining at least one first functional point based on the attribute information of each cell in the current map may include the following steps:
[0185] Step 501: Determine whether the first cell meets the first condition based on the attribute information and type of the first cell.
[0186] For example, cell attribute information may include at least one of the following: cell center distance, cell adjacent distance to the under-shelf loading aisle, whether the cell is located at the shelf location, the distance between the cell and the shelf, whether the cell is an obstacle point, and the matching device model.
[0187] In some examples, the first cell can be any cell among all cells corresponding to the current map; or, the first cell can be any cell among cells in the selected area of the current map; or, the first cell can be any cell among cells corresponding to a specific identifier in the selected cell attribute information, and this disclosure does not limit this.
[0188] In some embodiments, the first condition includes at least one of the following: the center distance of the first cell is greater than a first preset value; the adjacent distance between the first cell and the under-shelf carrying aisle is greater than a second preset value; the first cell is not an obstacle point; the first cell is not the location of the shelf, and the distance between the first cell and the shelf is greater than a third preset value; the device model matched by the first cell is the same as the model of the current handling equipment.
[0189] In some examples, the first, second, and third preset values are pre-set values, and their specific values can be configured according to the actual situation of the warehousing system. This disclosure does not restrict this.
[0190] For example, the matched device model is the model of the device to which the control method of this disclosure applies, and is set by the operator. For instance, a matching device model can be set for each cell, or a matching device model can be set for all cells in batches, or all cells can be divided into multiple regions, and a matching device model can be set for the cells in each region. This disclosure does not limit the method of matching device models for cells.
[0191] In some examples, if the device model matched in the first cell is different from the current handling equipment model, it indicates that the first cell does not support the movement of the handling equipment; if the device model matched in the first cell is the same as the current handling equipment model, it indicates that the first cell supports the movement of the handling equipment. Embodiments of this disclosure may not limit the device model, i.e., no matching device model may be configured.
[0192] For example, when generating function points, MapBuilder can further check whether right-of-way matches, that is, whether the device model supported by the cell is the same as the current robot model.
[0193] For example, a cell center distance greater than a first preset value can be used to determine whether the first cell supports turning of the transport equipment. If the cell center distance is greater than the first preset value, it indicates that the size of the first cell supports turning of the transport equipment at this location, and the first cell can be identified as a function point.
[0194] For example, the under-shelf carrying aisle can be a passageway under the shelf for handling equipment carrying goods / boxes or other objects. A first cell's adjacent distance from the under-shelf carrying aisle being greater than a second preset value can be used to determine whether the first cell supports turning by the handling equipment. If the distance between the first cell and the adjacent carrying aisle is greater than the second preset value, it indicates that the distance between the first cell and the under-shelf carrying aisle supports turning by the handling equipment at that location, and the first cell can be identified as a function point; if the distance between the first cell and the adjacent carrying aisle is less than or equal to the second preset value, the first cell cannot be identified as a function point.
[0195] For example, the fact that the first cell is not an obstacle can be used to determine whether the first cell has been marked as an obstacle. If the first cell has not been marked as an obstacle, it is determined that the first cell is not an obstacle and can be identified as a function point; if the first cell has been marked as an obstacle, it is determined that the first cell is an obstacle and cannot be identified as a function point.
[0196] For example, when generating function points in MapBuilder, it is necessary to check whether the path is passable along the arc path, i.e., whether there are any obstacle points.
[0197] For example, the first cell is not the location of the shelf, and the distance between the first cell and the shelf is greater than a third preset value. It can be determined whether the distance between the first cell and the shelf leg is greater than the third preset value. If the distance between the first cell and the shelf leg is greater than the third preset value, the first cell can be identified as a function point; if the distance between the first cell and the shelf leg is less than or equal to the third preset value, the first cell cannot be identified as a function point.
[0198] Step 502: If the first cell meets the first condition, the calibration position corresponding to the first cell is determined as the first function point.
[0199] For example, if the first cell satisfies the first condition, it can be that the cell center distance of the first cell is greater than a first preset value and the first cell is not an obstacle point.
[0200] In some embodiments, if the first cell satisfies the first condition, it may be that the center distance of the first cell is greater than a first preset value; the adjacent distance between the first cell and the under-shelf loading aisle is greater than a second preset value; the first cell is not an obstacle point; the first cell is not the location of the shelf, and the distance between the first cell and the shelf is greater than a third preset value; the device model matched by the first cell is the same as the model of the current handling equipment.
[0201] For example, the location corresponding to the first cell can be the location of the positioning identifier corresponding to the first cell in a coded scenario, or the location of the point on the current map corresponding to the first cell in a coded scenario.
[0202] The control method provided in this embodiment of the present disclosure determines at least one function point in at least one cell by judging the attribute information of at least one cell in the map, thereby realizing the function of automatically generating function points.
[0203] The control method provided in this embodiment allows a first system to respond to a control point generation command and automatically generate at least one control point corresponding to at least one function point based on at least one function point. It can also determine the optimal target control point based on at least one control point and the starting coordinates and ending coordinates, so that the second system can generate the optimal arc path for the handling equipment, thereby achieving reusable and smooth control point configuration.
[0204] Figure 7 is a schematic diagram of another control method provided by an embodiment of this disclosure. A specific implementation of this embodiment will be described below with reference to Figure 7. It should be noted that the control method shown in Figure 7 can be implemented by a warehousing system (such as warehousing system 100 in Figure 1), for example, executed by a first system and a second system within the warehousing system. As shown in Figure 7, the control method includes steps 701 to 704 as follows.
[0205] Step 701: The first system generates the function points and control points of the current map.
[0206] For example, the first system can be MapBuilder. The following embodiments use MapBuilder as an example to illustrate the concept.
[0207] When planning a map in MapBuilder, you can generate function points and control points using the following six configuration methods.
[0208] In some examples, the first configuration method involves adding curved U-turn feature points in batches and calculating control points. This first configuration method is applicable to standard maps. For example, using MapBuilder, curved feature points can be added with a single click, and control points can be automatically calculated, eliminating the need to manually enter control point offsets in the RMS. This configuration method requires ensuring that no curved U-turn feature points already exist on the map at this point.
[0209] For example, as shown in Figure 6A, in MapBuilder, select
Batch Add Arc Turn-off Function Points
Batch Add Arc Turn-off Function Points and Calculate Control Points
[0210] In some examples, the second configuration method involves adding curved turn-off feature points in batches (applicable to standard maps). For instance, using a standard map, batch add curved feature points in MapBuilder and calculate control points together after manually adding the curved feature points.
[0211] For example, as shown in Figure 6B, in MapBuilder, select "Batch Add Curved U-Turn Control Points." After manually adding the curved U-turn control points, click "Batch Calculate Curved U-Turn Control Points" to calculate the control points. As shown in Figure 6C, selecting only one U-turn control point and clicking "Batch Calculate Curved U-Turn Control Points" calculates only the control points for that single U-turn control point; selecting multiple U-turn control points and clicking "Batch Calculate Curved U-Turn Control Points" calculates the control points for all selected U-turn control points; and selecting no U-turn control points and clicking "Batch Calculate Curved U-Turn Control Points" calculates all U-turn control points without control points.
[0212] In some examples, the third configuration method involves manually adding curved turn-off function points and automatically calculating control points (applicable scenarios: exhibition scenarios, special map scenarios).
[0213] For example, when using a custom map and avoiding curved U-turns under shelves, the curved U-turn function points need to be manually configured in MapBuilder, as shown in Figure 6D. The destination node for the turning point, i.e., the endpoint of the curved turn, needs to be configured, as shown in Figure 6E. After filling in the destination node, click "Batch Add Curved U-turn Function Points" and then "Batch Calculate Curved U-turn Control Points" to calculate the control points for the manually added curved U-turn function points.
[0214] In some examples, the fourth configuration method involves automatically generating function points and control points.
[0215] For example, as shown in Figure 6F, change the "Batch Add Curved Turn Control Points" option in MapBuilder to "Automatically Add Curved Turn Points / Calculate Control Points"; add the following: After clicking "Automatically Add Curved Turn Points / Calculate Control Points," a drop-down menu will appear with three options: "Automatically Add Curved Turn Points," "Automatically Calculate Curved Control Points," and "Automatically Generate Curved Turn Points and Control Points." Clicking "Automatically Add Curved Turn Points" will achieve the same functionality as clicking "Batch Add Curved Turn Control Points," automatically adding curved turn points to the map.
[0216] Based on the current map's function points and the size of each cell, calculate control points: After the user manually configures or automatically generates turning points in batches, clicking "Automatically Calculate Arc Control Points" will automatically calculate the control points and offsets of the arc and save them as map attributes.
[0217] After generating the turning points, if the user selects only one turning point and clicks "Automatically Calculate Arc Control Points," the control points for that single turning point will be calculated and saved. If the user selects multiple turning points and clicks "Automatically Calculate Arc Control Points," the control points for all selected turning points will be calculated and saved. If the user does not select any turning points and clicks "Automatically Calculate Arc Control Points," the control points for all turning points without control points will be calculated and saved.
[0218] In some examples, the fifth configuration method involves configuring the 180° arc turning point fully automatically.
[0219] For example, by clicking "Automatically generate curve turning points and control points," turning points will be automatically added and control points for all turning points will be calculated, achieving full automation.
[0220] In some examples, the sixth configuration method can also be called the alternative configuration method. This alternative configuration method allows workers to manually calculate control points when MapBuilder cannot automatically calculate them, obtain the control point parameters, and input them into MapBuilder to determine the control points for turning points.
[0221] Step 702: The first system verifies the control points.
[0222] For example, after automatically calculating the control points in the current map, the first system (such as MapBuilder) can verify each control point.
[0223] For example, if the control points have been calculated and all turning points have successfully found control points, a pop-up message box can appear indicating that the control points for all turning points have been successfully found, as shown in Figure 6G. If a turning point cannot find a control point after calculation, the following message box will appear, indicating that a turning point has not found a control point, as shown in Figure 6H.
[0224] For example, in MapBuilder, add a root exception type "Warning", and under "Warning" add a new sub-exception type "No Control Point for Curved Turns". Under "No Control Point for Curved Turns", you can directly locate the cell code of the configured turning point; if a turning point cannot find a control point after calculation, add a warning in the console exceptions.
[0225] For example, when generating a U-turn function point along an arc path, as shown in Figure 6I, MapBuilder checks whether it is passable (whether there are obstacles or whether the right-of-way matches). If the passability conditions are not met, the U-turn function point is not generated.
[0226] For example, check whether there is a right-angle turning path without curved turning function points under the small shelf.
[0227] In some examples, staff manually trigger the inspection of function points and control points generated in the current map. When there are cargo boxes in the storage location, without configuring the 180° arc turn function point, a right-angle turn is likely to cause the load robot to collide with the cargo box in the storage location. Therefore, it is necessary to add an inspection item to the "inspect" function.
[0228] For example, as shown in Figure 6J, there is an obstacle blocking the arc path of the control point. During the inspection, the following message is displayed: "Map Warning - There is a risk of collision with the buffer box on the right-angle turning path of the robot between shelves - specific arc turning function point".
[0229] For example, if there are right-angle turns between small shelves and no curved U-turn function, the inspection will prompt: "Map warning - there is an obstacle blocking the curved U-turn path - specific path cell".
[0230] Step 703: The first system determines the control point and the optimal offset corresponding to the control point.
[0231] In some examples, the first system determines the control points in the following way:
[0232] As shown in Figure 6K, control point P1 should be on the extension of the line segment formed by the starting point and the inflection point, and P2 should be on the extension of the line segment formed by the ending point and the inflection point. Since the 180° arc needs to move forward three cells and cannot overlap with the two positioning markers at the foremost inflection point, control points P1 and P2 need a certain offset. For control point P1, the x-coordinate P1x = P0x + adjustX, and the y-coordinate P1y = adjustY; for control point P2, the x-coordinate P2x = P3x - adjustX, and the y-coordinate P2y = adjustY; where (P0x, P0y) are the coordinates of the starting point P0, (P3x, P3y) are the coordinates of the ending point P3; adjustX is the control point offset along the x-axis, and adjustY is the control point offset along the y-axis.
[0233] Use a traversal method to find the offsets adjustX and adjustY that meet the conditions. First, the angle between the straight line where the starting point P0 is located and the straight line where the control point P1 is located must be less than 1°. If the angle is greater than 1°, continue traversing. If the angle is greater than 1°, according to the existing logic, the handling equipment may directly rotate in place and will not make a 180° arc turn. If the angle is less than 1°, it can also be ensured that the handling equipment will not hit the shelves on both sides when it moves along a 180° arc path. When turning, it is necessary to ensure that the tracks of the front and rear casters do not run over the positioning marks on both sides in the middle, and the drive wheels do not run over the positioning marks on both sides at the front.
[0234] First, calculate the tracks of the front and rear casters, as well as the track of the drive wheel.
[0235] In the formula for calculating the drive wheel trajectory, Xc is the abscissa of the center point of the Bézier curve, W is the wheel spacing between the drive wheels, θ is the angle between the tangent direction of the Bézier curve at the current point and the horizontal axis, and Yc is the ordinate of the center point of the Bézier curve.
[0236] Calculate the drive wheel trajectory:
[0237] Left wheel: driveLX=Xc-W / 2*sinθ; driveLY=Yc+W / 2*cosθ;
[0238] Where driveLX and driveLY are the x and y coordinates of the trajectory point of the left drive wheel;
[0239] Right wheel: driveRX=Xc+W / 2*sinθ; driveRY=Yc-W / 2*cosθ;
[0240] Where driveRX and driveRY are the x and y coordinates of the trajectory point of the right drive wheel;
[0241] Where Xc is the x-coordinate of the center point of the Bézier curve, W is the wheel spacing between the drive wheels, θ is the angle between the tangent direction of the Bézier curve at the current point and the horizontal axis, and Yc is the y-coordinate of the center point of the Bézier curve.
[0242] Calculate the caster trajectory (divided into left and right front wheels and left and right rear wheels; taking the front wheel formula as an example):
[0243] Revolver: casterLX = Xc + offsetY*cosθ - offsetX*sinθ;
[0244] casterLY=Yc+offsetY*sinθ+offsetX*cosθ;
[0245] Where casterLX and casterLY are the x and y coordinates of the trajectory point of the left caster wheel;
[0246] Right wheel: casterRX=Xc+offsetY*cosθ+offsetX*sinθ;
[0247] casterRY = Yc + offsetY*sinθ - offsetX*cosθ; where casterRX and casterRY are the x and y coordinates of the trajectory point of the right caster wheel.
[0248] Here, offsetX and offsetY are the lateral and longitudinal offsets of the vehicle center from the casters.
[0249] Then, based on the obtained wheel tracks, the distance between each wheel track and the positioning marker is calculated. Before the calculation, the default positioning marker size is enlarged, for example, set to 72mm for both length and width; since the drive wheels are relatively wide, a 20mm margin is reserved, that is, the distance value used is the calculated distance value minus 20mm; an additional 10mm redundancy is given to the distance between all wheel tracks and the positioning markers, so if the calculated distance is less than 10mm, the distance value is not selected, and the process continues to iterate to obtain the distance values between all wheel tracks and the positioning markers.
[0250] The minimum distance between the wheel tracks and the positioning marker under each offset can be taken as distance; compare all distance values and take the control point offset with the maximum distance as the optimal offset.
[0251] Step 704: The first system sends the optimal offset to the second system, and the second system generates a 180° small shelf arc path based on the optimal offset.
[0252] In some examples, the second system can be RMS. The mapbuilder sends the generated map with the optimal offset to the RMS, which then plans the curved path of the small shelf based on the robot's start and end coordinates and sends it to the robot.
[0253] The control method provided in this disclosure, which generates function points and control points using a mapbuilder, can automatically calculate control points, thereby achieving a reusable, efficient, and smooth configuration method.
[0254] For example, in step 402 above, the first system (such as a map management system) can determine the target map. After determining the target map, the first system can send the target map to the second system (such as a robot management system). The second system can update the current map to the target map and perform path planning for each handling device in the warehousing system based on the target map. The implementation process of the path planning by the second system will be described below with reference to the accompanying drawings.
[0255] Figures 8A and 8B are schematic diagrams of two different warehousing scenarios provided in the embodiments of this disclosure.
[0256] In some examples, before path planning for the handling equipment, a map can be constructed for a preset area to facilitate equipment positioning. This preset area can be divided into multiple cells according to a predetermined range, and positioning markers can be set in each cell to locate the handling equipment. These positioning markers can be QR codes, reflective stickers, etc., and their positions within the cells can be determined according to actual needs. For example, the positioning marker can be set at the center of the cell. After obtaining the starting and ending coordinates of the handling equipment, the robot management system (such as RMS) plans a path for the equipment based on the current map (such as the target map in the above embodiment). The planned path is constructed by selecting a portion of cells in the target map based on the starting and ending cell positions and connecting the positioning markers of these cells. However, in real-world scenarios, two situations may arise that make the planned path unsuitable for execution by the handling equipment.
[0257] The first scenario involves misalignment of cell positioning markers, causing the handling equipment to stall or collide with other handling equipment during its movement. As shown in Figure 8A, in a real-world scenario, there might be misalignment between the QR codes in the empty aisle of the shelving area and the high-speed area. When RMS plans the path for the handling equipment, it will plan an initial path for this scenario. However, because the initial path involves a change in the direction of travel, it can cause the handling equipment to stall during its movement. Therefore, it is necessary to plan a curved path for the handling equipment in this scenario to allow the equipment to pass through the section smoothly and efficiently.
[0258] The second scenario involves path switching for the transport equipment, specifically switching from the current straight path to an adjacent straight path. As illustrated in Figure 8B, in real-world scenarios, when the transport equipment (robot) needs to switch paths, the current RMS (Robot Management System) plans a right-angle turn to facilitate this switch. However, right-angle turns cause the transport equipment to decelerate and then accelerate, resulting in stuttering during movement. For example, in a north-south straight path, the transport equipment might need to switch from the left to the right, or vice versa. Similarly, in an east-west straight path, it might need to switch from the south to the north, or vice versa. When planning a path with a right-angle turn, the transport equipment slows down during the turn and then resumes its original speed, leading to inefficiency and stuttering when executing the planned path from the robot management system, thus reducing overall operational efficiency.
[0259] To address the aforementioned issues, the control method provided in this embodiment allows the second system to plan paths for each transport device based on the latest map after the first system sends the target map to the second system. In the case of a first path that meets preset conditions in the initial path, the second system determines the target value based on the starting point and ending point coordinates. This enables the second system to generate a target path from the starting point to the ending point based on a preset curve, allowing the transport devices to pass through the section smoothly and efficiently, avoiding any stuttering or jamming that might occur when the transport devices travel along the first path.
[0260] For example, continuing to refer to Figure 1 above, the handling equipment 103 can be an intelligent warehousing equipment in the warehousing system 100, such as a picking and handling equipment, i.e. a robot.
[0261] In some examples, the handling device 103 may be a robot that moves boxes and / or goods. For example, the handling device 103 may be a RoboShuttle (RS) robot. The RS robot moves target goods and / or boxes from a target location on a fixed shelf to another location, or moves target goods and / or boxes from another location to a target location on a fixed shelf.
[0262] In other examples, the handling device 103 may also be a robot used to move shelves and / or carriers. For example, the handling device 103 may be a stealthy robot, such as a P-robot. The P-robot is used to move mobile shelves (also known as portable shelves) and / or mobile carriers. For example, the P-robot may move mobile shelves to the picking area, or move them to a location below fixed shelves or other locations, based on handling tasks sent by the server.
[0263] In some other examples, the handling device 103 may also be a four-way robot and / or a six-way robot. For example, the handling device 103 may be an X-series robot, which is a storage and retrieval robot that can move horizontally in four directions and / or horizontally and vertically in six directions along tracks within an automated storage and retrieval system.
[0264] In some other examples, the handling equipment 103 may also be a sorting robot, such as an S-series robot, used to sort according to different types of boxes / goods.
[0265] In some other examples, the handling device 103 may also be a forklift robot, such as an F-series robot; or a mobile handling robot, such as an M-series robot.
[0266] For example, the second system 102 in the storage system 100 and the handling equipment 103 can communicate with each other. The second system 102 can obtain the current status of the handling equipment. The second system 102 can control or manage the handling equipment 103. The second system 102 can generate a path for the handling equipment 103 and send the generated path to the handling equipment 103, so that the handling equipment 103 can travel along the generated path.
[0267] In some examples, the second system 102 is communicatively connected to the handling device 103, and the second system 102 is configured to send scheduling instructions to the handling device 103, the scheduling instructions being used to indicate the target path of the handling device 103; the handling device 103 is configured to receive the scheduling instructions and move based on the target path of the scheduling instructions.
[0268] In some embodiments, the first system is configured to: send a target map to a second system; the second system is configured to: determine an initial path for the transport equipment based on the target map; if a first path exists in the initial path that satisfies a preset condition, determine a target value in the target map; and generate a target path based on the target value and the starting and ending coordinates of the first path, wherein the curvature of the target path is greater than the curvature of a path.
[0269] The control method provided in this embodiment allows the second system to determine whether the initial path generated for the transport equipment meets preset conditions. If the preset conditions are met, the system re-plans the path for the transport equipment to replace the initial path. The preset conditions may be scenarios where path switching occurs or where positioning markers are misaligned.
[0270] It should be noted that the first system and the second system can be deployed on the same device or on different devices; this disclosure does not limit this. The first system can be a map management system, and the second system can be a robot management system, which can be an RMS (Real-Time Management System). The following embodiments will be illustrated by taking the second system as a robot management system as an example.
[0271] In some examples, the warehousing system may be set with location markers (e.g., in a coded scenario) or without location markers (e.g., in a coded scenario). The second system (i.e., the robot management system) may generate an initial path for the handling equipment based on different scenarios, and replan the path for the handling equipment to replace part of the path in the initial path if the initial path meets preset conditions.
[0272] Figure 9 is a schematic diagram of another control method provided in an embodiment of this disclosure. It should be noted that the control method shown in Figure 9 can be implemented through a second system (i.e., a robot management system) within the warehousing system. As shown in Figure 9, the control method includes the following steps 901 to 903.
[0273] Step 901: Determine the initial path of the transport equipment based on the target map.
[0274] It should be noted that step 402 described above can be executed by either the first system or the second system, and this embodiment of the disclosure does not limit this. When step 402 is executed by the first system, the first system can send the determined target map to the second system, and the second system can update the current map to the target map. When step 402 is executed by the second system, the second system can update the current map to the target map. This embodiment of the disclosure uses the execution of step 402 by the first system as an example for illustrative explanation.
[0275] In some examples, the first system sends the generated target map to the second system, which then determines the initial paths for each handling device in the warehousing system based on the received target map and order tasks. The order tasks instruct the handling devices in the warehousing system to perform handling tasks, moving the target object from the starting point to the destination.
[0276] In some examples, the initial path is a path planned by the robot management system for the transport equipment based on the target map. For instance, based on the start and end coordinates (or start and end coordinates) of the transport equipment, cells are selected in the target map to form the initial path, so that the transport equipment can travel from the start position to the end position via the initial path.
[0277] For example, each cell in the target map corresponds to a location marker, which can be a robot-recognizable identifier such as a QR code or reflective sticker; this disclosure does not limit the specific identifier. In a real-world scenario, the location marker can be placed at the center of the cell or elsewhere, used by the handling equipment to identify it and determine whether it has reached the correct location.
[0278] For example, in the target map, there may be multiple paths from the starting point to the ending point. The initial path may be at least one of the multiple paths; or, the initial path may be at least one of the multiple paths with a lower movement cost, such as a path with a lower movement cost that may include a path with a shorter movement distance.
[0279] In some examples, the number of initial paths can be one or more, and this disclosure does not limit this. When the number of initial paths is one, the initial path can be the path with the lowest movement cost among the multiple paths.
[0280] Step 902: If a first path exists in the initial path that satisfies the preset conditions, determine the target value in the target map.
[0281] For example, after determining the initial path, it can be further determined whether the initial path meets preset conditions.
[0282] In some examples, the first path can indicate an initial path that meets preset conditions. For example, if there is only one initial path, it can be determined whether the initial path meets the preset conditions; if there are multiple initial paths, it can be determined whether there is at least one path that meets the preset conditions among the multiple initial paths.
[0283] In other examples, the first path may also refer to a segment of the initial path that meets preset conditions. For example, the initial path may consist of multiple path segments, and the first path may be at least one segment of the multiple path segments that meets preset conditions. This disclosure provides an illustrative example using the first path being at least one segment of the initial path that meets preset conditions.
[0284] In some embodiments, the preset conditions include at least one of the following: the angle between the first line segment and the target direction is greater than a first threshold and less than a second threshold; the first line segment is the line segment between the calibration position of the starting point and the calibration position of the ending point in the first path; and the first path has path switching.
[0285] For example, if the angle between the first line segment and the target direction is greater than a first threshold and less than a second threshold, the first path is determined to meet the preset conditions; or, if there is a path change in the first path, the first path is determined to meet the preset conditions; or, if the angle between the first line segment and the target direction is greater than a first threshold and less than a second threshold, and there is a path change in the first path, the first path is determined to meet the preset conditions.
[0286] In some examples, the calibrated location is used to reflect the reference position of a certain point. Taking the scenario of a handling device using a positioning marker for positioning and navigation as an example, the calibrated location can be the position of the QR code in a certain cell. That is, the calibrated location of the starting point is the position of the QR code corresponding to the starting cell, and the calibrated location of the ending point is the position of the QR code corresponding to the ending cell.
[0287] For example, the first path can be a segment of the initial path that satisfies preset conditions. For instance, there can be at least one first path in the initial path that satisfies preset conditions.
[0288] In some examples, an angle between the first line segment and the target direction greater than a first threshold and less than a second threshold can indicate that the positioning markers on the first path are misaligned. That is, in real-world scenarios, positioning markers are all aligned, and the initial path generated by the robot management system for the handling equipment can be a straight path; there is no situation where the angle between the first line segment and the target direction is greater than the first threshold and less than the second threshold. Here, the target direction is the forward direction from the current point to the next point in the initial path.
[0289] In some examples, the angle between the first line segment and the target direction being greater than a first threshold and less than a second threshold can indicate that the calibration positions of the starting point and the ending point in the first path are not on the same straight line, resulting in a first angle between the first line segment and the target direction, which is greater than the first threshold and less than the second threshold.
[0290] For example, the first threshold can be 0° and the second threshold can be 45°. In different scenarios, the value of the first angle may be different due to the different placement of the positioning marker. However, the range of the first angle is between the first threshold and the second threshold. The first threshold and the second threshold can be customized according to different scenarios, which is not limited in this disclosure.
[0291] In some examples, a first angle value of 45° indicates a path switching scenario.
[0292] For example, in the first scenario shown in Figure 8A, if the QR code is not aligned, there is a first path in the initial path planned by RMS for the handling equipment. The first angle corresponding to the first path is greater than the first threshold and less than the second threshold. It is necessary to replan the path for the handling equipment to replace the first path, so as to avoid the handling equipment from getting stuck during operation and thus reducing the operating efficiency.
[0293] In some embodiments, when a first path exists in the initial path that meets preset conditions, a target value is determined in the target map. This includes: determining a target value when the first path has misaligned positioning markers or path switching. The target value reflects at least the distance parameter value between the target control point and at least one point on the first path. The at least one point on the first path can be the start point, midpoint, inflection point, and / or end point of the first path, etc. An arc path is planned using the target value, and the replanned arc path replaces the first path in the initial path, enabling the transport equipment to smoothly and efficiently traverse the road segments of the first or second scenario described above. The target control point is a control point used for replanning the path, and the number of target control points can be determined according to the applied preset curve form. It should be noted that the target value can be a path distance value, a straight-line distance, or a distance value calculated by weighting the path distance value and the straight-line distance value, etc. The path distance value can be the distance between the control point and the target path, and the straight-line distance value can be the distance between the control point and the start point coordinates or the end point coordinates.
[0294] In some embodiments, determining the target value in the target map can be, in scenarios where the cell in the warehousing system does not have a location identifier set (e.g., a no-code scenario), determining the distance between the target control point and the start or end point of the first path.
[0295] In some embodiments, determining the target value in the target map can be a target value for determining the distance between the target control point and the start or end point of the first path. This target value can be based on the start and end coordinates to determine a suitable turning point, avoiding the occurrence of a broken line path with zero curvature, which would cause the handling equipment to jam.
[0296] In some embodiments, determining the target value in the target map can be a target value that determines the distance from the midpoint of the first path. This target value can be based on the coordinates of the midpoint of the first path to determine the turning point of the first path, thereby avoiding the occurrence of a broken line path with zero curvature, which could cause the handling equipment to jam.
[0297] In some embodiments, determining the target value in the target map can be done by calculating the distance value between each inflection point and the starting point coordinates and the ending point coordinates based on at least one inflection point in the target map, iterating through the distance values, and selecting the distance value that meets the conditions as the target value.
[0298] It should be noted that the target value can be determined in the target map using other methods, and this disclosure does not restrict this.
[0299] Step 903: Generate the target path based on the target value, the starting coordinates of the first path, and the ending coordinates of the first path.
[0300] In some embodiments, the curvature of the target path is greater than the curvature of the first path.
[0301] For example, the first path is a path that meets preset conditions. The first path can be a path that requires a change of route, i.e., a right-angle turn path, with a first curvature of 0°. Alternatively, the first path can be a polyline path with misaligned positioning markers or a path with deviation in path tracking, with a second curvature of 0°. In other words, the target path generated by the embodiments of this disclosure can make its curvature greater than the first curvature in the scenario of a right-angle turn path; or, in the scenario of misaligned positioning markers, its curvature greater than the second curvature.
[0302] In some examples, the target path is used to replace the first path to avoid the jamming that occurs on the first path, so that the transport equipment can pass through the section smoothly and efficiently without having to reduce its speed on the target path.
[0303] In some embodiments, generating a target path based on a target value and the starting and ending coordinates of a first path includes: determining a target control point in a target map based on the target value, the starting coordinates of the first path, and the ending coordinates of the first path; and generating a target path based on a preset curve form, according to the target control point corresponding to the first path, the starting coordinates of the first path, and the ending coordinates of the first path.
[0304] For example, the preset curve form can be a Bézier curve. The dimension of the Bézier curve can be first-order, second-order, third-order, etc. In different embodiments, the form of the Bézier curve can be determined according to the form of the target path to be generated. Correspondingly, the number of target control points required for Bézier curves of different orders is different. For example, a first-order Bézier curve does not require target control points, a second-order Bézier curve requires one target control point, and a third-order Bézier curve requires two target control points.
[0305] In some embodiments, target control points are used to represent turning reference points for generating the target path, i.e., to control the shape of the generated target path. The number of target control points can be one, two, or more. Different numbers of target control points will result in different generated target paths based on the start and end coordinates of the first path; this disclosure does not impose any limitations on this.
[0306] In some examples, when there is only one target control point, the generated target path is an arc path (referred to as the first arc path) based on the start and end coordinates of the first path and the determined target control point. When there are two target control points, the generated target path is another arc path (referred to as the second arc path) based on the start and end coordinates of the first path and the two determined target control points. For example, compared to the first arc path, the second arc path offers more flexible and precise control over the shape and smoothness of the arc.
[0307] In some embodiments, the target control point includes a first target control point; determining the target control point based on the target value, the starting coordinates of the first path, and the ending coordinates of the first path includes: determining the abscissa of the starting coordinates of the first path as the abscissa of the first target control point, and determining the sum of the ordinate of the starting coordinates of the first path and the target value as the ordinate of the first target control point; the target control point includes a second target control point; determining the target control point based on the target value, the starting coordinates of the first path, and the ending coordinates of the first path includes: determining the abscissa of the ending coordinates of the first path as the abscissa of the second target control point, and determining the difference between the ordinate of the ending coordinates of the first path and the target value as the ordinate of the second target control point; the target control point includes a first target control point and a second target control point.
[0308] In some embodiments, the target control point includes a first target control point and a second target control point. The first target control point is on the same straight line as the starting point of the first path, and the second target control point is on the same straight line as the ending point of the first path. Therefore, the x-coordinate of the first target control point is the same as the x-coordinate of the starting point, and the x-coordinate of the second target control point is the same as the x-coordinate of the ending point. The distance between the first target control point and the starting point is the target value, and the distance between the second target control point and the ending point is the target value.
[0309] For example, as shown in Figure 8D, the target value is 705.2. The starting point coordinates of the first path are (0,0) and the ending point coordinates are (800,1600). The coordinates of the first target control point are (0,705.2) and the coordinates of the second target control point are (800,1600-705.2).
[0310] For example, as shown in Figure 8E, the target value is 350, the starting point coordinates of the first path are (0,0), the ending point coordinates are (200,700), the coordinates of the determined first target control point are (0,350), and the coordinates of the second target control point are (200,350).
[0311] In some examples, target control points can be determined based on a preset curve form, which can be a Bézier curve. The following explanation uses a Bézier curve as an example. Once the target control points are determined, a Bézier curve can be generated using the formula for calculating the start and end coordinates.
[0312] In some embodiments, based on Bézier curves, the target path is generated according to the target control points, the starting coordinates of the first path, and the ending coordinates of the first path. This can ensure that the curvature of the generated target path is greater than that of the first path. It should be noted that the target path is a Z-shaped arc path, with a small change in curvature between each point. This allows the transport equipment to maintain its original speed while traveling along the target path, without having to reduce speed and then accelerate, thus avoiding any jamming.
[0313] For example, the RMS system generates a Z-shaped arc path based on the first target control point, the second target control point, the starting coordinates, and the ending coordinates. This Z-shaped arc path can be as shown in Figure 8E, and can be a small Z-arc that travels two cells (suitable for scenarios where QR codes are not aligned); or a large Z-arc that travels three cells (suitable for scenarios where QR codes in the empty aisle of the shelf area and the high-speed area are not aligned); or, as shown in Figure 8D, a large Z-arc that travels four cells (suitable for regular robot switching paths).
[0314] In some embodiments, a target path is generated based on a Bézier curve, according to the target control point, the starting coordinates of the first path, and the ending coordinates. This can be based on the calculation formula of a third-order Bézier curve, by substituting the first target control point, the second target control point, the starting coordinates, and the ending coordinates into the calculation formula to obtain the Bézier curve. The calculation formula for the Bézier curve can be as shown in formula (1): B(t)=(1-t) 3 p0+3t(1-t) 2 p1+3t 2 (1-t)p²+t 3 p3; formula (1)
[0315] In formula (1), B(t) is the trajectory expression of the third-order Bézier curve, p0 is the starting coordinate, p3 is the ending coordinate, p1 and p2 are the target control points, and t is a parameter between 0 and 1, which can take any value, such as t can be set to 0.5.
[0316] It should be noted that the type of handling equipment applicable to the control method provided in this embodiment can be set by the operator in the robot management system. For example, the operator can input the appropriate model in the input box of the robot management system interface. After generating the target path, the robot management system will send the target path to the handling equipment of the appropriate model to replace the first path. Alternatively, the model of the handling equipment can not be restricted. The robot management system can send the target path to any model of handling equipment, and whether the corresponding handling equipment can execute the target path is determined autonomously by the handling equipment. This embodiment does not limit this.
[0317] In some examples, the above method of generating a target path based on the target value, the starting coordinates of the first path, and the ending coordinates can be applied to scenarios in the warehousing system that have location identifiers (e.g., scenarios with codes) or scenarios that do not have location identifiers (e.g., scenarios without codes).
[0318] The control method provided in this embodiment can determine the target value based on the starting point coordinates and the ending point coordinates when there is a first path that meets the preset conditions in the initial path. This allows the robot management system to generate a target path from the starting point to the ending point based on a preset curve, so that the handling equipment can pass through the section smoothly and efficiently, avoiding the jamming that occurs when the handling equipment travels along the first path.
[0319] Figure 10 is a schematic diagram of another control method provided in this disclosure. As shown in Figure 10, step 702 above includes the following steps:
[0320] Step 1001: If the endpoint coordinates of the first path satisfy the curvature constraint, determine the target value based on the boundary constraint, according to the endpoint coordinates and / or the first parameter.
[0321] In some embodiments, the first parameter includes at least one of wheel spacing, positioning mark width, and safety margin. For example, the first parameter may include wheel spacing, positioning mark width, or safety margin; or, the first parameter may include any two of wheel spacing, positioning mark width, and safety margin; or, the first parameter may include wheel spacing, positioning mark width, and safety margin.
[0322] In some examples, wheel spacing can be the distance between the two wheels of the conveying device positioned opposite each other along a direction perpendicular to the direction of movement. Wheel spacing can be obtained from the parameters of the conveying device. For example, wheel spacing is the distance between the center points of the left and right wheels of the conveying device.
[0323] In some examples, the location marker width is the width of the location marker corresponding to each cell in the target map. When the location marker has the same length and width, the width is simply the value of that length or width. When the location marker has unequal length and width, the width is the value in the vertical direction corresponding to the direction the handling equipment travels towards that point. For example, the width of the location marker can be obtained from the parameters of the location markers in an actual warehousing system. If the location marker width is the width of a QR code, it is the distance between the left and right boundary lines of the QR code in the direction the handling equipment travels towards that cell.
[0324] In some examples, the safety margin is a preset value that can be set by staff according to the actual situation, or it can be obtained from the historical safety margin value obtained by the RMS system. This disclosure does not limit this.
[0325] For example, the wheel spacing can be represented by 2*w, where w represents half of the wheel spacing; the QR code width can be represented by 2*m, where m represents half of the QR code width; and the safety margin can be represented by s.
[0326] In some embodiments, the boundary constraints include a first boundary condition and a second boundary condition. The first boundary condition reflects the minimum range of the endpoint coordinates, and the second boundary condition reflects the maximum boundary of the endpoint coordinates. The first boundary condition includes that the x-coordinate of the endpoint coordinates is greater than the x-coordinate of the first boundary point and less than the x-coordinate of the second boundary point, and that the y-coordinate of the endpoint coordinates is greater than the y-coordinate of the first boundary point and less than the y-coordinate of the second boundary point; the second boundary condition includes that the x-coordinate of the endpoint coordinates is greater than the x-coordinate of the second boundary point, and that the y-coordinate of the endpoint coordinates is greater than the y-coordinate of the second boundary point.
[0327] In some examples, the first boundary point can be the minimum feasible endpoint size, and the second boundary point can be the minimum endpoint size considering the code compression constraint.
[0328] In some examples, the x-coordinate and y-coordinate of the first boundary point, the x-coordinate and y-coordinate of the second boundary point are preset coordinate values, which can be customized by the staff, or can be calculated by the RMS system based on historical records or the size of the target map. This disclosure does not limit this.
[0329] For example, the first boundary point can be (50mm, 600mm), and the second boundary point can be (700mm, 1400mm).
[0330] In some embodiments, prior to step 1001, the method further includes: determining whether the coordinates of the endpoint of the first path satisfy the curvature constraint.
[0331] In some embodiments, the curvature constraint includes at least one of the following: the change in the ordinate of the endpoint coordinate and the starting coordinate in the first path is greater than or equal to the change in the abscissa; the abscissa of the endpoint coordinate is greater than or equal to a first value, and the ordinate of the endpoint coordinate is greater than or equal to a second value.
[0332] In some examples, the curvature constraint may include both of the above constraints, or it may include only one of the constraints. This disclosure does not limit this.
[0333] In some examples, the change in the ordinate of the endpoint and the starting point in the first path can be calculated by taking the difference between the ordinate of the endpoint and the starting point as the change in the ordinate, and the difference between the x-coordinate of the endpoint and the starting point as the change in the x-coordinate. By constraining the change in the ordinate to be greater than or equal to the change in the x-coordinate, the large curvature can be avoided from causing the speed to be too slow.
[0334] For example, to avoid excessively slow speed due to large curvature, we define abs(Y1)≥abs(X1). Here, abs represents the change, that is, the change of Y1 relative to Y0 is greater than or equal to the change of X1 relative to X0, where X0=0 and Y0=0.
[0335] In some embodiments, the x-coordinate of the endpoint coordinate is greater than or equal to a first value, and the y-coordinate of the endpoint coordinate is greater than or equal to a second value to prevent excessive curvature from causing the speed to be too slow. The first and second values are preset fixed values.
[0336] In some examples, the first and second values can be set by staff based on the attributes of the target map, or calculated using system formulas.
[0337] In some examples, the first and second values are obtained through system calculation. This can be achieved by training the initial model with a combination of historical values corresponding to the control method disclosed herein, resulting in a trained target model. Using this target model, the first and second values can be obtained after obtaining the starting and ending coordinates.
[0338] For example, the first value could be 800, and the second value could be 1600.
[0339] For example, to avoid excessively slow speed due to large curvature, X1≥800mm and Y1≥1600mm are specified, that is, the x-coordinate of the endpoint is greater than or equal to 800mm and the y-coordinate of the endpoint is greater than or equal to 1600mm.
[0340] In some examples, determining whether the endpoint coordinates of the first path satisfy the curvature constraint can yield either a result that the endpoint coordinates satisfy the curvature constraint or a result that the endpoint coordinates do not satisfy the curvature constraint. If the endpoint coordinates do not satisfy the curvature constraint, the subsequent steps to determine the target value are not performed, and no target path is generated. The transport equipment can still proceed along the initial path, or the RMS system will replan the path for the transport equipment.
[0341] In other examples, where the curvature constraint is satisfied at the endpoint coordinates, a target value can be determined based on subsequent processes. This target value is used to generate a target path to replace the first path in the initial path.
[0342] The following example, using a scenario where a location identifier is set in the warehousing system (such as a code scenario), illustrates the process of determining the target value.
[0343] In some embodiments, when the endpoint coordinates of the first path satisfy the curvature constraint, the target value is determined based on the boundary constraint, according to the endpoint coordinates and / or the first parameter. This can be done by determining the target value based on the endpoint coordinates when the first boundary condition is met, or by determining the target value based on the endpoint coordinates and the first parameter when the second boundary condition is met.
[0344] In some embodiments, determining the target value based on the endpoint coordinates according to boundary constraints includes: if the endpoint coordinates satisfy the first boundary condition, determining the calculated value of the endpoint coordinates and the preset ratio as the target value.
[0345] In some embodiments, when the x-coordinate of the endpoint coordinate is greater than the x-coordinate of the first boundary point and less than the x-coordinate of the second boundary point, and the y-coordinate of the endpoint coordinate is greater than the y-coordinate of the first boundary point and less than the y-coordinate of the second boundary point, the calculated value of the endpoint coordinate and the preset ratio is used as the target value.
[0346] In some examples, the preset ratio can be a pre-set ratio, and the specific ratio is not limited in this embodiment. The calculated value of the endpoint coordinate and the preset ratio can be obtained by weighting the preset ratio, for example, by weighting the x-coordinate and y-coordinate of the endpoint coordinate with the preset ratio respectively to obtain the target value; or, the preset ratio of the x-coordinate and the preset ratio of the y-coordinate can be set separately, and their calculated values can be the product of the x-coordinate and the y-coordinate with the corresponding preset ratio, such as the preset ratio of the x-coordinate being 1 and the preset ratio of the y-coordinate being one-half.
[0347] In some examples, the preset ratio can be set according to different scenarios and / or different types of handling equipment. For example, in a standard map scenario, the preset ratio can be one-half; in a specific scenario, such as an exhibition scenario, the preset ratio can be one-third. When the type of handling equipment is a cargo box, the preset ratio can be one-third; when the type of handling equipment is a shelving unit, the preset ratio can be one-half.
[0348] For example, let L be the length of the QR code from the control point to the starting point. Two boundary dimensions are defined: boundary point one (50mm, 600mm) and boundary point two (700mm, 1400mm). Boundary point one is the minimum feasible endpoint size, and boundary point two is the minimum endpoint size considering code compression constraints. When the size (X1, Y1) is greater than boundary point one and does not satisfy boundary point two, i.e., the current size is very small, code compression is inevitable, therefore code compression constraints do not need to be considered, and L = Y1 / 2.
[0349] In some embodiments, determining the target value based on boundary constraints and according to the endpoint coordinates and the first parameter includes: determining the second parameter based on the abscissa of the endpoint coordinates, wheel spacing, positioning mark width, and safety margin, provided that the endpoint coordinates satisfy the second boundary conditions; and determining the target value based on the second parameter, the abscissa, and ordinate of the endpoint coordinates.
[0350] In some embodiments, when the endpoint ordinate is greater than the second boundary point ordinate and the endpoint abscissa is greater than the second boundary point abscissa, i.e., the second boundary condition is met, the second parameter can be determined based on the endpoint coordinate and the first parameter, and the target value can be determined based on the second parameter and the endpoint coordinate.
[0351] In some examples, given the endpoint coordinates, wheel spacing, and positioning mark width, the tangent expression for the wheel trajectory of the handling equipment can be obtained based on Bézier curves. The slope of the tangent expression is the slope of the line connecting the control point corresponding to the endpoint and the starting point. To ensure that the wheel trajectory does not press on the positioning mark, the value of the ordinate of the tangent expression is constrained by a code. For example, the ordinate can be constrained to be less than half the difference between the endpoint's ordinate and half the wheel trajectory, thus obtaining the corresponding inequality. Based on the set safety margin value, the maximum slope of the line connecting the control point corresponding to the endpoint and the starting point can be obtained. Therefore, based on the relationship between the control point and the endpoint coordinates, the distance between the control point and the endpoint can be obtained.
[0352] In some examples, the control point and the endpoint coordinates can be the same on the x-coordinate, but differ by a target value on the y-coordinate.
[0353] In some examples, based on the endpoint coordinates and the first parameter, the formula for calculating the second parameter can be determined to satisfy the following formula (2).
[0354] In formula (2), k is the second parameter, m is half the width of the QR code, s is the safety margin, w is half the wheel spacing, X1 is the horizontal coordinate of the endpoint, and Y1 is the vertical coordinate of the endpoint.
[0355] In some examples, the target value is determined based on the second parameter and the endpoint coordinates, using the following formula (3): L = -(kX1 - Y1); Formula (3)
[0356] Figure 8C is a schematic diagram of the distance between a control point and an endpoint provided in an embodiment of this disclosure.
[0357] For example, as shown in Figure 8C, when the dimensions of X1 and Y1 are both larger than boundary two, the pressure constraint needs to be considered: in the Bézier curve calculation formula, when t = 0.5, line1 and line2 are tangents to the Bézier curve. It should be noted that line1 and line2 are parallel to the line connecting the starting point and the second control point, and the slope of line1 and line2 is k, calculated using the following formula:
[0358] The expressions for line1 are shown in formulas (4) and (5) below:
[0359] When x = m + s, we can obtain the following formula (6):
[0360] Taking a safety margin of s = 30, we can obtain the following formula (7):
[0361] Solving the above formula, we can obtain formula (2), that is:
[0362] Then, from formula (4), that is The distance L from the control point to the starting point can be obtained as follows: L = -(kX1-Y1).
[0363] In some examples, in a third-order Bézier curve, the two control points are symmetrical, that is, the distance from the first control point to the starting point is L, and the distance from the second control point to the ending point is L. Therefore, after calculating the distance L, the coordinates of the two control points can be obtained from the coordinates of the starting point and the ending point, respectively.
[0364] For example, taking w = 410 * 0.5, m = 72 * 0.5, and s = 30 as an example, when (X1, Y1) = (200, 700), the endpoint coordinates satisfy boundary point one but not boundary point two, and L = 350 can be obtained through calculation. When (X1, Y1) = (800, 1600), the endpoint coordinates satisfy boundary point two, and L = 705.2 can be obtained through calculation.
[0365] In some examples, for scenarios without positioning tags, the warehouse system does not set positioning markers. If the endpoint coordinates meet the first boundary condition, the target value is determined based on the endpoint coordinates. If the endpoint coordinates meet the second boundary condition, the target value is determined based on the endpoint coordinates, wheel spacing, and safety margin. It should be noted that this calculation process can follow the relevant calculation process described above for scenarios with positioning tags (where the positioning marker width in the relevant calculation formula is zero), and the specific target value can be obtained. This will not be elaborated further here.
[0366] In some examples, when the target value is determined, the target control point can be determined through step 903 in Figure 9. Then, based on the Bézier curve, the target path is generated according to the target control point, the starting point coordinates, and the ending point coordinates. The target path is used to replace the first path to avoid the handling equipment getting stuck on the first path, thus achieving smooth and efficient passage through the above-mentioned road section.
[0367] The control method proposed in this disclosure can determine a target value in the target map when a first path that meets preset conditions exists on the initial path. Then, based on the target value and the starting and ending coordinates of the first path, a target path can be generated to replace the first path, thereby avoiding the transportation equipment from getting stuck during the process and achieving efficient and smooth passage through the above-mentioned road section.
[0368] The following is a specific implementation of a control method provided in this disclosure.
[0369] 1. Arc types can be divided into:
[0370] (1) Follow the small Z-curve of two cells: This is applicable to the scenario where the QR code of the empty aisle in the shelf area is not aligned with the QR code in the high-speed area, as shown in the scenario diagram in Figure 8A;
[0371] (2) Follow a large Z-curve of three cells: Similar to follow a small Z-curve of two cells, it is suitable for scenarios where the QR codes in the empty aisle of the shelf area and the high-speed area are not aligned.
[0372] (3) Follow a large Z-curve across four cells: This is suitable for regular robot switching paths, as shown in the scenario diagram in Figure 8B.
[0373] 2. Calculate the distance between the control point and the starting point of the arc:
[0374] As shown in Figure 8C, the starting point coordinates are (0,0), the ending point coordinates are (X1,Y1), the length from the control point to the starting point QR code is L, the wheel spacing is 2*w, the QR code width is 2*m, and the safety margin is s.
[0375] Based on the physical characteristics of the robot:
[0376] (1) To avoid excessively slow speed due to large curvature, abs(Y1)≥abs(X1) is set;
[0377] To prevent excessive curvature: ensure X1 >= 800mm and Y1 >= 1600mm;
[0378] (2) Define two boundary dimensions: Boundary Point 1 (50mm*600mm); Boundary Point 2 (700*1400mm). Boundary Point 1 is the minimum feasible end point size, and Boundary Point 2 is the minimum end point size considering the pressure code constraint.
[0379] 1) When the size of (X1, Y1) is greater than the boundary point one and does not satisfy the boundary point two: (If the size is too small, it will definitely be overwritten, so there is no need to consider the overwriting constraint): L = Y1 / 2.
[0380] 2) When the dimensions of (X1, Y1) are both larger than the boundary point, then the code constraint needs to be considered.
[0381] When t = 0.5, the slopes of line1 and line2 are k, and their calculation formulas are as follows:
[0382] The expression for line1 is:
[0383] In the case of x = m + s:
[0384] When the remainder s = 30:
[0385] Solving the above formula, we can obtain:
[0386] Then by The distance L from the control point to the starting point can be obtained, L = -(kX1-Y1).
[0387] Figure 8D is a schematic diagram of a large Z-curve provided in an embodiment of the present disclosure; Figure 8E is a schematic diagram of a small Z-curve provided in an embodiment of the present disclosure.
[0388] As shown in Figure 8D, in the large Z-curve, w = 410 * 0.5, m = 72 * 0.5, s = 30 mm; the starting point coordinates are (0, 0), and the ending point coordinates are (800, 1600). Through the above calculation, the distance from the control point to the starting point can be obtained as L = 705.2.
[0389] As shown in Figure 8E, in the small Z-curve, the starting point coordinates are (0,0) and the ending point coordinates are (200,700). Through the above calculation, the distance L from the control point to the starting point can be obtained as 350.
[0390] The control method provided in this disclosure can determine the distance from the control point to the starting coordinate based on the start and end coordinates in scenarios where QR codes are misaligned or paths are switched. Then, the coordinates of the control point are determined based on this distance to generate a corresponding Z-shaped arc. This ensures that the handling equipment will not experience any jamming when passing through the section, enabling it to pass through efficiently and smoothly, further improving the overall operating efficiency of the warehousing system.
[0391] Figure 11 is a schematic diagram of another warehousing system provided in an embodiment of this disclosure. As shown in Figure 11, the warehousing system 200 includes a robot management system 1101 and at least one handling device 1102. The robot management system 1101 can be RMS (Real-Time Management System). It should be noted that the robot management system 1101 is the second system 102 in Figure 1, and the handling device 1102 is the handling device 103 in Figure 1.
[0392] For example, steps 901 to 903 described above can be executed by the warehousing system 200. The difference between the warehousing system 200 and the warehousing system 100 in FIG1 is that the warehousing system 200 does not include the first system. That is to say, steps 901 to 903 can be implemented by the warehousing system 100 or by the warehousing system 200, and this embodiment of the disclosure does not limit the implementation in this way.
[0393] In some embodiments, the robot management system 1101 is configured to: determine an initial path for the transport equipment based on a target map; if a first path exists in the initial path that satisfies a preset condition, determine a target value in the target map; generate a target path based on the target value and the starting and ending coordinates of the first path, wherein the curvature of the target path is greater than that of the first path; generate a scheduling instruction based on the target path and send the scheduling instruction to the transport equipment, wherein the scheduling instruction is used to indicate the target path of the transport equipment.
[0394] The handling equipment 1102 is configured to receive scheduling instructions and move along the target path based on the scheduling instructions.
[0395] Figure 12 is a schematic diagram of a control device provided in an embodiment of this disclosure.
[0396] As shown in Figure 12, the control device 1200 includes a determining module 1210 and a generating module 1220. Wherein:
[0397] The determination module 1210 is configured to determine at least one function point based on function point generation instructions and / or function point input parameters.
[0398] The generation module 1220 is configured to: generate at least one control point based on at least one function point in response to a control point generation instruction; wherein the control point is used to generate the target path of the transport equipment.
[0399] In some embodiments, the generation module 1220 is configured to: respond to a first instruction, determine at least one first functional point based on the attribute information of each cell in the current map, and add a functional point identifier to each first functional point, wherein the first instruction is used to instruct the determination of at least one first functional point and the determination of the control point corresponding to each first functional point; and determine the control point corresponding to at least one first functional point based on a preset curve form, and add a control point identifier to each control point.
[0400] In some embodiments, the generation module 1220 is configured to: in response to a second instruction, determine at least one first functional point based on the attribute information of each cell in the current map, and add a functional point identifier to each first functional point, wherein the second instruction is used to indicate the determination of at least one first functional point; receive a first target instruction, wherein the first target instruction is used to determine the selected first functional point as at least one first target functional point, or to determine the first functional point within the selected area as at least one first target functional point; in response to a third instruction, determine control points corresponding to at least one first target functional point based on a preset curve form, and add a control point identifier to each control point, wherein the third instruction is used to indicate the determination of control points corresponding to at least one first target functional point.
[0401] In some embodiments, the generation module 1220 is configured to: determine whether the first cell meets the first condition based on the attribute information and type of the first cell; wherein the attribute information includes the cell center distance, the adjacent distance between the cell and the under-shelf loading aisle, whether the cell is the location of the shelf, the distance between the cell and the shelf, whether the cell is an obstacle point, and the matching equipment model; if the first cell meets the first condition, the calibration position corresponding to the first cell is determined as the first functional point.
[0402] In some embodiments, the first condition includes at least one of the following: the center distance of the first cell is greater than a first preset value; the adjacent distance between the first cell and the under-shelf carrying aisle is greater than a second preset value; the first cell is not an obstacle point; the first cell is not the location of the shelf, and the distance between the first cell and the shelf is greater than a third preset value; the device model matched by the first cell is the same as the model of the current handling equipment.
[0403] In some embodiments, the generation module 1220 is configured to: receive a first selection instruction, the first selection instruction being used to determine the selected cell as at least one second function point, or to determine the cells within the selected area as at least one second function point; receive a first configuration parameter, the first configuration parameter being used to configure the target coordinates of each of the at least one second function point; and, in response to a fourth instruction, determine the control points corresponding to at least one second function point based on a preset curve form, and add control point identifiers to each control point, the fourth instruction being used to indicate the determination of the control points corresponding to the second function points.
[0404] In some embodiments, the generation module 1220 is further configured to: receive a second target instruction, the second target instruction being used to determine a selected second function point from at least one second function point as at least one first target function point; and in response to a third instruction, determine control points corresponding to at least one first target function point based on a preset curve form, and add control point identifiers to each control point.
[0405] In some embodiments, the generation module 1220 is configured to: respond to a second instruction, determine at least one first functional point based on the attribute information of each cell in the current map, and add a functional point identifier to each first functional point; receive a first selection instruction to determine at least one second functional point; receive a first configuration parameter, the first configuration parameter being used to configure the target coordinates of each of the at least one second functional point; receive a first target instruction, the first target instruction being used to determine the selected first functional point as at least one first target functional point, or to determine the first functional point within the selected area as at least one first target functional point; receive a second target instruction, the second target instruction being used to determine the selected second functional point as at least one first target functional point; and respond to a third instruction, determine control points corresponding to at least one first target functional point based on a preset curve form, and add a control point identifier to each control point.
[0406] In some embodiments, the generation module 1220 is further configured to: in the event that the first target instruction and / or the second target instruction does not indicate the first target function point, in response to a third instruction, determine at least one second target function point in the current map; wherein the second target function point is a function point for which no control point has been determined; determine the control point corresponding to the at least one second target function point based on a preset curve form, and add a control point identifier to each control point.
[0407] In some embodiments, the control device 1200 further includes an output module, which is configured to output a first prompt message to the map display interface when each function point in the current map has a corresponding control point. The first prompt message is used to indicate that all control points have been found.
[0408] In some embodiments, the output module is further configured to: output a second prompt message to the map display interface when at least one third functional point has not found a control point in the current map; output a first abnormal message to indicate the functional point identifier of the at least one third functional point that has not found a control point; and output a first abnormal message to indicate the functional point identifier of the at least one third functional point that has not found a control point.
[0409] In some embodiments, the control device 1200 further includes a configuration module, which is configured to: receive a second configuration parameter, the second configuration parameter being used to configure a control point corresponding to at least one third function point; and delete or cancel the function point identifier of at least one third function point.
[0410] In some embodiments, the output module is further configured to: in response to a fifth instruction, determine whether the cell where the shelf is located in the current map is a function point; if the cell where the shelf is located is determined to be a function point, output a third prompt message to the map display interface; wherein the third prompt message is used to indicate that there is a collision risk at the current function point and output the identifier of the function point determined to be the location of the shelf; and / or, in response to a sixth instruction, determine whether the arc path in the current map is blocked by an obstacle; if a first arc path in the current map is blocked by an obstacle, output a fourth prompt message to the map display interface; wherein the fourth prompt message is used to indicate that the first arc path is blocked by an obstacle and output the identifier of the cell corresponding to the first arc path.
[0411] In some embodiments, the generation module 1220 is further configured to: generate at least one arc path based on at least one control point, start coordinates, and end coordinates; wherein each arc path corresponds to a set of control points; traverse at least one set of control points and the corresponding arc paths, determine target control points based on angle constraints and / or overlay constraints, and add target control point identifiers to the cells corresponding to the target control points to obtain a target map; wherein the target map includes at least one set of start coordinates and end coordinates, each set of start coordinates and end coordinates corresponds to a set of control points, and each set of control points includes at least one target control point.
[0412] In some embodiments, the generation module 1220 is configured to: determine the wheel trajectory based on the first arc path corresponding to the first control point, provided that the angle between the tangent at the starting point and the tangent at the first control point satisfies the angle constraint; determine the wheel trajectory based on the wheel start coordinates and wheel end coordinates of the first wheel of the conveying equipment, the first control point, and the second control point, wherein the first control point and the second control point are a set of control points; determine the distance value between each point of the first wheel in the wheel trajectory and the target point based on the wheel trajectory; and determine the first control point whose distance value satisfies the code constraint as the target control point.
[0413] In some embodiments, the generation module 1220 is configured to: take the minimum value of the distance values between each point in the wheel trajectory and the target point as the target distance value; traverse at least one set of control points corresponding to at least one target distance value, and determine the first control point corresponding to the maximum target distance value as the target control point.
[0414] Figure 13 is a schematic diagram of an electronic device provided in an embodiment of this disclosure. As shown in Figure 13, the electronic device 1300 includes, but is not limited to, a memory 1310 and a processor 1320. The processor 1320 is connected to the memory 1310 via a bus 1330, and the database 1350 is used to store data.
[0415] Electronic device 1300 also includes access device 1340, which enables electronic device 1300 to communicate via one or more networks 1360. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. Access device 1340 may include one or more of any type of wired or wireless network interface (e.g., network interface controller (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0416] In one embodiment of this disclosure, the aforementioned components of the electronic device 1300, as well as other components not shown in FIG. 13, may be interconnected, for example, via a bus. It should be noted that the electronic device structural block diagram shown in FIG. 13 is merely for illustrative purposes and is not intended to limit the scope of this disclosure. Those skilled in the art can add or replace other components as needed.
[0417] Electronic device 1300 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). Electronic device 1300 can also be a mobile or stationary server.
[0418] The processor 1320 implements the steps of the control method described above when executing computer instructions.
[0419] The above is an illustrative scheme of an electronic device according to this embodiment. It should be noted that the technical solution of this electronic device and the technical solution of the control method described above belong to the same concept. For details not described in detail in the technical solution of the electronic device, please refer to the description of the technical solution of the control method described above.
[0420] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the control methods described in the above embodiments of this disclosure.
[0421] Embodiments of this disclosure also provide a computer program product, including a computer program that is executed by a processor using the control methods described in the above embodiments of this disclosure.
[0422] The foregoing has described specific embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0423] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0424] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this disclosure.
[0425] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0426] The preferred embodiments disclosed above are merely illustrative of this disclosure. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the content of this disclosure. These embodiments are selected and specifically described in this disclosure to better explain the principles and practical applications of this disclosure, thereby enabling those skilled in the art to better understand and utilize this disclosure. This disclosure is limited only by the claims and their full scope and equivalents.
[0427] All embodiments disclosed herein can be executed individually or in combination with other embodiments, and are all considered to be within the scope of protection claimed by this disclosure.
Claims
1. A control method, comprising: Determine at least one function point based on function point generation instructions and / or function point input parameters; In response to a control point generation instruction, at least one control point is generated based on the at least one function point; wherein the control point is used to generate a target path for the transport equipment.
2. The method according to claim 1, wherein, The step of generating at least one control point in response to a control point generation instruction, based on the at least one function point, includes: In response to the first instruction, based on the attribute information of each cell in the current map, at least one first functional point is determined, and a functional point identifier is added to each first functional point. The first instruction is used to indicate the determination of at least one first functional point and the determination of the control point corresponding to each first functional point. Based on a preset curve, control points corresponding to at least one first functional point are determined, and control point identifiers are added to each control point.
3. The method according to claim 1, wherein, The step of generating at least one control point in response to a control point generation instruction, based on the at least one function point, includes: In response to the second instruction, based on the attribute information of each cell in the current map, at least one first function point is determined, and a function point identifier is added to each first function point. The second instruction is used to indicate the determination of at least one first function point. Receive a first target instruction, the first target instruction being used to determine the selected first function point as at least one first target function point, or to determine the first function point within the selected area as at least one first target function point; In response to the third instruction, based on a preset curve form, control points corresponding to the at least one first target function point are determined, and control point identifiers are added to each control point. The third instruction is used to indicate the determination of control points corresponding to the at least one first target function point.
4. The method according to claim 2 or 3, wherein, The step of determining at least one first functional point based on the attribute information of each cell in the current map includes: Based on the attribute information and type of the first cell, determine whether the first cell meets the first condition; wherein, the attribute information includes the cell center distance, the adjacent distance between the cell and the under-shelf loading aisle, whether the cell is the location of the shelf, the distance between the cell and the shelf, whether the cell is an obstacle point, and the matching equipment model; If the first cell satisfies the first condition, the calibration position corresponding to the first cell is determined as the first function point.
5. The method according to claim 4, wherein, The first condition includes at least one of the following: The center distance of the first cell is greater than a first preset value; The adjacent distance between the first cell and the under-shelf loading aisle is greater than the second preset value; The first cell is not an obstacle point; The first cell is not the location of the shelf, and the distance between the first cell and the shelf is greater than the third preset value; The device model matched in the first cell is the same as the current handling equipment model.
6. The method according to claim 1, wherein, The step of generating at least one control point in response to a control point generation instruction, based on the at least one function point, includes: Receive a first selection instruction, the first selection instruction being used to determine the selected cell as at least one second function point, or to determine the cells within the selected area as at least one second function point; Receive a first configuration parameter, which is used to configure the target coordinates of each of the at least one second functional points; In response to the fourth instruction, based on a preset curve form, control points corresponding to the at least one second functional point are determined, and control point identifiers are added to each control point. The fourth instruction is used to indicate the determination of control points corresponding to the second functional point.
7. The method according to claim 6, wherein, The method further includes: Receive a second target instruction, the second target instruction being used to determine the selected second function point among the at least one second function point as at least one first target function point; In response to the third instruction, based on a preset curve form, control points corresponding to the at least one first target function point are determined, and control point identifiers are added to each control point.
8. The method according to claim 1, wherein, The step of generating at least one control point in response to a control point generation instruction, based on the at least one function point, includes: In response to the second instruction, based on the attribute information of each cell in the current map, at least one first function point is determined, and a function point identifier is added to each first function point; Receive the first selection instruction and determine at least one second function point; Receive a first configuration parameter, which is used to configure the target coordinates of each of the at least one second functional points; Receive a first target instruction, the first target instruction being used to determine the selected first function point as at least one first target function point, or to determine the first function point within the selected area as at least one first target function point; Receive a second target instruction, the second target instruction being used to determine the selected second function point as at least one first target function point; In response to the third instruction, based on the preset curve form, at least one control point corresponding to the first target function point is determined, and a control point identifier is added to each control point.
9. The method according to claim 3 or 7, further comprising: If the first target instruction and / or the second target instruction does not indicate a first target function point, in response to the third instruction, at least one second target function point in the current map is determined; wherein, the second target function point is a function point for which no control point has been determined; Based on a preset curve, control points corresponding to at least one second target function point are determined, and control point identifiers are added to each control point.
10. The method according to any one of claims 1-9, further comprising: If each functional point on the current map has a corresponding control point, output the first prompt message to the map display interface. The first prompt message is used to indicate that all control points have been found.
11. The method according to claim 10, further comprising: If at least one third functional point in the current map has no control point found, a second prompt message is output to the map display interface. The second prompt message is used to indicate that at least one third functional point has no control point found. Output the first exception information, which is used to indicate the function point identifier of at least one third function point for which no control point has been found.
12. The method according to claim 11, wherein, After outputting the first abnormal information, the method further includes any one of the following: Receive a second configuration parameter, which is used to configure the control point corresponding to the at least one third function point; Delete or cancel the function point identifier of at least one third function point.
13. The method according to any one of claims 1-12, wherein, After generating at least one control point, the method further includes at least one of the following: In response to the fifth instruction, it is determined whether the cell where the shelf is located in the current map is a function point. If the cell where the shelf is located is determined to be a function point, a third prompt message is output to the map display interface. The third prompt message is used to indicate that there is a collision risk at the current function point and outputs the function point identifier that has been determined to be the location of the shelf. In response to the sixth instruction, it is determined whether the arc path in the current map is blocked by an obstacle. If the first arc path in the current map is blocked by an obstacle, a fourth prompt message is output to the map display interface. The fourth prompt message is used to indicate that the first arc path is blocked by an obstacle and to output the identifier of the cell corresponding to the first arc path.
14. The method according to any one of claims 1-13, wherein, After generating at least one control point, the method further includes: Based on the at least one control point, the starting coordinates, and the ending coordinates, at least one arc path is generated; wherein each arc path corresponds to a set of control points. Traverse at least one set of control points and their corresponding arc paths, determine target control points based on angle constraints and / or code constraints, and add target control point identifiers to the cells corresponding to the target control points to obtain the target map; wherein, the target map includes at least one set of start coordinates and end coordinates, each set of start coordinates and end coordinates corresponds to a set of control points, and each set of control points includes at least one target control point.
15. The method according to claim 14, wherein, The process of traversing at least one set of control points and their corresponding arc paths, and determining the target control points based on angle constraints and / or code imprinting constraints, includes: Based on the first arc path corresponding to the first control point, and provided that the angle between the tangent at the starting point and the tangent at the first control point satisfies the angle constraint, the wheel trajectory is determined based on the wheel starting point coordinates and wheel ending point coordinates of the first wheel of the conveying equipment, the first control point, and the second control point, respectively. The first control point and the second control point are a set of control points. Based on the wheel trajectory, determine the distance value between each point of the first wheel in the wheel trajectory and the target point; The first control point whose distance value satisfies the code compression constraint is determined as the target control point.
16. The method according to claim 15, wherein, The step of determining the first control point whose distance value satisfies the code compression constraint as the target control point includes: The minimum distance between each point in the wheel track and the target point is taken as the target distance value; Traverse at least one target distance value corresponding to the at least one set of control points, and determine the first control point corresponding to the maximum target distance value as the target control point.
17. A control device, comprising: The determination module is configured to: determine at least one function point based on function point generation instructions and / or based on function point input parameters; The generation module is configured to: in response to a control point generation instruction, generate at least one control point based on the at least one function point; wherein the control point is used to generate a target path for the transport equipment.
18. A warehousing system, comprising: The first system is configured to: determine at least one function point based on function point generation instructions and / or function point input parameters; In response to a control point generation command, at least one control point is generated based on the at least one function point, the control point being used to generate a target path for the transport equipment, the at least one function point being determined based on the function point generation command and / or based on function point input parameters.
19. An electronic device comprising: A processor and a memory, wherein the memory is used to store computer-executable instructions; The processor is configured to read the instructions from the memory and execute the instructions to implement the method as described in any one of claims 1 to 16.
20. A computer-readable storage medium, wherein, The storage medium stores computer program instructions, which, when read by a computer, execute the method as described in any one of claims 1 to 16.
21. A computer program product comprising a computer program, wherein, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 16.