Robot control method and device, electronic equipment and storage medium

By considering the area occupied by the actual motion in the robot path planning, the problem of excessive dispersion of nodes and sections in the coexistence area of ​​multi-size robots is solved, and more efficient space utilization and parallel operation efficiency are achieved.

CN119847153AActive Publication Date: 2025-04-18HANGZHOU HIKROBOT TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411996486.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-18
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

In the area where multi-size robots coexist, the prior art requires setting nodes and road sections according to the robots of the largest size, resulting in the distribution of nodes and road sections being more dispersed, and the area space cannot be effectively utilized, resulting in low parallel operation efficiency.

Method used

The computer robot's planned path and size information determines the area occupied by its actual motion, and makes conflicts with the area occupied by other robots to judge. If specific motion conditions are met, the path is determined as the target path.

Benefits of technology

It can set up more road sections in limited areas to improve space utilization efficiency, provide more optional paths for robots, and improve the efficiency of robots of different sizes operating in parallel in the same area.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847153A_ABST
    Figure CN119847153A_ABST
Patent Text Reader

Abstract

The invention provides a robot control method and device, electronic equipment and a storage medium. The method comprises the steps that a first protection area is determined according to size information and candidate paths of a first robot; determining a second protection area corresponding to each second robot, wherein the second protection area comprises an area occupied by each second robot when the second robot is static or moves according to a preset path; determining a region conflict condition between the first protection region and the second protection region; and if the area conflict condition between the first protection area and the second protection area meets the motion condition of the first robot on the candidate path, determining the candidate path as a target path. And the potential collision risk can be detected. Therefore, the distribution of the nodes and the road sections does not need to be set according to the maximum size of the robot, and the nodes and the road sections can be set more intensively. More road sections can be arranged in a limited area, so that the space in the area is utilized more effectively. And the parallel operation efficiency of the robots with different sizes in the same area is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of automatic control technology, and in particular to a robot control method, device, electronic device and storage medium. Background Art

[0002] Currently, robots are being used more and more in various scenarios of production and life, replacing humans to perform a large amount of repetitive work. For example, robots of multiple sizes are deployed in the warehousing and logistics industries to perform multiple tasks.

[0003] For scenarios where robots of different sizes work in the same area (such as factories and warehouses), multiple nodes and multiple road sections connecting the nodes are set in the area. In order to avoid collisions, the distribution of nodes and road sections needs to be set according to the robot of the largest size. For example, the distance between adjacent nodes needs to be large enough, and the distance between two adjacent parallel road sections needs to be large enough to ensure that two robots of the largest size will not collide with each other when they are parked at adjacent nodes or run on adjacent parallel road sections.

[0004] However, setting the distribution of nodes and sections according to the maximum size of the robot results in a more dispersed distribution of nodes and sections. In a limited area, the number of nodes and sections that can be set will also be smaller, that is, the robot has fewer optional paths, and the regional space cannot be effectively utilized, resulting in low efficiency of parallel operation of robots of different sizes in the same area. Summary of the invention

[0005] Based on the above technical problems, the present application provides a robot control method, device, electronic device and storage medium for improving the efficiency of robots of different sizes working in parallel in the same area.

[0006] In a first aspect of the present application, a robot control method is provided, the method comprising:

[0007] Determine a first protection area according to the size information of the first robot and the candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path;

[0008] Determine a second protection area corresponding to each second robot, where the second protection area includes an area occupied by each second robot being stationary or moving along a preset path; the second robot and the first robot are deployed in the same target area; the target area is a mixed deployment area of ​​robots having multiple size information;

[0009] Determine an area conflict between the first protection area and the second protection area, wherein the area conflict includes at least a portion of the second protection area overlapping the first protection area;

[0010] If the area conflict between the first protection area and the second protection area satisfies the movement condition of the first robot on the candidate path, the candidate path is determined as the target path.

[0011] The technical solution provided by this application brings at least the following beneficial effects:

[0012] The robot control method provided in the present application, after determining the planned path of the robot, calculates the area actually required for the robot to move along the planned path based on the planned path and the size of the robot, and then combines the areas occupied by other robots to determine whether there is an area conflict, and instructs the robot whether to move according to the planned path based on the conflict judgment result.

[0013] Since, based on the path planning, the robot also performs conflict judgment on the area that it needs to occupy during actual movement, it can detect potential collision risks. Therefore, it is not necessary to set the distribution of nodes and sections according to the maximum size of the robot, and the nodes and sections can be set more concentratedly. For example, the distance between adjacent nodes is closer, and the distance between adjacent parallel sections is closer.

[0014] Based on this design, more sections can be set up in a limited area, so as to more effectively utilize the space in the area. When scheduling robots based on robot tasks, more optional paths can be provided for robots, improving the efficiency of robots of different sizes working in parallel in the same area.

[0015] In a possible implementation manner, the area conflict between the first protection area and the second protection area satisfies the motion condition of the first robot on the candidate path, including:

[0016] There is no overlapping area between the first protection area and the second protection area;

[0017] or,

[0018] There is an overlapping area between the first protection area and a second protection area corresponding to the second robot in a stationary state, and it is estimated that there is a time window for moving the second robot in the overlapping area away from the overlapping area before the first robot passes through the overlapping area;

[0019] or,

[0020] There is an overlapping area between the first protection area and the second protection area corresponding to the second robot in motion, and a first estimated time window for the first robot to pass through the overlapping area has no intersection with a second estimated time window for the second robot to pass through the overlapping area.

[0021] In a possible implementation, the second robot includes: a robot that is stationary on the first section or the second section within a time window, and a robot that runs on the second section within the time window; the time window represents the time interval that the first robot is expected to occupy when moving along the candidate path; the first section is a section included in the candidate path; the shortest distance between the second section and the first section does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robots deployed in the target area.

[0022] In a possible implementation, for a second robot in a stationary state, a second protection area corresponding to the second robot is determined according to size information and position information of the second robot;

[0023] For a second robot in motion, a second protection area corresponding to the second robot is determined according to size information and a motion path of the second robot.

[0024] In a possible implementation, the size information of the robot represents a projection size of the robot when it is in a loaded state or an unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground.

[0025] In a possible implementation manner, the method further includes acquiring size information of a target robot according to the following steps, where the target robot includes the first robot and / or the second robot:

[0026] Identify whether the target robot is in a loaded state or an unloaded state;

[0027] If the target robot is in an unloaded state, determine the model information of the target robot; determine the size information of the target robot according to the model information of the target robot and a pre-stored association relationship; the association relationship represents the correspondence between the model information and the size information of the robot;

