Robot control method and device, electronic equipment and storage medium
By identifying conflicts in protected areas during robot path planning, the problem of road segment dispersion caused by maximum size limitations in existing technologies is solved, achieving more efficient space utilization and robot parallel operation efficiency.
Patent Information
- Application Number
- CN202411996486.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2044-12-31
AI Technical Summary
When multiple robots of different sizes share the same area, existing technologies distribute nodes and road segments according to the largest size, resulting in a dispersed distribution of nodes and road segments, which cannot effectively utilize the area space and leads to low efficiency in parallel operation of robots.
By determining the robot's protected area and identifying area conflicts, the robot's path is determined based on the conflict situation, avoiding setting node and road segment distribution based on the maximum size and allowing for more concentrated road segment settings.
It increases the number of road segments that can be set up in a limited area, increases the number of optional paths for robots, and improves the efficiency of parallel operation of robots of different sizes in the same area.
Smart Images

Figure CN119847153B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of automatic control, and in particular to a robot control method and device, an electronic device, and a storage medium. BACKGROUND
[0002] Currently, robots are being applied to more and more scenarios in production and life, replacing humans to perform a large amount of repetitive work, for example, multiple size robots are put into use in the warehouse and logistics industry to perform multiple tasks.
[0003] For the scenario in which multiple size robots work in the same area (for example, a factory or a warehouse), multiple nodes and multiple road segments connecting the nodes are set in the area. In order to avoid collision, the distribution of nodes and road segments needs to be set according to the largest size robot. For example, the distance between adjacent nodes needs to be large enough, and the distance between two adjacent parallel road segments needs to be large enough, so as to ensure that two largest size robots parked at adjacent nodes or running on adjacent parallel road segments will not collide with each other.
[0004] However, setting the distribution of nodes and road segments according to the largest size robot results in a relatively scattered distribution of nodes and road segments. In a limited area, the number of nodes and road segments that can be set is also small, that is, the optional path of the robot is also small, which cannot effectively utilize the area space, resulting in low efficiency of parallel work of different size robots in the same area. SUMMARY
[0005] Based on the above technical problem, the present application provides a robot control method and device, an electronic device, and a storage medium, for improving the efficiency of parallel work of different size robots in the same area.
[0006] In a first aspect, the present application provides a robot control method, the method comprising:
[0007] determining a first protection area according to the size information of the first robot and the candidate path; the first protection area including an area occupied by the first robot moving according to the candidate path;
[0008] determining a second protection area corresponding to each second robot, the second protection area including an area occupied by each second robot at rest or moving according to 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 of multiple size information;
[0009] determining a region conflict between the first protection area and the second protection area, the region conflict including at least a part of the second protection area overlapping with the first protection area;
[0010] If the area conflict condition between the first protection area and the second protection area meets the movement condition of the first robot on the candidate path, the candidate path is determined as a target path.
[0011] The technical scheme provided in the application at least has the following beneficial effects:
[0012] The robot control method provided in the application calculates the area actually occupied by the robot according to the planning path and the size of the robot after determining the planning path of the robot, and then judges whether there is an area conflict in combination with the area occupied by other robots, and instructs the robot whether to move according to the planning path according to the conflict judgment result.
[0013] Since the conflict is additionally judged for the area actually occupied by the robot in the actual movement on the basis of the path planning, the potential collision risk can be detected. Therefore, the distribution of nodes and path segments can be set more concentratedly without setting the distribution of nodes and path segments according to the maximum size of the robot. For example, the distance between adjacent nodes is closer, and the distance between adjacent parallel path segments is closer.
[0014] Based on this design, more path segments can be set in a limited area, so that the space in the area can be used more effectively. When the robot is scheduled based on the robot task, more optional paths can be provided for the robot, and the efficiency of parallel operation of robots of different sizes in the same area can be improved.
[0015] In a possible implementation, the area conflict condition between the first protection area and the second protection area meets the movement 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] The first protection area and the second protection area corresponding to the second robot in a static state have an overlapping area, and 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] The first protection area and the second protection area corresponding to the second robot in a moving state have an overlapping area, and the first estimated time window in which the first robot passes through the overlapping area and the second estimated time window in which the second robot passes through the overlapping area have no intersection.
[0021] In a possible implementation, the second robot includes: a robot that is static at a first path segment or a second path segment within a time window, and a robot that runs at the second path segment within the time window; the time window represents a time interval that the first robot is expected to occupy according to the candidate path; the first path segment is a path segment included in the candidate path; and a shortest distance between the first path segment and the second path segment does not exceed a preset threshold, which is related to a maximum size of the robot deployed in the target area.
[0022] In a possible implementation, for a second robot in a static 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 a moving state, a second protection area corresponding to the second robot is determined according to size information and a moving path of the second robot.
[0024] In a possible implementation, the size information of the robot represents a projection size of the robot in a loaded state or an unloaded state, and the projection size is greater than or equal to a size of a maximum circumscribed rectangular area of a projection area of the robot projected to the ground.
[0025] In a possible implementation, the method further includes obtaining size information of a target robot including the first robot and / or the second robot according to the following steps:
[0026] Identifying whether the target robot is in a loaded state or an unloaded state.
[0027] If the target robot is in the unloaded state, determining model information of the target robot; and determining 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 representing a corresponding relationship between model information and size information of the robot.
[0028] If the target robot is in the loaded state, determining a circumscribed matrix area of a projection state of the target robot; the circumscribed rectangular area is determined according to a projection area of the target robot and a projection area of a cargo carried by the target robot.
[0029] Determining the size information of the target robot according to size information of the circumscribed rectangular area.
[0030] In a possible implementation, the candidate path comprises a candidate sub-path corresponding to at least one motion type of the first robot; the motion type comprises a rotational motion, a linear motion, and / or a curved motion; and the first protection area comprises a sub-protection area corresponding to each candidate sub-path.
[0031] The determining the first protection area according to the size information of the first robot and the candidate path comprises: for a candidate sub-path corresponding to the rotational motion, determining a sub-protection area corresponding to the candidate sub-path in the following manner:
[0032] determining whether the rotation center is a geometric center of the first robot;
[0033] if the rotation center is the geometric center of the first robot, determining the sub-protection area as a circular area; the circular area has a center at the geometric center and a first radius; and 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, sampling a rotation route of the planning sub-path based on a preset radian to obtain a first occupation point of the geometric center of the first robot on the rotation route; for each first occupation point, determining a rectangular coverage area of the first robot at the first occupation point based on the size information; and determining a union area of the rectangular coverage areas corresponding to the first occupation points as the sub-protection area.
[0035] In a possible implementation, the candidate path comprises a candidate sub-path corresponding to at least one motion type of the first robot; the motion type comprises a rotational motion, a linear motion, and / or a curved motion; and the first protection area comprises a sub-protection area corresponding to each candidate sub-path.
[0036] The determining the first protection area according to the size information of the first robot and the candidate path comprises: for a candidate sub-path corresponding to the linear motion, determining a sub-protection area corresponding to the candidate sub-path in the following manner:
[0037] sampling a linear route of the planning sub-path based on a preset distance to obtain a second occupation point of the geometric center of the first robot on the linear route;
[0038] for each second occupation point, determining a rectangular coverage area of the first robot at the second occupation point based on the size information; and determining a union area of the rectangular coverage areas corresponding to the second occupation points as the sub-protection area.
[0039] In a possible implementation, the candidate path includes a candidate sub-path corresponding to at least one motion type of the first robot; the motion type includes a rotational motion, a linear motion, and / or a curved motion; and the first protection area includes a sub-protection area corresponding to each candidate sub-path.
[0040] The first protection area is determined according to the size information of the first robot and the candidate path, including that for a candidate sub-path of the curved motion, the sub-protection area corresponding to the candidate sub-path is determined in the following manner:
[0041] The curved line of the candidate sub-path is sampled based on a preset angle, to obtain a third footprint point of the geometric center of the first robot on the curved line;
[0042] For two adjacent third footprint points, a straight-line sub-path with the third footprint points as end points is determined;
[0043] A sub-area covered by the first robot moving along the straight-line sub-path is determined;
[0044] A union area of each sub-area is determined as the sub-protection area.
[0045] In a second aspect, the present application provides a robot control device, including:
[0046] A first determining module is configured to determine a first protection area according to size information of a first robot and a candidate path; the first protection area includes an area occupied by the first robot moving along the candidate path;
[0047] A second determining module is configured to determine a second protection area corresponding to each second robot; 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 a same target area; and the target area is a mixed deployment area of robots of multiple size information;
[0048] A third determining module is configured to determine a region conflict between the first protection area and the second protection area; the region conflict includes that at least part of the second protection area overlaps with the first protection area;
[0049] A fourth determining module is configured to determine the candidate path as a target path if a region conflict between the first protection area and the second protection area meets a motion condition of the first robot on the candidate path.
[0050] In a possible implementation, the second robot includes: a robot that is static at a first path segment or a second path segment within a time window, and a robot that runs on the second path segment within the time window; the time window represents a time interval that the first robot is expected to occupy according to the candidate path; the first path segment is a path segment included in the candidate path; and a shortest distance between the first path segment and the second path segment does not exceed a preset threshold, which is related to a maximum size of a robot deployed in the target area.
[0051] In a possible implementation, for a second robot in a static 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 a moving state, 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 in a cargo-loaded state or a cargo-unloaded state, and the projection size is greater than or equal to a size of a maximum circumscribed rectangular area of a projection area of the robot on the ground.
[0054] In a possible implementation, the device further includes a size acquisition module, configured to:
[0055] Identify whether the target robot is in a cargo-loaded state or a cargo-unloaded state.
[0056] If the target robot is in the cargo-unloaded state, determine model information of the target robot; and determine 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 a corresponding relationship between model information and size information of a robot.
[0057] If the target robot is in the cargo-loaded state, determine a circumscribed matrix area of a projection state of the target robot; the circumscribed rectangular area is determined according to a projection area of the target robot and a projection area of cargo loaded by the target robot.
[0058] Determine the size information of the target robot according to size information of the circumscribed rectangular area.
[0059] In a possible implementation, the candidate path includes a candidate sub-path corresponding to at least one motion type of the first robot; the motion type includes a rotational motion, a straight-line motion, and / or a curved motion; and the first protection area includes a sub-protection area corresponding to each candidate sub-path.
[0060] The root first determining module is specifically configured to determine the sub-protection area corresponding to the candidate sub-path in the following manner:
[0061] determining whether the rotation center is a 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 circular area has a center of a circle being the geometric center and a radius being a first radius; the first radius is calculated based on size information of the first robot;
[0063] if the rotation center is not the geometric center of the first robot, sampling a rotation route of the planned sub-path based on a preset radian to obtain a first occupation point of the geometric center of the first robot on the rotation route; for each first occupation point, determining a rectangular coverage area of the first robot at the first occupation point based on the size information; and determining a union area of the rectangular coverage areas corresponding to the first occupation points 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 a rotation motion, a straight line motion and / or a curve motion; and the first protection area includes sub-protection areas corresponding to the candidate sub-paths.
[0065] The root first determining module is specifically configured to determine the sub-protection area corresponding to the candidate sub-path in the following manner:
[0066] sampling a straight line route 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 route;
[0067] for each second occupation point, determining a rectangular coverage area of the first robot at the second occupation point based on the size information; and determining a union area of the rectangular coverage areas corresponding to the second occupation points 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 a rotation motion, a straight line motion and / or a curve motion; and the first protection area includes sub-protection areas corresponding to the candidate sub-paths.
[0069] The root first determining module is specifically configured to determine the sub-protection area corresponding to the candidate sub-path in the following manner:
[0070] sample the curve 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 curve line;
[0071] For two adjacent third occupation points, determine a straight line sub-path with the third occupation points as end points;
[0072] Determine a sub-region covered by the first robot moving in the straight line sub-path;
[0073] Determine a union region of each of the sub-regions as the sub-protection region.
[0074] In a third aspect, the present application provides an electronic device, comprising a memory, a processor and a computer program stored in the memory, the processor executes the computer program to implement any of the robot control methods provided in the first aspect.
[0075] In a fourth aspect, the present application provides a computer readable storage medium, the computer readable storage medium stores computer execution instructions, the computer instructions are executed by the processor to implement any of the robot control methods provided in the first aspect.
[0076] In a fifth aspect, the present application provides a computer program product, the computer program product comprises computer instructions, the computer instructions are executed by the processor to implement any of the robot control methods provided in the first aspect.
[0077] The specific description of the second aspect to the fifth aspect and various implementation manners thereof in the present application can refer to the detailed description in the first aspect and various implementation manners thereof, and the beneficial effects of the second aspect to the fifth aspect and various implementation manners thereof can refer to the beneficial effect analysis in the first aspect and various implementation manners thereof, which will not be described here. BRIEF DESCRIPTION OF DRAWINGS
[0078] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0079] Figure 1 A schematic diagram of the distribution of road segments in the target region in the related art;
[0080] Figure 2 A flowchart of the robot control method provided in the embodiments of the present application;
[0081] Figure 3A schematic diagram of the target area provided by an embodiment of the present application;
[0082] Figure 4 A schematic diagram of the projection area of the non-cargo-carrying robot provided by an embodiment of the present application;
[0083] Figure 5 A schematic diagram of the projection area of the cargo-carrying robot provided by an embodiment of the present application;
[0084] Figure 6 A first schematic diagram of the sub-protection area provided by an embodiment of the present application;
[0085] Figure 7 A second schematic diagram of the sub-protection area provided by an embodiment of the present application;
[0086] Figure 8 A third schematic diagram of the sub-protection area provided by an embodiment of the present application;
[0087] Figure 9 A structural schematic diagram of the robot control device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0088] In order for those skilled in the art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the accompanying drawings.
[0089] It should be noted that the terms "first", "second", and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, 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. Rather, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended 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" herein is merely a description of the relationship between the associated objects, which means that there can be three relationships, for example, A and / or B, which can mean that A exists alone, A and B exist together, 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 the embodiments of the present application are explained in detail, the related technologies involved in the embodiments of the present application are introduced.
[0092] For the scenario that multiple robots of different sizes work in the same area (e.g. a factory, a warehouse), multiple nodes and multiple road segments connecting the nodes are set in the area. In order to avoid collision, the distribution of the nodes and the road segments needs to be set according to the maximum size of the robots. For example, the distance between adjacent nodes needs to be large enough, and the distance between two adjacent parallel road segments needs to be large enough, to ensure that two robots of the maximum size respectively parked at adjacent nodes or respectively moving on adjacent road segments will not collide with each other. Based on such design, after planning the motion path for the robots, there is no need to worry about the problem that the robots collide with each other during the motion.
[0093] As an example, refer to Figure 1 , a schematic diagram of the distribution of road segments in a target area in the related art, Figure 1 shows the nodes A1, A2, B1, B2 and the road segments a1, a2, b1 and b2 set in the target area. The dashed line in the figure represents the center line of the road segment. It is assumed that the size specifications of the robots deployed in the target area are five, from small to large, m1, m2, m3, m4 and m5. In order to avoid collision between the robots during the motion, Figure 1 The distance L1 between the road segment a1 and the road segment b1 needs to be set based on the maximum size specification m5 to ensure that two robots of the maximum size respectively running between the road segment a1 and the road segment b1 will not collide. Similarly, the distance L2 between the road segment a2 and the road segment b2 also needs to be set large enough.
[0094] However, according to the way shown in Figure 1 , the distribution of the nodes and the road segments in the target area is set, which leads to a relatively scattered distribution of the nodes and the road segments. The number of nodes and road segments that can be set in the limited area will be less, that is, the optional paths of the robots will be less, which cannot effectively utilize the area space, resulting in low efficiency of the parallel operation of the robots of different sizes in the same area. In particular, for the case that the number of small-size robots deployed in the target area is large and the number of large-size robots is small, setting the distance between the road segments based on the size information of the large-size robots will exacerbate the space waste.
[0095] To solve the above technical problems, the embodiments of the present application provide a robot control method, device, electronic equipment and storage medium. First, a robot control method provided by the embodiments of the present application is introduced.
[0096] The robot control method provided in the embodiments of the present application can be applied to any electronic device that needs to control the operation of a robot, for example, can be a control device in communication connection with each robot, or can be a master robot in each robot in communication connection with other robots. The embodiments of the present application do not make specific limitations on this, and for the convenience of description, the following is referred to as a control device.
[0097] As shown in Figure 2 The robot control method provided in the embodiments of the present application includes the following steps:
[0098] S201: determining 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 according to the candidate path.
[0099] For the convenience of understanding, the scene to which the embodiments of the present application are applied is introduced.
[0100] The robot control method provided in the embodiments of the present application can be applied to a mixed robot running scene of multiple sizes, that is, robots of multiple size information are deployed in the same target area, which can be a factory, a warehouse, etc.
[0101] It should be noted that the type of robot deployed in the target area is not limited in the present application, which can be an AMR (Autonomous Mobile Robot), an AGV (Automated Guided Vehicle), etc.
[0102] Among them, the first robot can be a robot to be executed a task and needs to move to a specified location. As an example, the control device can plan a candidate path for the first robot based on the task to be executed; as another example, the first robot can plan the path by itself to determine the candidate path. If the first robot plans the candidate path by itself, the candidate path needs to be sent to the control device.
[0103] In the embodiments of the present application, the specific way of path planning is not specifically limited. As an example, the control device can determine the destination position based on the task to be executed, and then calculate the shortest path from the current position to the destination position as the candidate path based on a specific algorithm. As another example, after the control device determines the destination position, the length and congestion degree of the path are considered to select the candidate path. Among them, the congestion degree can be measured by the number of robots in motion on the current path.
[0104] The target area has a plurality of road segments pre-set therein, and the planned path contains at least one road segment.
[0105] It is easy to understand that, in the case of knowing the size information of the first robot, the range of the area occupied by the first robot if it moves according to the candidate path can be calculated according to the size information and the candidate path, which is the first protection area.
[0106] It should be noted that the area required to be occupied by the first robot according to the candidate path refers to a two-dimensional planar area in the target area, and does not consider the occupation range of the robot in three-dimensional space. Therefore, the size information of the first robot can be understood as the projection size of the first robot in the two-dimensional plane.
[0107] S202: Determine the second protection area corresponding to each second robot, the second protection area including the area occupied by each second robot when it is static or moves according to 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 with multiple size information.
[0108] In an embodiment of the present application, the second robot can be all other robots deployed in the target area except the first robot, and the second robot includes robots in a static state and robots in a moving state.
[0109] For the second robot in a static state, the corresponding second protection area can be determined in the case of knowing the size information and the position information.
[0110] For the second robot in a moving state, the corresponding second protection area of the second robot is determined according to the size information and the motion path of the second robot. It should be noted that, for all robots deployed in the target area, the corresponding protection area needs to be calculated by the control device before moving according to the candidate path, and the robot can move according to the candidate path only when the control device allows. Therefore, for the second robot in a moving state, the corresponding protection area has been calculated by the control device in advance, and the previously calculated result can be called when judging whether the first protection area corresponding to the first robot and the second protection area corresponding to the second robot conflict, that is, it is not necessary to recalculate the second protection area corresponding to the second robot.
[0111] S203: Determine the area conflict between the first protection area and the second protection area, and the area conflict includes that at least a part of the second protection area overlaps with the first protection area.
[0112] If the first protection area overlaps with at least a part 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] The specific area conflict can be determined, including but not limited to the following several kinds:
[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 a static protection area, wherein the static protection area is a second protection area corresponding to a second robot in a static state.
[0116] 3. There is an overlapping area between the first protection area and a dynamic protection area, wherein the dynamic protection area is a second protection area corresponding to a second robot in a dynamic state.
[0117] S204: If the area conflict between the first protection area and the second protection area meets the motion condition of the first robot on the candidate path, the candidate path is determined as the target path.
[0118] In the embodiments of the present application, the motion condition of the first robot on the candidate path can be set in advance. When the area conflict between the first protection area and the second protection area meets the motion condition, the candidate path is determined as the target path, and the control device can instruct the first robot to move according to the target path.
[0119] The above motion condition can include but is 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 a static protection area, and a time window for moving the second robot in the overlapping area away from the overlapping area is expected before the first robot passes through the overlapping area. The static protection area is a second protection area corresponding to a second robot in a static state.
[0122] 3. There is an overlapping area between the first protection area and a dynamic protection area, and a first expected time window of the first robot passing through the overlapping area has no intersection with a second expected time window of the second robot passing through the overlapping area. The dynamic protection area is a second protection area corresponding to a second robot in a dynamic state.
[0123] For the motion condition 1, since there is no conflict between the first protection area and the second protection area, the first robot moves according to the candidate path and does not collide with other robots. The control device can determine the candidate path as the target path.
[0124] For the motion condition 2, the first protection area and the second protection area corresponding to the at least one second robot in the static state have an overlapping area, but the control device determines, by combining the distance between the current position of the first robot and the overlapping area, the motion speed interval of the first robot and other information, 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. In this case, the candidate path is determined as the target path.
[0125] The size of the time window for moving the second robot in the overlapping area away from the overlapping area can 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 the overlapping area in the static state to move the second robot away from the overlapping area.
[0127] For the motion condition 3, the first protection area and the second protection area corresponding to the at least one second robot in the motion state have an overlapping area, the control device calculates a first predicted time window, i.e., a predicted time window for the first robot to pass through the overlapping area, by combining the distance between the current position of the first robot and the overlapping area, the motion speed interval of the first robot and other information, and calculates a second predicted time window, i.e., a predicted time window for the second robot to pass through the overlapping area, by combining the distance between the current position of the second robot and the overlapping area, the motion speed interval of the second robot and other information. If the first predicted time window and the second predicted time window have no intersection, the candidate path is determined as the target path.
[0128] The above motion conditions are only examples and do not limit the embodiments.
[0129] In addition, when the area conflict condition between the first protection area and the second protection area does not meet the motion condition 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, and therefore it is necessary to re-determine the planned path of the first robot.
[0130] In the scheme provided by the embodiments, for the scenario that robots of multiple sizes are mixedly deployed in the same target area, the control device calculates the area actually occupied by the first robot when moving according to the candidate path according to the candidate path and the size information of the first robot, and determines the area conflict condition in combination with the area occupied by other robots, and when the area conflict condition meets the motion condition of the first robot on the candidate path, the candidate path is determined as the target path.
[0131] Since the conflict judgment is additionally performed on the area required to be occupied by the robot in actual movement on the basis of the path planning, the potential collision risk can be detected. Therefore, the nodes and the path segments can be more concentratedly set without setting the distribution of the nodes and the path segments according to the maximum size of the robot. For example, the distance between adjacent nodes is closer, and the distance between adjacent parallel path segments is closer.
[0132] Based on the design, more path segments can be set in the limited area, so that the space in the area is more effectively utilized. When scheduling the robots based on the robot tasks, more optional paths can be provided for the robots, and the efficiency of parallel operation of robots of different sizes in the same area is improved.
[0133] According to the scheme, when setting the distribution of the path segments in the target area, the spacing between the path segments does not have to be set based on the maximum size of the robot deployed in the target area. The following will be further described in combination with the accompanying drawings. Figure 3
[0134] Referring to Figure 3 , a schematic diagram of the distribution of the path segments in the target area provided by the embodiment of the present application is shown, Figure 3 The nodes C1, C2, D1 and D2 and the path segments c1, c2, d1 and d2 set in the target area are shown, and the dashed line in the figure represents the center line of the path segment. It is assumed that the size specifications of the robots deployed in the target area are five, from small to large, m1, m2, m3, m4 and m5. According to the scheme, the spacing between the path segments does not have to be set based on the maximum size specification m5, but can refer to a smaller size specification, for example, m3. Specifically, Figure 3 The spacing L3 between the path segment c1 and the path segment c1 in the middle can be set based on the smaller size specification. Similarly, the spacing L4 between the path segment c2 and the path segment d2 can also be set based on the smaller size specification.
[0135] According to the manner shown in Figure 3 , the distribution of the nodes and the path segments in the target area can be set, more path segments can be set in the limited area, so that the space in the area is more effectively utilized. When scheduling the robots based on the robot tasks, more optional paths can be provided for the robots, and the efficiency of parallel operation of robots of different sizes in the same area is improved. Moreover, for the target area in which the path segments are more concentratedly set, in the scene of mixed deployment of robots of multiple size specifications, according to the robot control method provided by the embodiment of the present application, on the basis of the path planning, the conflict judgment is additionally performed on the area required to be occupied by the robot in actual movement, the potential collision risk can be detected, and the collision between the robots will not occur due to the smaller spacing between the path segments.
[0136] It should be noted that Figure 1 and Figure 3 For example, in actual application, the target area is usually large, and a large number of road segments are arranged in the target area. By using the scheme of the present application, the number of road segments that can be arranged in the target area can be significantly increased, and the space in the target area can be more effectively utilized.
[0137] In an embodiment of the present application, the second robot includes: a robot that is stationary on the first road segment or the second road segment within a time window, and a robot that runs on the second road segment within the time window; the time window represents a time interval that the first robot is expected to occupy when moving according to the candidate path; the first road segment is a road segment included in the candidate path; the shortest distance between the second road segment and the first road segment 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] For example, after the road segments are arranged in the target area, for each road segment, the road segments that have a shortest distance not exceeding a preset threshold from the road segment and are not connected to the road segment are determined to form a set of adjacent road segments. If the shortest distance between two road segments exceeds the preset threshold, the two road segments are defined as not adjacent to each other. The preset threshold is related to the maximum size of the robot deployed in the target area, so that two robots of the maximum size do not collide when running on two road segments that are not adjacent to each other.
[0139] Therefore, in an embodiment of the present application, after the control device determines the first road segments included in the candidate path, the control device determines the set of adjacent road segments corresponding to each first road segment. The road segments included in these sets of adjacent road segments are defined as second road segments. When determining the second protection area corresponding to the second robot in the motion state, only the robots running on the second road segments are considered.
[0140] In addition, the control device can calculate the time interval that the first robot is expected to occupy when moving according to the candidate path based on the length of the road segments included in the candidate path and the motion speed interval of the first robot, and define the time window according to the time interval.
[0141] Subsequently, the robot running on the second road segment within the time window is determined as the second robot in the motion state, which is used to calculate the dynamic protection area.
[0142] For ease of description, it is assumed that the above-mentioned time window is [t1, t2].
[0143] In an embodiment of the present application, the robot running on the second road segment within the time window [t1, t2] is determined in the following manner:
[0144] The running path of each robot in the acquisition area is obtained, it is judged whether any second path segment is contained in the running path, and robots containing any second path segment are filtered as candidate robots. For the candidate robot, a time window of the candidate robot passing through the second path segment is calculated based on the distance from the current position to the second path segment, the motion speed interval of the candidate robot, and the like, and is assumed to be
t3, t4
t3, t4
t1, t2
[0145] It should be noted that when calculating the dynamic protection area, the robot whose motion path is completely the same as the candidate path of the first robot does not need to be considered. In order to facilitate description, the robot whose motion path is completely the same as the candidate path of the first robot is defined as a third robot. If the second protection area corresponding to the third robot is calculated, there will be a conflict with the first protection area. However, the scheme of the present application considers the collision that may occur when the first robot moves on the first path segment and other robots move on the adjacent path segment of the first path segment. Therefore, when calculating the second protection area, the above-mentioned third robot is not considered.
[0146] For the above-mentioned third robot, the first robot can autonomously start the following mode or start the following mode under the instruction of the control device. In the following mode, the first robot identifies robots within a certain range in front of the path segment, and keeps a certain distance by adjusting the speed and the like to avoid collision.
[0147] In addition, the robot that is stationary in the first path segment or the second path segment within the time window is determined as the second robot in the stationary state, which is used to calculate the static protection area.
[0148] In the embodiment of the present application, the above-mentioned dynamic protection area and static protection area are both regarded as the second protection area, and whether the motion condition of the first robot on the candidate path is met is judged based on the area conflict between the first protection area and the second protection area.
[0149] It can be seen that in the embodiment of the present application, the path segments with a shortest distance not more than a preset threshold and not connected to each other are defined as adjacent path segments, and the time window of the first robot moving according to the candidate path is estimated, so that only the robots running on the adjacent path segments of the first path segment within the time window are needed to be determined for calculating the dynamic protection area, without considering the robots deployed in the whole target area, which can greatly improve the operation efficiency.
[0150] In an embodiment of the present application, the size information of the robot represents the projection size of the robot in the cargo-loaded state or the cargo-unloaded state, and the projection size is greater than or equal to the size of the maximum circumscribed rectangular region of the projection region of the robot projected to the ground.
[0151] Specifically, in this application, the protected area occupied by the robot in a stationary or moving state represents a two-dimensional planar area within the target area. Therefore, the robot's size information can be represented by the projected size of the robot in a loaded or unloaded state.
[0152] The projection size used to calculate the protected area is set to be greater than or equal to the size of the largest bounding rectangle of the projection area of the robot onto the ground.
[0153] Specifically, considering that the plane area occupied by the robot during its movement is directly related to the maximum bounding rectangle of the robot's projection area onto the ground, the size of the maximum bounding rectangle can be used as the projection size for calculating the protected area.
[0154] It should be noted that when determining the projection size, it is necessary to consider whether the robot is in a loaded state. For robots in a loaded state, the projection size of the shelf or goods needs to be considered.
[0155] As an example, see Figure 4 , Figure 4 This is a schematic diagram of the projection area of an unloaded robot provided in an embodiment of this application, such as... Figure 4 As shown, the size information of the forklift robot 401 can be determined based on the size information of the maximum circumscribed rectangular region 402 of the projection area projected onto the ground.
[0156] As an example, see Figure 5 , Figure 5 This is a schematic diagram of the projection area of the cargo robot provided in an embodiment of this application, such as... Figure 5 As shown, the lurking robot 501 carries a shelf 502, the size of which can be determined based on the size of the largest circumscribed rectangular area 503 of the projection area projected onto the ground, rather than solely by the physical size of the lurking robot 501 itself.
[0157] Furthermore, considering that the robot may not strictly follow the planned path, i.e., there may be some motion error, the projection size used to calculate the protected area can be set larger. For example, the length and width of the projection size used to calculate the protected area can be greater than or equal to the length and width of the aforementioned maximum bounding rectangle region. Therefore, the final projection area used to calculate the protected area includes the maximum bounding rectangle region of the robot's projection onto the ground and the motion error region.
[0158] By setting motion error zones, a motion protection zone that more closely resembles real-world conditions can be identified, further improving the effectiveness of avoiding robot collisions.
[0159] In one embodiment of the present application, the size information of the target robot is obtained by the following steps, the target robot comprising a robot and / or a second robot:
[0160] identifying whether the target robot is in a loaded state or an unloaded state;
[0161] if the target robot is in the unloaded state, determining the model information of the target robot; and determining 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 representing a corresponding relationship between the model information and the size information of the robot;
[0162] if the target robot is in the loaded state, determining an external rectangular region of the projection state of the target robot, the external rectangular region being determined according to the projection region of the target robot and the projection region of the goods loaded on the target robot.
[0163] In the embodiment of the present application, the control device can determine whether the target robot is in the loaded state by various ways.
[0164] As an example, the target robot records the state information of whether the target robot is loaded or unloaded after picking up or unloading goods, and reports the state information to the control device, so that the control device can determine whether the target robot is in the loaded state by reading the state information.
[0165] As another example, the control device obtains an image taken for the target robot, identifies the target robot, the goods or the goods shelf based on image detection technology, and determines whether the target robot is in the loaded state based on the detection result.
[0166] For the target robot in the 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 the control device, and the control device pre-stores a corresponding relationship between the model information and the size information, so that the size information of the target robot can be determined according to the corresponding relationship.
[0167] For the target robot in the loaded state, the size information cannot be directly determined based on the corresponding relationship.
[0168] For the convenience of understanding, the related terms are explained first.
[0169] The goods shelf refers to a carrier on which the intelligent car device or the robot directly carries and places objects.
[0170] The oversized goods shelf refers to a goods shelf on which the objects placed exceed the size of the goods shelf body.
[0171] It can be seen that for the robot in the loaded state, the projection size of the robot cannot be determined based on the size information of the goods shelf because the goods shelf loaded may be an oversized goods 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 is obtained at a projection angle, which can be understood as an angle perpendicular or nearly perpendicular to the ground. For example, a plurality of cameras are arranged above the deployment area of the robot and face the ground. These cameras can capture images containing the target robot at an angle perpendicular or nearly perpendicular to the ground, and send the captured images to the control device. Then the control device determines the maximum circumscribed rectangular region of the target robot in the image, which is the circumscribed rectangular image region. According to the size information of the circumscribed rectangular image region and the image scale, the size information of the target robot is determined, 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 for the robot in the cargo-carrying state and the non-cargo-carrying state. For the non-cargo-carrying robot, the size information is directly determined according to the model information of the robot. For the cargo-carrying robot, the size information is determined by image analysis, which does not require human intervention in measurement and ensures the accuracy of the size information.
[0175] In one embodiment of the present application, the candidate path includes a candidate sub-path 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 region includes a sub-protection region corresponding to each candidate sub-path.
[0176] Different methods are used to calculate the corresponding sub-protection region 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 region corresponding to the candidate sub-path:
[0178] Step 11: Determine whether the rotation center is the geometric center of the first robot; if yes, perform step 12; if no, perform step 13.
[0179] Step 12: If the rotation center is the geometric center of the first robot, determine that the sub-protection region is a circular region; the center of the circular region 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] When the first robot performs rotational motion, the rotation center can be the geometric center of the robot. For example, the rotation center of the lurker car robot can 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 which 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 circumscribed circle corresponding to the projection area of the first robot is determined as the radius of the sub-protection area according to the projection size of the first robot.
[0182] Referring to Figure 6 FIG. 1 shows a first schematic diagram of a sub-protection area provided by 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 route of the planned sub-path based on a preset radian to obtain a first occupation point of the geometric center of the first robot on the rotation route; for each first occupation point, determine a rectangular coverage area of the first robot at the first occupation point based on the size information; and 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 a rotating motion, and the rotation center can also not be the geometric center of the robot. For example, the rotation center of a forklift robot during a rotating motion is usually not the geometric center of the robot itself.
[0185] For a robot whose rotation center is not the geometric center, if the corresponding sub-protection area is still represented by a circle, a large amount of available area will be lost. Therefore, a discretized rectangle is used to fit the sub-protection area of such a rotating motion.
[0186] Specifically, the orientation of the first robot changes constantly during the rotation. A discretized sampling radian can be preset, and the rotation route of the planned sub-path is sampled every preset angle, and each sampling obtains a first occupation point and a corresponding robot orientation. In combination 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] Referring to Figure 7 FIG. 2 shows a second schematic diagram of a sub-protection area provided by an embodiment of the present application, Figure 7 The projection area 701 of the first robot is shown, as well as the rectangular coverage area 702 corresponding to the first occupation point. The union of the rectangular coverage areas corresponding to each first occupation point is the sub-protection area of the first robot under such a rotating mode.
[0188] It can be seen that for the candidate sub-path of the rotation type, 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 a suitable manner according to different rotation types, the accuracy of calculating the sub-protection area is improved, and the calculated sub-protection area is closer to the real situation.
[0189] In an embodiment of the present application, the first protection area is determined according to the size information of the first robot and the candidate path, comprising: for the candidate sub-path corresponding to the linear motion, the sub-protection area corresponding to the candidate sub-path is determined in the following manner:
[0190] Step 21: sampling the linear 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 linear line.
[0191] Step 22: for each second occupation point, determining a rectangular coverage area of the first robot at the second occupation point based on the size information; and determining 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 the linear line, since the orientation of the first robot does not change during the movement, only sampling is needed according to the preset distance to obtain multiple second occupation points, and then the rectangular coverage area of the robot at the second occupation point can be determined in combination with the size information, and the union of the rectangular coverage areas is the sub-protection area.
[0193] In an embodiment of the present application, the first protection area is determined according to the size information of the first robot and the candidate path, comprising: for the candidate sub-path of the curve motion, the sub-protection area corresponding to the candidate sub-path is determined in the following steps:
[0194] Step 31: sampling the curve 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 curve line;
[0195] For the case that the first robot moves along the curve, the idea of converting the curve into a straight line can be used to fit the sub-protection area with a discrete rectangular region.
[0196] Specifically, a preset offset angle is set, 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, determining a straight line sub-path with the third occupation points as end points;
[0198] Step 33: determining a sub-area covered by the first robot moving along the straight line sub-path;
[0199] For the two adjacent third occupation points, the coverage area corresponding to the straight line path is used to approximate the coverage area corresponding to the curve path. 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 sub-path can refer to the description in the foregoing.
[0201] Step 34: Determine the union of the sub-areas as the sub-protection area.
[0202] The union of the sub-areas covered by each straight sub-path is used as the sub-protection area corresponding to the candidate sub-path of the curve motion.
[0203] Referring to Figure 8 A third schematic diagram of a sub-protection area provided by the embodiment of the application is shown in FIG. 8. 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 curve path between the two adjacent third occupation points is approximated as a straight sub-path. The union of the sub-areas covered by each straight sub-path is used as the sub-protection area.
[0204] It can be seen that for the candidate sub-path of the curve motion type, the curve path is divided into multiple straight line paths based on the idea of converting the curve into a straight line. The coverage area corresponding to the multiple straight line paths is used to approximate the coverage area corresponding to the curve path. The sub-protection area close to the real situation can be obtained with a low calculation amount.
[0205] As Figure 9 shown, the embodiment of the application further provides a robot control device for the robot control method shown in the method embodiment. The robot control device comprises:
[0206] A first determination module 901 is configured to determine a first protection area according to the size information of the first robot and a candidate path. The first protection area includes an area occupied by the first robot moving according to the candidate path.
[0207] A second determination module 902 is configured to determine a second protection area corresponding to each second robot. The second protection area includes an area occupied by each second robot at rest or moving according to 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 of multiple sizes.
[0208] A third determination module 903 is configured to determine a region conflict between the first protection area and the second protection area. The region conflict includes at least a part of the second protection area overlapping with the first protection area.
[0209] The fourth determining module 904 is configured to determine the candidate path as the target path if the area conflict condition between the first protection area and the second protection area meets the movement condition of the first robot on the candidate path.
[0210] In the scheme provided by the embodiments of the present application, for the scenario that robots of multiple sizes are mixedly deployed in the same target area, the control device calculates the area actually occupied by the first robot when moving according to the candidate path according to the candidate path and the size information of the first robot, and determines the area conflict condition in combination with the area occupied by other robots, and determines the candidate path as the target path when the area conflict condition meets the movement condition of the first robot on the candidate path.
[0211] Since the conflict of the area actually occupied by the robot in the actual movement is additionally determined on the basis of the path planning, the potential collision risk can be detected, so that the distribution of the nodes and the path segments can be more concentrated without setting the nodes and the path segments according to the maximum size of the robot.
[0212] Based on this design, more path segments can be set in the limited area, so that the space in the area can be more effectively utilized. When the robots are scheduled based on the robot tasks, more optional paths can be provided for the robots, and the efficiency of parallel operation of robots of different sizes in the same area can be improved.
[0213] In a possible implementation, the second robot includes a robot that is static in the first path segment or the second path segment in a time window, and a robot that moves in the second path segment in the time window; the time window represents a time interval in which the first robot is expected to occupy when moving according to the candidate path; the first path segment is a path segment included in the candidate path; the shortest distance between the first path segment and the second path segment does not exceed a preset threshold, and the preset threshold is related to the maximum size of the robot deployed in the target area.
[0214] In a possible implementation, for the second robot in the static state, the second protection area corresponding to the second robot is determined according to the size information and the position information of the second robot; for the second robot in the moving state, the second protection area corresponding to the second robot is determined according to the size information and the movement path of the second robot.
[0215] In a possible implementation, the size information of the robot represents a projection size of the robot in a cargo-carrying state or a non-cargo-carrying 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 to the ground.
[0216] In a possible implementation, the apparatus further includes a size acquisition module configured to:
[0217] identify whether the target robot is in a cargo-carrying state or a cargo-unloaded state;
[0218] if the target robot is in the cargo-unloaded state, determine model information of the target robot; and determine size information of the target robot according to the model information of the target robot and a pre-stored association relationship, the association relationship representing a corresponding relationship between model information and size information of a robot;
[0219] if the target robot is in the cargo-carrying state, determine an external rectangular region of a projection state of the target robot, the external rectangular region being determined according to a projection region of the target robot and a projection region of cargo carried by the target robot;
[0220] determine the size information of the target robot according to size information of the external rectangular region.
[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 including rotational motion, straight-line motion, and / or curved motion, and the first protection region includes sub-protection regions corresponding to the candidate sub-paths.
[0222] The first determination module 901 is specifically configured to determine the sub-protection region corresponding to the candidate sub-path in the following manner: determining whether a rotation center is a geometric center of the first robot; if the rotation center is the geometric center of the first robot, determining that the sub-protection region is a circular region, the circular region having the geometric center as a center and a first radius as a radius, the first radius being calculated based on the size information of the first robot; and if the rotation center is not the geometric center of the first robot, sampling a rotation route of the planning sub-path based on a preset radian to obtain a first occupation point of the geometric center of the first robot on the rotation route, determining, for each first occupation point, a rectangular coverage region of the first robot at the first occupation point based on the size information, and determining a union region of the rectangular coverage regions corresponding to the first occupation points as the sub-protection region.
[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 including rotational motion, straight-line motion, and / or curved motion, and the first protection region includes sub-protection regions corresponding to the candidate sub-paths.
[0224] The first determining module 901 is specifically configured to determine the sub-protection area corresponding to the candidate sub-path by the following manner: sampling a straight line of the planned sub-path based on a preset distance to obtain a second footprint point of the geometric center of the first robot on the straight line; for each second footprint point, determining a rectangular coverage area of the first robot at the second footprint point based on the size information; and determining a union area of the rectangular coverage areas corresponding to the second footprint 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 a rotating motion, a straight line motion, and / or a curved motion; and the first protection area includes sub-protection areas corresponding to the candidate sub-paths.
[0226] The first determining module 901 is specifically configured to determine the sub-protection area corresponding to the candidate sub-path by the following manner: sampling a curved line of the candidate sub-path based on a preset angle to obtain a third footprint point of the geometric center of the first robot on the curved line; for two adjacent third footprint points, determining a straight line sub-path with the third footprint points as end points; determining a sub-area covered by the first robot in the straight line sub-path; and determining a union area 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, and when the computer instructions are run on a computer device, the computer instructions make the computer device execute each step performed by the electronic device in the method flow shown in the method embodiment.
[0228] In another embodiment of the present application, a computer program product is further provided, which includes computer instructions, and when the computer instructions are run on a computer device, the computer instructions make the computer device execute each step performed by the electronic device in the method flow shown in the method embodiment.
[0229] In the above embodiments, all or part can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part can be implemented in the form of a computer program product. The computer program product includes one or more computer-executable instructions. When the computer-executable instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable 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 one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be accessed by a computer or data storage device including one or more servers, data centers, etc. integrated with the medium. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a solid state disk (SSD), etc.
[0230] Although the present application is described herein in conjunction with various embodiments, it is understood that other variations of the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from an inspection of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and the indefinite articles "a" or "an" do not exclude a plurality. A single processor or other unit can fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to an advantage.
[0231] Although the present application is described herein in conjunction with specific features and embodiments thereof, it is understood that modifications and combinations can occur to those skilled in the art to which the present application pertains, within its spirit and scope. Accordingly, the description and drawings are to be regarded as illustrative in nature and are not to be regarded as limiting the scope of the application as defined in the appended claims. Obviously, various modifications and changes can be made to the present application by those skilled in the art without departing from the spirit and scope of the present application. Thus, it is intended that the present application encompass all such modifications and changes and, accordingly, the application is not to be construed as limited to the examples presented herein. The present application is intended to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present application, including its general principles and specific embodiments disclosed. It is therefore to be understood that, within the scope of the claims and their equivalents, the present application can be practiced otherwise than as specifically described herein.
[0232] The above merely provides the specific implementation of the present application, but the protection scope of the present application is not limited to this. Any change or replacement within the technical scope disclosed by the present application should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A robot control method, characterized in that, The method includes: A first protection area is determined based on the size information of the first robot and candidate paths; the first protection area includes the area occupied by the first robot moving along the candidate paths; the candidate paths include candidate sub-paths corresponding to at least one type of motion of the first robot; the motion types include rotational motion, linear motion, and / or curvilinear motion; the first protection area includes sub-protection areas corresponding to each of the candidate sub-paths. A second protection zone is determined for each second robot, the second protection zone including the area occupied by each second robot when it 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 various sizes; Determine the regional conflict between the first protection area and the second protection area, wherein the regional conflict includes at least a portion of the second protection area overlapping with the first protection area; If the regional conflict between the first protected area and the second protected area satisfies the motion conditions of the first robot on the candidate path, then the candidate path is determined as the target path. Determining the first protection area based on the size information of the first robot and the candidate path includes: for the candidate sub-path corresponding to the rotational motion, determining the sub-protection area corresponding to the candidate sub-path in the following manner: If the rotation center is the geometric center of the first robot, the sub-protection area is determined to be 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, the rotation path of the candidate sub-path is sampled based on a preset radian to obtain the first occupancy point of the geometric center of the first robot on the rotation path; for each first occupancy point, the rectangular coverage area of the first robot at the first occupancy point is determined based on the size information; the union of the rectangular coverage areas corresponding to each first occupancy point is determined as the sub-protection area.
2. The method according to claim 1, characterized in that, The regional conflict between the first protection zone and the second protection zone satisfies the motion conditions of the first robot on the candidate path, including: There is no overlap between the first protection area and the second protection area; or, The first protection area overlaps with the second protection area corresponding to the second robot in a stationary state, and it is expected that there is a time window for moving the second robot out of the overlapping area before the first robot passes through the overlapping area; or, The first protection area overlaps with the second protection area corresponding to the second robot in motion, 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.
3. The method according to claim 1 or 2, characterized in that, The second robot includes: a robot stationary on a first road segment or a second road segment within a time window, and a robot operating on the second road segment within the time window; the time window represents the time interval expected to be occupied by the first robot moving according to the candidate path; the first road segment is a road segment included in the candidate path; the shortest distance between the second road segment and the first road segment does not exceed a preset threshold, the preset threshold being related to the maximum size of the robot deployed in the target area.
4. The method according to claim 3, characterized in that, For a second robot that is stationary, a second protection zone corresponding to the second robot is determined based on the size and position information of the second robot. For a second robot in motion, a second protection zone corresponding to the second robot is determined based on the size information and movement path of the second robot.
5. The method according to claim 1, characterized in that, The robot's size information represents the projected size of the robot when it is in a loaded or unloaded state, and the projected size is greater than or equal to the size of the largest bounding rectangle of the robot's projected area onto the ground.
6. The method according to claim 5, characterized in that, The method further includes obtaining the size information of a target robot, wherein the target robot includes the first robot and / or the second robot, by following the steps described below: Identify whether the target robot is in a loaded or unloaded state; If the target robot is in an unloaded state, determine the model information of the target robot; based on the model information of the target robot and the pre-stored association relationship, determine the size information of the target robot; the association relationship represents the correspondence between the robot's model information and size information; If the target robot is in a loaded state, determine the circumscribed matrix region of the target robot's projection state; the circumscribed rectangular region is determined based on the projection region of the target robot and the projection region of the cargo carried by the target robot; The size information of the target robot is determined based on the size information of the circumscribed rectangular region.
7. The method according to claim 5 or 6, characterized in that, The step of determining the first protection area based on 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: Based on a preset distance, the straight lines of the candidate sub-paths are sampled to obtain the second occupancy point of the geometric center of the first robot on the straight line. For each second occupancy point, the rectangular coverage area of the first robot at that second occupancy point is determined based on the size information; the union of the rectangular coverage areas corresponding to each second occupancy point is determined as the sub-protection area.
8. The method according to claim 5 or 6, characterized in that, The step of determining the first protection area based on 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 in the following manner: The candidate sub-path curve is sampled based on a preset angle to obtain the third occupancy point of the geometric center of the first robot on the curve. For two adjacent third occupancy points, determine the straight sub-path with the third occupancy point as the endpoint; Determine the sub-region covered by the first robot moving along the said straight sub-path; The union of the sub-regions is determined as the sub-protected region.
9. A robot control device, characterized in that, The device includes: A first determining module is configured to determine a first protected area based on the size information of a first robot and candidate paths; the first protected area includes the area occupied by the first robot moving along the candidate paths; the candidate paths include candidate sub-paths corresponding to at least one type of motion of the first robot; the motion types include rotational motion, linear motion, and / or curvilinear motion; the first protected area includes sub-protected areas corresponding to each of the candidate sub-paths. The second determining module is used to determine the second protection area corresponding to each second robot. The second protection area includes the area occupied by each second robot when it 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 various sizes. The third determining module is used to determine the regional conflict between the first protection area and the second protection area, wherein the regional conflict includes at least a portion of the second protection area overlapping with the first protection area; The fourth determining module is used to determine the candidate path as the target path if the regional conflict between the first protected area and the second protected area satisfies the motion conditions of the first robot on the candidate path. The first determining module is further configured to determine the sub-protection area corresponding to the candidate sub-path for the rotational motion in the following manner: If the rotation center is the geometric center of the first robot, the sub-protection area is determined to be 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, the rotation path of the candidate sub-path is sampled based on a preset radian to obtain the first occupancy point of the geometric center of the first robot on the rotation path; for each first occupancy point, the rectangular coverage area of the first robot at the first occupancy point is determined based on the size information; the union of the rectangular coverage areas corresponding to each first occupancy point is determined as the sub-protection area.
10. An electronic device, characterized in that, include: Processor and memory; The memory stores instructions that the processor can execute; When the processor is configured to execute the instructions, the electronic device performs the method as described in any one of claims 1-8.
11. 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 causes the electronic device to perform the method as described in any one of claims 1-8.
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