[0028] If the target robot is in a cargo-carrying state, determining the circumscribed matrix area of ​​the projection state of the target robot; the circumscribed rectangular area is determined according to the projection area of ​​the target robot and the projection area of ​​the cargo carried by the target robot;

[0029] The size information of the target robot is determined according to the size information of the circumscribed rectangular area.

[0030] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0031] The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path corresponding to the rotational motion in the following manner:

[0032] Determining whether the rotation center is the geometric center of the first robot;

[0033] If the rotation center is the geometric center of the first robot, determining that the sub-protection area is a circular area; the center of the circular area is the geometric center, and the radius is a first radius; the first radius is calculated based on the size information of the first robot;

[0034] If the rotation center is not the geometric center of the first robot, the rotation line of the planned sub-path is sampled based on a preset arc to obtain a first occupation point of the geometric center of the first robot on the rotation line; for each first occupation point, a rectangular coverage area of ​​the first robot at the first occupation point is determined based on the size information; and a union area of ​​the rectangular coverage areas corresponding to the first occupation points is determined as the sub-protection area.

[0035] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0036] The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path corresponding to the linear motion in the following manner:

[0037] Sampling a straight line of the planned sub-path based on a preset distance to obtain a second position occupied by the geometric center of the first robot on the straight line;

[0038] For each second occupied point, a rectangular coverage area of ​​the first robot at the second occupied point is determined based on the size information; and a union area of ​​the rectangular coverage areas corresponding to the second occupied points is determined as the sub-protection area.

[0039] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0040] The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path for the curved motion in the following manner:

[0041] Sampling the curve line of the candidate sub-path based on a preset angle to obtain a third position occupied by the geometric center of the first robot on the curve line;

[0042] For two adjacent third occupied points, determine a straight line subpath with the third occupied points as endpoints;

[0043] Determining a sub-area covered by the first robot moving along the straight line sub-path;

[0044] A union area of ​​the sub-areas is determined as the sub-protection area.

[0045] A second aspect of the present application provides a robot control device, comprising:

[0046] A first determination module is used to determine a first protection area according to the size information of the first robot and the candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path;

[0047] A second determination module is used to determine a second protection area corresponding to each second robot, where the second protection area includes an area occupied by each second robot when the robot is stationary or moves along a preset path; the second robot and the first robot are deployed in the same target area; the target area is a mixed deployment area of ​​robots with multiple size information;

[0048] A third determination module, configured to determine an area conflict between the first protection area and the second protection area, wherein the area conflict includes at least a portion of the second protection area overlapping the first protection area;

[0049] The fourth determination module is configured to determine the candidate path as a target path if the area conflict between the first protection area and the second protection area satisfies the movement condition of the first robot on the candidate path.

[0050] In a possible implementation, the second robot includes: a robot that is stationary on the first section or the second section within a time window, and a robot that runs on the second section within the time window; the time window represents the time interval that the first robot is expected to occupy when moving along the candidate path; the first section is a section included in the candidate path; the shortest distance between the second section and the first section does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robots deployed in the target area.

[0051] In a possible implementation, for a second robot in a stationary state, a second protection area corresponding to the second robot is determined according to size information and position information of the second robot;

[0052] For a second robot in motion, a second protection area corresponding to the second robot is determined according to size information and a motion path of the second robot.

[0053] In a possible implementation, the size information of the robot represents a projection size of the robot when it is in a loaded state or an unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground.

[0054] In a possible implementation, the device further includes a size acquisition module, which is configured to:

[0055] Identify whether the target robot is in a loaded state or an unloaded state;

[0056] If the target robot is in an unloaded state, determine the model information of the target robot; determine the size information of the target robot according to the model information of the target robot and a pre-stored association relationship; the association relationship represents the correspondence between the model information and the size information of the robot;

[0057] If the target robot is in a cargo-carrying state, determining the circumscribed matrix area of ​​the projection state of the target robot; the circumscribed rectangular area is determined according to the projection area of ​​the target robot and the projection area of ​​the cargo carried by the target robot;

[0058] Determine the size information of the target robot according to the size information of the circumscribed rectangular area

[0059] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0060] The root first determination module is specifically used to determine the sub-protection area corresponding to the candidate sub-path in the following manner:

[0061] Determining whether the rotation center is the geometric center of the first robot;

[0062] If the rotation center is the geometric center of the first robot, determining that the sub-protection area is a circular area; the center of the circular area is the geometric center, and the radius is a first radius; the first radius is calculated based on the size information of the first robot;

[0063] If the rotation center is not the geometric center of the first robot, the rotation line of the planned sub-path is sampled based on a preset arc to obtain a first occupation point of the geometric center of the first robot on the rotation line; for each first occupation point, a rectangular coverage area of ​​the first robot at the first occupation point is determined based on the size information; and a union area of ​​the rectangular coverage areas corresponding to the first occupation points is determined as the sub-protection area.

[0064] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0065] The root first determination module is specifically used to determine the sub-protection area corresponding to the candidate sub-path in the following manner:

[0066] Sampling a straight line of the planned sub-path based on a preset distance to obtain a second position occupied by the geometric center of the first robot on the straight line;

[0067] For each second occupied point, a rectangular coverage area of ​​the first robot at the second occupied point is determined based on the size information; and a union area of ​​the rectangular coverage areas corresponding to the second occupied points is determined as the sub-protection area.

[0068] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0069] The root first determination module is specifically used to determine the sub-protection area corresponding to the candidate sub-path in the following manner:

[0070] Sampling the curve line of the candidate sub-path based on a preset angle to obtain a third position occupied by the geometric center of the first robot on the curve line;

[0071] For two adjacent third occupied points, determine a straight line subpath with the third occupied points as endpoints;

[0072] Determining a sub-area covered by the first robot moving along the straight line sub-path;

[0073] A union area of ​​the sub-areas is determined as the sub-protection area.

[0074] According to a third aspect of the present application, an electronic device is provided, comprising a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement any one of the robot control methods provided in the first aspect.

[0075] According to a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer instructions are executed by a processor, any one of the robot control methods provided in the first aspect is implemented.

[0076] In a fifth aspect of the present application, the present application provides a computer program product, which includes computer instructions, and when the computer instructions are executed by a processor, any one of the robot control methods provided in the first aspect above is implemented.

[0077] For the specific description of the second to fifth aspects and their various implementations in the present application, reference may be made to the detailed description in the first aspect and its various implementations; and for the beneficial effects of the second to fifth aspects and their various implementations, reference may be made to the beneficial effects analysis in the first aspect and its various implementations, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0079] Figure 1 A schematic diagram of the distribution of road sections within a target area in the related art;

[0080] Figure 2 A schematic diagram of a flow chart of a robot control method provided in an embodiment of the present application;

[0081] Figure 3A schematic diagram of the distribution of road sections within the target area provided in an embodiment of the present application;

[0082] Figure 4 A schematic diagram of a projection area of ​​an unloaded robot provided in an embodiment of the present application;

[0083] Figure 5 A schematic diagram of the projection area of ​​the cargo robot provided in an embodiment of the present application;

[0084] Figure 6 A first schematic diagram of a sub-protection area provided in an embodiment of the present application;

[0085] Figure 7 A second schematic diagram of a sub-protection area provided in an embodiment of the present application;

[0086] Figure 8 A third schematic diagram of a sub-protection area provided in an embodiment of the present application;

[0087] Fig. 9 A schematic diagram of the structure of a robot control device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0088] In order to enable ordinary persons in the art to better understand the technical solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings.

[0089] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0090] In addition, in the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B. "And / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0091] Before explaining the embodiments of the present application in detail, the relevant technologies involved in the embodiments of the present application are first introduced.

[0092] For scenarios where robots of different sizes work in the same area (such as factories and warehouses), multiple nodes and multiple road sections connecting the nodes are set in the area. In order to avoid collisions, the distribution of nodes and road sections needs to be set according to the maximum size of the robot. For example, the distance between adjacent nodes needs to be large enough, and the distance between two adjacent parallel road sections needs to be large enough to ensure that two robots of the largest size will not collide with each other when they are parked at adjacent nodes or move on adjacent road sections. Based on this design, after planning the movement path for the robot, there is no need to worry about the robot colliding with robots on other paths during movement.

[0093] As an example, see Figure 1 , which is a schematic diagram of the distribution of road sections within the target area in the related technology, Figure 1 The nodes A1, A2, B1, B2 and the sections a1, a2, b1 and b2 set in the target area are shown. The dotted line in the figure represents the center line of the section. Assume that there are five sizes of robots deployed in the target area, from small to large, m1, m2, m3, m4 and m5. In order to avoid collisions between robots and other robots on the path during movement, Figure 1 The distance L1 between the middle section a1 and the section b1 should be set based on the maximum size specification m5 to ensure that two robots of the maximum size will not collide when running between the sections a1 and b1. Similarly, the distance L2 between the sections a2 and b2 should also be set large enough.

[0094] But according to Figure 1 In the manner shown, the distribution of nodes and sections in the target area is set, resulting in a relatively scattered distribution of nodes and sections. The number of nodes and sections that can be set in a limited area will also be small, that is, the number of optional paths for robots is also small, and the regional space cannot be effectively utilized, resulting in low efficiency of robots of different sizes working in parallel in the same area. In particular, when there are more small-sized robots deployed in the target area and fewer large-sized robots, setting the spacing between sections based on the size information of the large-sized robots will aggravate space waste.

[0095] In order to solve the above technical problems, an embodiment of the present application provides a robot control method, device, electronic device, and storage medium. The following first introduces a robot control method provided by an embodiment of the present application.

[0096] The robot control method provided in the embodiment of the present application can be applied to any electronic device that needs to control the operation of the robot, for example, it can be a control device that has a communication connection with each robot, or it can be a master control robot in each robot, and the master control robot has a communication connection with other robots. The embodiment of the present application does not specifically limit this, and for the convenience of description, it is hereinafter referred to as a control device.

[0097] like Figure 2 As shown, the robot control method provided in the embodiment of the present application includes the following steps:

[0098] S201: Determine a first protection area according to size information of the first robot and a candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path.

[0099] To facilitate understanding, the scenarios in which the embodiments of the present application are applied are introduced.

[0100] The robot control method provided in the embodiment of the present application can be applied to scenarios where robots of multiple sizes are mixed, that is, robots of multiple sizes are deployed in the same target area, which can be a factory, warehouse, etc.

[0101] It should be noted that the present application does not limit the type of robot deployed in the target area, which may be an AMR (Autonomous Mobile Robot) or an AGV (Automated Guided Vehicle), etc.

[0102] The first robot may be a robot to perform a task and needs to move to a designated location. As an example, the control device may plan a candidate path for the first robot based on the task to be performed; as another example, the first robot may perform path planning on its own to determine the candidate path. If the first robot plans the candidate path on its own, the candidate path needs to be sent to the control device.

[0103] In the embodiments of the present application, the specific method of path planning is not specifically limited. As an example, the control device can determine the destination location based on the task to be performed, and then calculate the shortest path from the current location to the destination location based on a specific algorithm as a candidate path. As another example, after the control device determines the destination location, it comprehensively considers the length of the path and the degree of congestion to select a candidate path. Among them, the degree of congestion can be measured by the number of robots in motion on the current path.

[0104] A plurality of road sections have been pre-set in the target area, and the planned path includes at least one road section.

[0105] It is easy to understand that, when the size information of the first robot is known, the area occupied by the first robot if it moves according to the candidate path can be calculated based on the size information and the candidate path. The area is the first protection area.

[0106] It should be noted that the area that the first robot needs to occupy according to the candidate path refers to the two-dimensional plane area within the target area, and does not consider the occupation range of the robot in the three-dimensional space. Therefore, the size information of the first robot can be understood as the projection size of the first robot on the two-dimensional plane.

[0107] S202: Determine a second protection area corresponding to each second robot, where the second protection area includes an area where each second robot is stationary or moving along a preset path; the second robot and the first robot are deployed in the same target area; the target area is a mixed deployment area of ​​robots with information of various sizes.

[0108] In one embodiment of the present application, the second robot may be any other robot deployed in the target area except the first robot, and the second robot includes a robot in a stationary state and a robot in a moving state.

[0109] For the second robot in a stationary state, when the size information and the position information are known, the corresponding second protection area can be determined.

[0110] For the second robot in motion, the second protection area corresponding to the second robot is determined based on the size information and motion path of the second robot. It should be noted that for all robots deployed in the target area, the control device needs to calculate the corresponding protection area before moving along the candidate path, and can only move along the candidate path if the control device allows it. Therefore, for the second robot in motion, the control device has pre-calculated the corresponding protection area. When determining whether the first protection area corresponding to the first robot conflicts with the second protection area corresponding to the second robot, the previously calculated result can be called, that is, there is no need to recalculate the second protection area corresponding to the second robot.

[0111] S203: Determine an area conflict between the first protection area and the second protection area, where the area conflict includes at least a portion of the second protection area overlapping the first protection area.

[0112] If the first protection area overlaps with at least a portion of the second protection area, it is determined that there is an area conflict between the first protection area and the second protection area.

[0113] Specific regional conflict situations can be identified, including but not limited to the following:

[0114] 1. There is no overlapping area between the first protection area and the second protection area.

[0115] 2. There is an overlapping area between the first protection area and the static protection area, wherein the static protection area is the second protection area corresponding to the second robot in a stationary state.

[0116] 3. There is an overlapping area between the first protection area and the dynamic protection area, wherein the dynamic protection area is the second protection area corresponding to the second robot in a moving state.

[0117] S204: If the area conflict between the first protection area and the second protection area satisfies the motion condition of the first robot on the candidate path, the candidate path is determined as the target path.

[0118] In an embodiment of the present application, movement conditions that allow the first robot to move on a candidate path can be pre-set. When the area conflict between the first protection area and the second protection area meets the movement conditions, the candidate path is determined as the target path, and the control device can instruct the first robot to move along the target path.

[0119] The above mentioned sports conditions may include but are not limited to:

[0120] 1. There is no overlapping area between the first protection area and the second protection area.

[0121] 2. There is an overlapping area between the first protection area and the static protection area, and it is expected that there is a time window for moving the second robot in the overlapping area out of the overlapping area before the first robot passes through the overlapping area. The static protection area is the second protection area corresponding to the second robot in a stationary state.

[0122] 3. There is an overlapping area between the first protection area and the dynamic protection area, and the first estimated time window for the first robot to pass through the overlapping area does not intersect with the second estimated time window for the second robot to pass through the overlapping area. The dynamic protection area is the second protection area corresponding to the second robot in motion.

[0123] For motion condition 1, since there is no conflict between the first protection area and the second protection area, the first robot moves along the candidate path without colliding with other robots, and the control device can determine the candidate path as the target path.

[0124] For motion condition 2, there is an overlapping area between the first protection area and the second protection area corresponding to at least one second robot in a stationary state, but the control device determines that there is enough time to move the second robot in the overlapping area away from the overlapping area before the first robot passes through the overlapping area after calculating based on the distance between the current position of the first robot and the overlapping area, the motion speed range of the first robot, and other information. In this case, the candidate path is determined to be the target path.

[0125] The size of the time window for moving the second robot in the overlapping area away from the overlapping area may be preset.

[0126] In this case, the first robot is instructed to move according to the target path, and a moving-away instruction is sent to the second robot in a stationary state in the overlapping area, so that the second robot moves away from the overlapping area.

[0127] For motion condition 3, there is an overlapping area between the first protection area and the second protection area corresponding to the second robot in at least one motion state. The control device calculates the first estimated time window, i.e., the estimated time window for the first robot to pass through the overlapping area, based on information such as the distance between the current position of the first robot and the section of the overlapping area and the movement speed interval of the first robot; the control device calculates the second estimated time window, i.e., the estimated time window for the second robot to pass through the overlapping area, based on information such as the distance between the current position of the second robot and the section of the overlapping area and the movement speed interval of the second robot. If there is no intersection between the first estimated time window and the second estimated time window, the candidate path is determined to be the target path.

[0128] The above-mentioned motion conditions are only examples and do not constitute a limitation to the present embodiment.

[0129] In addition, when it is determined that the area conflict situation between the first protection area and the second protection area does not meet the movement conditions of the first robot on the candidate path, it means that if the first robot moves according to the candidate path, there is a risk of collision with other robots, so the planned path of the first robot needs to be re-determined.

[0130] In the solution provided in the embodiment of the present application, for a scenario in which robots with various size information are mixedly deployed in the same target area, the control device calculates the area actually required to be occupied by the first robot to move along the candidate path based on the candidate path and the size information of the first robot, and then determines the area conflict situation in combination with the areas occupied by other robots. When the area conflict situation meets the movement conditions of the first robot on the candidate path, the candidate path is determined as the target path.

[0131] Since, based on the path planning, the robot also performs conflict judgment on the area that it needs to occupy during actual movement, it can detect potential collision risks. Therefore, it is not necessary to set the distribution of nodes and sections according to the maximum size of the robot, and the nodes and sections can be set more concentratedly. For example, the distance between adjacent nodes is closer, and the distance between adjacent parallel sections is closer.

[0132] Based on this design, more sections can be set up in a limited area, so as to more effectively utilize the space in the area. When scheduling robots based on robot tasks, more optional paths can be provided for robots, improving the efficiency of robots of different sizes working in parallel in the same area.

[0133] With the solution of this application, when setting the distribution of road sections in the target area, the spacing between road sections does not need to be set based on the maximum size specification of the robots deployed in the target area. Figure 3 Provide further explanation.

[0134] See also Figure 3 , is a schematic diagram of the distribution of road sections within the target area provided in an embodiment of the present application, Figure 3 The nodes C1, C2, D1, D2 and the sections c1, c2, d1 and d2 set in the target area are shown, and the dotted line in the figure represents the center line of the section. Assuming that there are 5 sizes of robots deployed in the target area, from small to large, they are m1, m2, m3, m4 and m5. With the solution of this application, it is not necessary to set the spacing between sections based on the largest size m5, and a smaller size, such as m3, can be used as a reference. Specifically, Figure 3 The distance L3 between the middle road section c1 and the road section c1 can be set based on the smaller size specification. Similarly, the distance L4 between the road section c2 and the road section d2 can also be set based on the smaller size specification.

[0135] according to Figure 3 The distribution of nodes and sections in the target area is set in the manner shown, so that more sections can be set in a limited area, thereby more effectively utilizing the space in the area. When scheduling robots based on robot tasks, more optional paths can be provided for the robots, improving the efficiency of robots of different sizes working in parallel in the same area. Moreover, for target areas where sections are set more centrally, in a scenario where robots of multiple sizes are mixedly deployed, the robot control method provided in the embodiment of the present application is adopted. On the basis of path planning, conflict judgment is additionally performed on the area required to be occupied in the actual movement of the robot, so that potential collision risks can be detected, and collisions between robots will not occur due to the smaller spacing between sections.

[0136] It should be noted that Figure 1 and Figure 3As an example only, in actual applications, the target area is usually larger and there are more road sections set up in the target area. By adopting the solution of the present application and setting the road sections in a more centralized manner, the number of road sections that can be set up in the target area can be significantly increased, and the space in the target area can be utilized more effectively.

[0137] In one embodiment of the present application, the second robot includes: a robot that is stationary on the first section or the second section within a time window, and a robot that runs on the second section within a time window; the time window represents the time interval that the first robot is expected to occupy when moving along the candidate path; the first section is a section included in the candidate path; the shortest distance between the second section and the first section does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robot deployed in the target area.

[0138] As an example, after setting the road sections in the target area, for each road section, the road sections whose shortest distance to the road section does not exceed the preset threshold and are not connected to the road section are determined to form a set of adjacent road sections. That is, if the shortest distance between two road sections exceeds the preset threshold, the two road sections are defined as non-adjacent to each other. The preset threshold is related to the maximum size of the robots deployed in the target area, so that two robots of the maximum size will not collide when running on two non-adjacent road sections respectively.

[0139] Therefore, in an embodiment of the present application, after the control device determines the first section included in the candidate path, it determines a set of adjacent sections corresponding to each first section, and the sections included in these adjacent section sets are defined as second sections. When determining the second protection area corresponding to the second robot in motion state, only the robot running on the second section is considered.

[0140] In addition, the control device may calculate the estimated time interval that the first robot will take to move along the candidate path based on the length of the road section included in the candidate path and the movement speed interval of the first robot, and define the time window according to the time interval.

[0141] Subsequently, a robot running on the second section within the time window is determined as a second robot in motion for calculating the dynamic protection area.

[0142] For the sake of ease of description, assume that the above time window is [t1, t2].

[0143] In one embodiment of the present application, the robot running on the second section within the time window [t1, t2] is determined in the following manner:

[0144] Obtain the running paths of each robot in the area, determine whether the running paths contain any second section, and select the robots that contain any second section as candidate robots. For the candidate robots, calculate the time window for the candidate robots to pass through the second section based on the distance from the current position to the second section, the movement speed range of the candidate robots, etc., assuming it is [t3, t4]. Determine whether [t3, t4] has an intersection with the above time window [t1, t2]. If so, determine that the candidate robot belongs to the second robot.

[0145] It should be noted that when calculating the dynamic protection area, it is not necessary to consider the robot whose motion path is exactly the same as the candidate path of the first robot. For the convenience of description, the robot whose motion path is exactly the same as the candidate path of the first robot is defined as the third robot. If the second protection area corresponding to the third robot is calculated, it will inevitably conflict with the first protection area. However, the present application scheme considers the possible collision when the first robot moves in the first section and other robots move in the adjacent sections of the first section. Therefore, when calculating the second protection area, the third robot is not considered.

[0146] For the third robot, the first robot can start the following mode autonomously or under the instruction of the control device. In the following mode, the first robot identifies robots within a certain range ahead of the road section and maintains a certain distance by adjusting the speed, etc. to avoid collision.

[0147] In addition, a robot that is stationary on the first section or the second section within the time window is determined as a second robot in a stationary state for calculating a static protection area.

[0148] In the embodiment of the present application, the above-mentioned dynamic protection area and static protection area are both used as the second protection area, and then based on the area conflict between the first protection area and the second protection area, it is determined whether the movement conditions of the first robot on the candidate path are met.

[0149] It can be seen that in the embodiment of the present application, the sections whose shortest distance does not exceed the preset threshold and are not connected to each other are defined as adjacent sections, and the time window for the first robot to move along the candidate path is estimated. Therefore, it is only necessary to determine the robots running on the adjacent sections of the first section within the time window for calculating the dynamic protection area, without considering the robots deployed in the entire target area, which can greatly improve the computing efficiency.

[0150] In one embodiment of the present application, the size information of the robot represents the projection size of the robot when it is in a loaded state or an unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground.

[0151] Specifically, in the present application, the protection area occupied by the robot when it is stationary or in motion represents a two-dimensional plane area within the target area, so the size information of the robot can be represented by the projection size of the robot when it is loaded or not loaded.

[0152] The projection size used to calculate the protection area is set to be greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area projected by the robot onto the ground.

[0153] Specifically, considering that the plane area occupied by the robot during movement is directly related to the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground, the size of the maximum circumscribed rectangular area can be used as the projection size for calculating the protection area.

[0154] It should be noted that when determining the projection size, it is necessary to consider whether the robot is in a loading state. For a robot in a loading state, the projection size of the shelf or the cargo needs to be considered.

[0155] As an example, see Figure 4 , Figure 4 A schematic diagram of the projection area of ​​the unloaded robot provided in the embodiment of the present application, such as Figure 4 As shown, the size information of the forklift robot 401 may be determined based on the size information of the maximum circumscribed rectangular area 402 of the projection area projected onto the ground.

[0156] As an example, see Figure 5 , Figure 5 A schematic diagram of the projection area of ​​the cargo robot provided in the embodiment of the present application, such as Figure 5 As shown, the lurking robot 501 carries a shelf 502 , and its size information can be determined based on the size information of the maximum circumscribed rectangular area 503 of the projection area projected onto the ground, rather than being determined solely by the physical size of the lurking robot 501 itself.

[0157] Furthermore, considering that the robot may not move strictly according to the planned path, that is, there may be a certain motion error, the projection size used to calculate the protection area can be set larger, for example, the length and width of the projection size used to calculate the protection area are respectively greater than or equal to the length and width of the maximum circumscribed rectangular area. Thus, the projection area used to calculate the protection area finally includes the maximum circumscribed rectangular area of ​​the projection area projected by the robot to the ground and the motion error area.

[0158] By setting the motion error area, a motion protection area that is closer to the actual situation can be determined, further improving the effect of avoiding robot collisions.

[0159] In one embodiment of the present application, the size information of a target robot is obtained by using the following steps, where the target robot includes a first robot and / or a second robot:

[0160] Identify whether the target robot is in a loaded state or an unloaded state;

[0161] If the target robot is in an unloaded state, determine the model information of the target robot; determine the size information of the target robot according to the model information of the target robot and a pre-stored association relationship; the association relationship represents the correspondence between the model information and the size information of the robot;

[0162] If the target robot is in a cargo-carrying state, determine the circumscribed matrix area of ​​the projection state of the target robot; the circumscribed rectangular area is determined based on the projection area of ​​the target robot and the projection area of ​​the cargo carried by the target robot.

[0163] In the embodiment of the present application, the control device may determine whether the target robot is in a cargo-carrying state in a variety of ways.

[0164] As an example, after picking up and unloading goods, the target robot will record the status information of whether it is currently loaded, and report the status information to the control device, so that the control device can determine whether the target robot is in a loaded state by reading the status information.

[0165] As another example, the control device obtains an image taken of the target robot, identifies the target robot, cargo, or shelf based on image detection technology, and determines whether the target robot is in a loading state based on the detection result.

[0166] For a target robot in an unloaded state, the size information of the target robot can be determined according to the model information. The model information can be reported by the target robot to a control device, and the control device pre-stores a correspondence between the model information and the size information, and the size information of the target robot can be determined according to the correspondence.

[0167] For the target robot in the cargo-carrying state, the size information cannot be directly determined based on the corresponding relationship.

[0168] For ease of understanding, the relevant terms are explained first.

[0169] A shelf refers to a carrier for placing objects that is directly transported by smart carts or robots.

[0170] Oversized shelves refer to shelves where objects placed on them exceed the size of the shelf itself.

[0171] It can be seen that for a robot in a loaded state, since the shelf it is loaded on may be an oversized shelf, the projection size of the robot cannot be determined based on the size information of the shelf.

[0172] In one embodiment of the present application, the size information of the target robot in the cargo-carrying state is obtained by image analysis.

[0173] Specifically, an image containing the target robot taken at a projection angle is obtained, wherein the projection angle can be understood as an angle perpendicular or nearly perpendicular to the ground. For example, a plurality of cameras facing the ground are arranged above the deployment area of ​​the robot. These cameras can take images containing the target robot at an angle perpendicular or nearly perpendicular to the ground, and send the taken images to a control device. The control device then determines the maximum circumscribed rectangular area of ​​the target robot in the image, and the image area is the circumscribed rectangular image area. The size information of the target robot is determined based on the size information of the circumscribed rectangular image area and the image scale of the image, wherein the image scale refers to the ratio of any line segment on the image to its actual length on the ground.

[0174] It can be seen that different methods are used to obtain the size information according to the state of the robot being loaded or unloaded. For the robot not loaded with cargo, the size information is directly determined based on the robot model information. For the robot loaded with cargo, the size information is determined by image analysis, which does not require human participation in measurement and ensures the accuracy of the size information.

[0175] In one embodiment of the present application, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curved motion; and the first protection area includes sub-protection areas corresponding to each candidate sub-path.

[0176] Different methods are used to calculate the corresponding sub-protection areas for candidate sub-paths with different motion types.

[0177] Specifically, for the candidate sub-path corresponding to the rotational motion, the following steps are used to determine the sub-protection area corresponding to the candidate sub-path:

[0178] Step 11: Determine whether the rotation center is the geometric center of the first robot; if so, execute step 12; if not, execute step 13.

[0179] Step 12: If the rotation center is the geometric center of the first robot, determine that the sub-protection area is a circular area; the center of the circular area is the geometric center, and the radius is a first radius; the first radius is calculated based on the size information of the first robot.

[0180] The first robot performs rotational motion, and the rotation center may be the robot geometric center. For example, the rotation center of the lurking vehicle robot may be its own geometric center.

[0181] For the first robot whose rotation center is the geometric center, the corresponding sub-protection area can be represented by a circle, the center of the circle is the geometric center of the robot, and the radius is calculated based on the size information of the first robot. For example, the radius of the corresponding circumscribed circle is determined according to the projection size of the first robot as the radius of the sub-protection area.

[0182] See also Figure 6 , which is a first schematic diagram of a sub-protection area provided in an embodiment of the present application, Figure 6 The projection area 601 of the first robot is shown, and the corresponding sub-protection area is the circumscribed circle area 602 of the projection area 601 .

[0183] Step 13: If the rotation center is not the geometric center of the first robot, sample the rotation line of the planned sub-path based on the preset arc to obtain the first occupation point of the geometric center of the first robot on the rotation line; for each first occupation point, determine the rectangular coverage area of ​​the first robot at the first occupation point based on the size information; determine the union area of ​​the rectangular coverage areas corresponding to the first occupation points as the sub-protection area.

[0184] The first robot performs rotational motion, and the rotation center may not be the robot geometric center. For example, during the rotational motion of a forklift robot, the rotation center is usually not the robot's own geometric center.

[0185] For robots whose rotation center is not the geometric center, if a circle is still used to represent the corresponding sub-protection area, a large amount of available area loss will occur. Therefore, a discretized rectangle is used to fit the sub-protection area of ​​such rotational motion.

[0186] Specifically, the orientation of the first robot will change continuously during the rotation process. The arc of the discretized sampling can be preset, and the rotation rule of the planned sub-path is sampled at every preset angle. Each sampling obtains a first occupation point and the corresponding robot orientation. Combined with the size information, the rectangular coverage area occupied by the first robot at the first occupation point can be determined, and the union area of ​​the rectangular coverage areas corresponding to the first occupation points is determined as the sub-protection area.

[0187] See also Figure 7 , which is a second schematic diagram of a sub-protection area provided in an embodiment of the present application, Figure 7 The projection area 701 of the first robot and the rectangular coverage area 702 corresponding to the first occupation point are shown. The union of the rectangular coverage areas corresponding to each first occupation point is the sub-protection area of ​​the first robot under this type of rotation.

[0188] It can be seen that for the candidate sub-path whose motion type is rotational motion, it is further judged whether the rotation center is the geometric center of the robot, so that the corresponding sub-protection area is calculated in an appropriate manner according to different rotation types, which improves the accuracy of calculating the sub-protection area, and the calculated sub-protection area is closer to the actual situation.

[0189] In one embodiment of the present application, determining the first protection area according to the size information of the first robot and the candidate path includes: for the candidate sub-path corresponding to the linear motion, determining the sub-protection area corresponding to the candidate sub-path in the following manner:

[0190] Step 21: Sampling the straight line of the planned sub-path based on a preset distance to obtain a second position of the geometric center of the first robot on the straight line.

[0191] Step 22: for each second occupation point, determine the rectangular coverage area of ​​the first robot at the second occupation point based on the size information; and determine the union area of ​​the rectangular coverage areas corresponding to the second occupation points as the sub-protection area.

[0192] For the planned sub-path of a straight line, since the orientation of the first robot does not change during movement, it is only necessary to sample according to the preset distance to obtain multiple second occupation points. Then, combined with the size information, the rectangular coverage area occupied by the robot at the second occupation point can be determined. The union of the rectangular coverage areas is the sub-protection area.

[0193] In one embodiment of the present application, determining the first protection area according to the size information of the first robot and the candidate path includes: for the candidate sub-path of the curved motion, determining the sub-protection area corresponding to the candidate sub-path by the following steps:

[0194] Step 31: sampling the curve line of the candidate sub-path based on a preset angle to obtain a third occupied point of the geometric center of the first robot on the curve line;

[0195] When the first robot moves along a curve, the sub-protection area can be fitted using a discretized rectangular area based on the idea of ​​transforming the curve into a straight line.

[0196] Specifically, an offset angle is preset, and the curve line of the candidate sub-path is sampled once every interval of the angle to obtain a third occupation point.

[0197] Step 32: for two adjacent third occupation points, determine a straight line subpath with the third occupation points as endpoints;

[0198] Step 33: Determine the sub-area covered by the first robot moving in the straight line sub-path;

[0199] For two adjacent third occupied points, the coverage area corresponding to the straight line is used to approximately fit the coverage area corresponding to the curved line. When the preset offset angle is small, the difference between the two is not large.

[0200] The manner of determining the sub-area covered by the first robot moving in the straight line sub-path may refer to the description above.

[0201] Step 34: Determine the union area of ​​each sub-area as the sub-protection area.

[0202] The union of the sub-areas covered by the motion of each linear sub-path is used as the sub-protection area corresponding to the candidate sub-path of the curved motion.

[0203] See also Figure 8 , which is a third schematic diagram of a sub-protection area provided in an embodiment of the present application, Figure 8 The projection area 801 of the first robot and the rectangular coverage area 802 corresponding to the third occupation point are shown. The curved path between two adjacent third occupation points is approximated as a straight sub-path, and the union of the sub-areas covered by the movements of the respective straight sub-paths is taken as the sub-protection area.

[0204] It can be seen that for the candidate sub-paths whose motion type is curved motion, based on the idea of ​​turning curves into straight lines, the curved path is divided into multiple straight path segments, and the coverage areas corresponding to multiple straight lines are used to approximate the coverage areas corresponding to the curve rules. This allows the sub-protection area that is close to the actual situation to be obtained with a lower amount of calculation.

[0205] like Fig. 9 As shown, the embodiment of the present application also provides a robot control device, which is used in the robot control method shown in the above method embodiment. The robot control device includes:

[0206] A first determination module 901 is used to determine a first protection area according to the size information of the first robot and the candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path;

[0207] The second determination module 902 is used to determine a second protection area corresponding to each second robot, where the second protection area includes an area occupied by each second robot at rest or moving along a preset path; the second robot and the first robot are deployed in the same target area; the target area is a mixed deployment area of ​​robots with multiple size information;

[0208] A third determination module 903 is used to determine an area conflict between the first protection area and the second protection area, where the area conflict includes at least a portion of the second protection area overlapping the first protection area;

[0209] The fourth determination module 904 is configured to determine the candidate path as a target path if the area conflict between the first protection area and the second protection area satisfies the movement condition of the first robot on the candidate path.

[0210] In the solution provided in the embodiment of the present application, for a scenario in which robots with various size information are mixedly deployed in the same target area, the control device calculates the area actually required to be occupied by the first robot to move along the candidate path based on the candidate path and the size information of the first robot, and then determines the area conflict situation in combination with the areas occupied by other robots. When the area conflict situation meets the movement conditions of the first robot on the candidate path, the candidate path is determined as the target path.

[0211] Since, based on the path planning, the robot also performs conflict judgment on the area that it needs to occupy during actual movement, it can detect potential collision risks. Therefore, it is not necessary to set the distribution of nodes and sections according to the maximum size of the robot, and the nodes and sections can be set more concentratedly. For example, the distance between adjacent nodes is closer, and the distance between adjacent parallel sections is closer.

[0212] Based on this design, more sections can be set up in a limited area, so as to more effectively utilize the space in the area. When scheduling robots based on robot tasks, more optional paths can be provided for robots, improving the efficiency of robots of different sizes working in parallel in the same area.

[0213] In a possible implementation, the second robot includes: a robot that is stationary on the first section or the second section within a time window, and a robot that runs on the second section within the time window; the time window represents the time interval that the first robot is expected to occupy when moving along the candidate path; the first section is a section included in the candidate path; the shortest distance between the second section and the first section does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robots deployed in the target area.

[0214] In one possible implementation, for a second robot in a stationary state, a second protection area corresponding to the second robot is determined based on size information and position information of the second robot; for a second robot in a moving state, a second protection area corresponding to the second robot is determined based on size information and movement path of the second robot.

[0215] In a possible implementation, the size information of the robot represents a projection size of the robot when it is in a loaded state or an unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground.

[0216] In a possible implementation, the device further includes a size acquisition module, which is configured to:

[0217] Identify whether the target robot is in a loaded state or an unloaded state;

[0218] If the target robot is in an unloaded state, determine the model information of the target robot; determine the size information of the target robot according to the model information of the target robot and a pre-stored association relationship; the association relationship represents the correspondence between the model information and the size information of the robot;

[0219] If the target robot is in a cargo-carrying state, determining the circumscribed matrix area of ​​the projection state of the target robot; the circumscribed rectangular area is determined according to the projection area of ​​the target robot and the projection area of ​​the cargo carried by the target robot;

[0220] The size information of the target robot is determined according to the size information of the circumscribed rectangular area.

[0221] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0222] The first determination module 901 is specifically used to: determine the sub-protection area corresponding to the candidate sub-path in the following manner: determine whether the rotation center is the geometric center of the first robot; if the rotation center is the geometric center of the first robot, determine that the sub-protection area is a circular area; the center of the circular area is the geometric center, and the radius is a first radius; the first radius is calculated based on the size information of the first robot; if the rotation center is not the geometric center of the first robot, sample the rotation line of the planned sub-path based on a preset arc to obtain a first occupation point of the geometric center of the first robot on the rotation line; for each first occupation point, determine the rectangular coverage area of ​​the first robot at the first occupation point based on the size information; determine the union area of ​​the rectangular coverage areas corresponding to the first occupation points as the sub-protection area.

[0223] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0224] The first determination module 901 is specifically used to: determine the sub-protection area corresponding to the candidate sub-path in the following manner: sample the straight line of the planned sub-path based on a preset distance to obtain a second occupation point of the geometric center of the first robot on the straight line; for each second occupation point, determine the rectangular coverage area of ​​the first robot at the second occupation point based on the size information; and determine the union area of ​​the rectangular coverage areas corresponding to each of the second occupation points as the sub-protection area.

[0225] In a possible implementation, the candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths;

[0226] The first determination module 901 is specifically used to: determine the sub-protection area corresponding to the candidate sub-path in the following manner: sample the curved line of the candidate sub-path based on a preset angle to obtain a third occupation point of the geometric center of the first robot on the curved line; for two adjacent third occupation points, determine a straight line sub-path with the third occupation points as endpoints; determine the sub-area covered by the first robot moving with the straight line sub-path; and determine the union area of ​​each of the sub-areas as the sub-protection area.

[0227] Another embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer device, the computer device executes each step executed by the electronic device in the method flow shown in the above method embodiment.

[0228] In another embodiment of the present application, a computer program product is provided. The computer program product includes computer instructions. When the computer instructions are executed on a computer device, the computer device executes each step executed by the electronic device in the method flow shown in the above method embodiment.

[0229] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer-executable instructions. When loading and executing the computer-executable instructions on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer-executable instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer-executable instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, a data center, etc. that contains one or more servers that can be integrated with a medium. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a solid state drive (SSD), etc.

[0230] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the present application for which protection is sought, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the term "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple components. A single processor or other unit may implement several functions listed in a claim. Certain measures are recorded in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0231] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely exemplary illustrations of the present application as defined by the appended claims, and are deemed to have covered any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

[0232] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A robot control method, characterized in that: The method comprises: Determine a first protection area according to the size information of the first robot and the candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path; Determine a second protection area corresponding to each second robot, where the second protection area includes an area occupied by each second robot being stationary or moving along a preset path; the second robot and the first robot are deployed in the same target area; the target area is a mixed deployment area of ​​robots having multiple size information; Determine an area conflict between the first protection area and the second protection area, wherein the area conflict includes at least a portion of the second protection area overlapping the first protection area; If the area conflict between the first protection area and the second protection area satisfies the movement condition of the first robot on the candidate path, the candidate path is determined as the target path.

2. The method according to claim 1, characterized in that The area conflict between the first protection area and the second protection area satisfies the motion condition of the first robot on the candidate path, including: There is no overlapping area between the first protection area and the second protection area; or, There is an overlapping area between the first protection area and a second protection area corresponding to the second robot in a stationary state, and it is estimated that there is a time window for moving the second robot in the overlapping area away from the overlapping area before the first robot passes through the overlapping area; or, There is an overlapping area between the first protection area and the second protection area corresponding to the second robot in motion, and a first estimated time window for the first robot to pass through the overlapping area has no intersection with a second estimated time window for the second robot to pass through the overlapping area.

3. The method according to claim 1 or 2, characterized in that: The second robot includes: a robot that is stationary on the first section or the second section within a time window, and a robot that runs on the second section within the time window; the time window represents the time interval that the first robot is expected to occupy when moving along the candidate path; the first section is a section included in the candidate path; the shortest distance between the second section and the first section does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robots deployed in the target area.

4. The method according to claim 3, characterized in that For a second robot in a stationary state, determining a second protection area corresponding to the second robot according to size information and position information of the second robot; For a second robot in motion, a second protection area corresponding to the second robot is determined according to size information and a motion path of the second robot.

5. The method according to claim 1, characterized in that The size information of the robot represents the projection size of the robot when it is in a loaded state or an unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular area of ​​the projection area of ​​the robot projected onto the ground.

6. The method according to claim 5, characterized in that The method further comprises obtaining size information of a target robot according to the following steps, wherein the target robot comprises the first robot and / or the second robot: Identify whether the target robot is in a loaded state or an unloaded state; If the target robot is in an unloaded state, determine the model information of the target robot; determine the size information of the target robot according to the model information of the target robot and a pre-stored association relationship; the association relationship represents the correspondence between the model information and the size information of the robot; If the target robot is in a cargo-carrying state, determining the circumscribed matrix area of ​​the projection state of the target robot; the circumscribed rectangular area is determined according to the projection area of ​​the target robot and the projection area of ​​the cargo carried by the target robot; The size information of the target robot is determined according to the size information of the circumscribed rectangular area.

7. The method according to claim 5 or 6, characterized in that: The candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths; The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path corresponding to the rotational motion in the following manner: Determining whether the rotation center is the geometric center of the first robot; If the rotation center is the geometric center of the first robot, determining that the sub-protection area is a circular area; the center of the circular area is the geometric center, and the radius is a first radius; the first radius is calculated based on the size information of the first robot; If the rotation center is not the geometric center of the first robot, sampling the rotation line of the planned sub-path based on a preset arc to obtain a first occupation point of the geometric center of the first robot on the rotation line; for each first occupation point, determining a rectangular coverage area of ​​the first robot at the first occupation point based on the size information; A union area of ​​the rectangular coverage areas corresponding to the first occupied points is determined as the sub-protection area.

8. The method according to claim 5 or 6, characterized in that: The candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths; The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path corresponding to the linear motion in the following manner: Sampling a straight line of the planned sub-path based on a preset distance to obtain a second position occupied by the geometric center of the first robot on the straight line; For each second occupied point, a rectangular coverage area of ​​the first robot at the second occupied point is determined based on the size information; and a union area of ​​the rectangular coverage areas corresponding to the second occupied points is determined as the sub-protection area.

9. The method according to claim 5 or 6, characterized in that: The candidate path includes candidate sub-paths corresponding to at least one motion type of the first robot; the motion type includes rotational motion, linear motion and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths; The determining of the first protection area according to the size information of the first robot and the candidate path includes determining the sub-protection area corresponding to the candidate sub-path for the curved motion in the following manner: Sampling the curve line of the candidate sub-path based on a preset angle to obtain a third position occupied by the geometric center of the first robot on the curve line; For two adjacent third occupied points, determine a straight line subpath with the third occupied points as endpoints; Determining a sub-area covered by the first robot moving along the straight line sub-path; A union area of ​​the sub-areas is determined as the sub-protection area.

10. A robot control device, characterized in that: The device comprises: A first determination module is used to determine a first protection area according to the size information of the first robot and the candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path; A second determination module is used to determine a second protection area corresponding to each second robot, where the second protection area includes an area occupied by each second robot being stationary or moving along a preset path; the second robot and the first robot are deployed in the same target area; and the target area is a mixed deployment area of ​​robots having multiple types of size information; A third determination module, configured to determine an area conflict between the first protection area and the second protection area, wherein the area conflict includes at least a portion of the second protection area overlapping the first protection area; The fourth determination module is configured to determine the candidate path as a target path if the area conflict between the first protection area and the second protection area satisfies the movement condition of the first robot on the candidate path.

11. An electronic device, characterized in that: include: Processor and memory; The memory stores instructions executable by the processor; When the processor is configured to execute the instructions, the electronic device implements the method according to any one of claims 1 to 9.

12. A readable storage medium, characterized in that: The readable storage medium includes: software instructions; When the software instructions are executed in an electronic device, the electronic device implements the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method and system for conflict management of multiple mobile robots

    CN108287545A

  • Path planning method, path planning device and electronic device

    CN114063612A

  • Path planning method and device, robot and computer readable storage medium

    CN115326095A

  • Occupancy grid map generation method and device, equipment and storage medium

    CN116147637A

  • Path planning method, system, device and equipment

    CN116540694A