Robot avoidance method, device, robot and storage medium
By establishing communication connections among multiple robots and selecting leader robots, and determining avoidance strategies based on status data, the problem of low encounter and avoidance efficiency in multi-robot tasks is solved, and the robot's autonomous avoidance and work efficiency is improved.
Patent Information
- Application Number
- CN202110195799.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-19
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2041-02-19
AI Technical Summary
In the scenario where multiple robots perform tasks simultaneously, how to improve the work efficiency of the robot, especially in terms of robot encounters and avoidance.
By establishing a communication connection with multiple robots, a leader robot is determined, an avoidance policy is determined based on the status data of itself and multiple robots, and the policy is sent to other robots.
It realizes that multiple robots independently decide and avoid while performing tasks simultaneously, improving the work efficiency of the robot.
Smart Images

Figure CN114952819B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a robot avoidance method, device, robot and storage medium. Background Art
[0002] With the development of science and technology, robots are being used more and more widely, bringing great convenience to people's lives. In scenarios where multiple robots are performing tasks at the same time, there will be encounters and avoidance requirements during the execution of tasks by multiple robots. In this scenario, how to improve the work efficiency of robots is an urgent problem to be solved. Summary of the invention
[0003] The present application proposes a robot avoidance method, device, robot and storage medium.
[0004] In one aspect, an embodiment of the present application provides a robot avoidance method, comprising:
[0005] Establish communication links with multiple robots;
[0006] determining that the robot and at least one of the plurality of robots are leader robots;
[0007] The leader robot determines an avoidance strategy based on status data of itself and the multiple robots;
[0008] The first avoidance strategy is sent to the multiple robots.
[0009] Another aspect of the present application provides a robot avoidance device, comprising:
[0010] A communication module, used to establish communication connections with multiple robots;
[0011] A first determination module, configured to determine that itself and at least one of the multiple robots is a leader robot;
[0012] A second determination module, used for determining an avoidance strategy according to the state data of the robot itself and the plurality of robots;
[0013] A sending module is used to send the avoidance strategy to the multiple robots.
[0014] Another aspect of the present application provides a robot, comprising:
[0015] A communication module, used to establish communication connections with multiple robots;
[0016] A decision module, configured to determine that the robot itself and at least one of the multiple robots is a leader robot; and determine an avoidance strategy according to the status data of the robot itself and the multiple robots;
[0017] The communication module is also used to send the avoidance strategy to the multiple robots.
[0018] Another aspect of the present application provides a robot, including a processor and a memory;
[0019] The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to implement the robot avoidance method as described in the above-mentioned embodiment.
[0020] Another aspect of the present application provides a non-temporary computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the robot avoidance method as described in the above-mentioned first aspect of the embodiment.
[0021] Another aspect of the present application provides a computer program product, including a computer program, wherein when the computer program is executed by a processor, the robot avoidance method according to the above-mentioned one aspect of the embodiment is implemented.
[0022] The robot avoidance method, device, robot and storage medium of the embodiment of the present application establish communication connection with multiple robots; determine itself and at least one of the multiple robots as the leader robot; the leader robot determines the avoidance strategy based on the status data of itself and the multiple robots; and sends the avoidance strategy to the multiple robots. Thus, the robot determines the leader robot from itself and the multiple robots with which it establishes communication connection, and the leader robot determines the avoidance strategy based on the status data of itself and the multiple robots, thereby realizing that multiple robots can autonomously decide to avoid in the process of executing tasks at the same time, thereby improving the work efficiency of the robots.
[0023] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0025] Figure 1 A schematic diagram of a flow chart of a robot avoidance method provided in an embodiment of the present application;
[0026] Figure 2A schematic diagram of a flow chart of another robot avoidance method provided in an embodiment of the present application;
[0027] Figure 3 A schematic diagram of a flow chart of another robot avoidance method provided in an embodiment of the present application;
[0028] Figure 4 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 1 ;
[0029] Figure 5 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 2 ;
[0030] Figure 6 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 3 ;
[0031] Figure 7 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 4 ;
[0032] Figure 8 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 5 ;
[0033] Fig. 9 A schematic diagram of a scenario in which two robots meet each other provided in an embodiment of the present application Figure 6 ;
[0034] Fig.10 A schematic diagram of a robot avoidance method provided in an embodiment of the present application;
[0035] Fig.11 A schematic diagram of the structure of a robot avoidance device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0036] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0037] The following describes the robot avoidance method, device, robot and storage medium of the embodiments of the present application with reference to the accompanying drawings.
[0038] Figure 1 A schematic flow chart of a robot avoidance method provided in an embodiment of the present application.
[0039] The robot avoidance method of the embodiment of the present application can be executed by the robot avoidance device of the embodiment of the present application, and the device can be configured in the robot to achieve autonomous avoidance when multiple robots perform tasks simultaneously.
[0040] like Figure 1 As shown, the robot avoidance method includes:
[0041] Step 101, establishing communication connections with multiple robots.
[0042] The robot avoidance method of the embodiment of the present application can be applied to each robot among multiple robots that perform tasks simultaneously.
[0043] In the present application, the robot can detect robots within a preset distance range around it and establish communication connections with multiple detected robots. The robots can conduct point-to-point communication and send their own status data to other robots in real time.
[0044] The robot can obtain status data sent by multiple robots that have established communication connections with it in real time. The status data may include the robot identification, current location, path to be driven, driving speed, robot entry and exit status (such as currently exiting the elevator, or preparing to enter the elevator), etc.
[0045] In the present application, a driving path may be set for each robot, wherein the driving path of the robot is composed of coordinate points.
[0046] Step 102, determining that the robot itself and at least one of the multiple robots is a leader robot.
[0047] Since the robot establishing communication connection with the robot may change, such as a new robot joining or an existing associated robot leaving, the robot may determine itself and at least one of the multiple robots as a leader robot at each preset time. The leader robot may refer to a robot used to determine the avoidance strategy of itself and the multiple robots.
[0048] In the present application, at least one robot may be determined as a leader robot based on the driving speeds of the robots, for example, at least one robot with the smallest speed may be determined as a leader robot.
[0049] Alternatively, in the present application, each robot may be numbered in advance, and the number is unique and can be used as the identification of the robot. Each robot may include its own number in the status data sent to other robots. The robot may determine the robot numbered with a specified type number as the leader robot. The specified type number may be the smallest number, the largest number, or a number in the middle, etc.
[0050] If the number of the current robot is a designated type number, then it is determined that it is the current leader robot. Then, each robot can determine whether it is the leader robot by judging whether its own number is a designated type number.
[0051] Step 103: The leader robot determines an avoidance strategy based on the status data of itself and the multiple robots.
[0052] The leader robot can determine the avoidance strategy based on the status data of itself and multiple robots that have established communication connections with it. The robot can determine the robots to be encountered and the encounter mode based on the current position, the path to be driven, the driving speed, the driving direction and other information of itself and multiple robots, and determine the avoidance strategy based on the encounter mode.
[0053] Step 104, sending the avoidance strategy to multiple robots.
[0054] After the leader robot determines the avoidance strategy, it can send the avoidance strategy to multiple robots. After receiving the avoidance strategy, if the robot determines that the avoidance strategy needs to be executed, it will execute the avoidance strategy; otherwise, it can ignore the avoidance strategy.
[0055] Furthermore, the leader robot may also send the avoidance strategy only to the robots that need to execute the avoidance strategy, so that the robots that need to execute the avoidance strategy execute the avoidance strategy after receiving the avoidance strategy. The robots that execute the avoidance strategy may be one or more, and the robots execute the corresponding avoidance strategy.
[0056] For example, the avoidance strategy for robot A is to wait for robot B to pass through intersection p1, and the avoidance strategy for robot C is to wait for robot D to pass through intersection p2. Then, after robot A obtains the avoidance strategy sent by the leader robot, it waits for robot B to pass through intersection p1 before continuing to drive, and after robot C obtains the avoidance strategy sent by the leader robot, it waits for robot D to pass through intersection p2 before continuing to drive.
[0057] It should be noted that if the leader robot is the robot that needs to avoid, the leader robot executes its corresponding avoidance strategy to avoid.
[0058] The robot avoidance method of the embodiment of the present application establishes a communication connection with multiple robots; determines itself and at least one of the multiple robots as a leader robot; the leader robot determines an avoidance strategy based on the status data of itself and the multiple robots; and sends the avoidance strategy to the multiple robots. Thus, the robot determines the leader robot from itself and the multiple robots with which it has established a communication connection, and the leader robot determines the avoidance strategy based on the status data of itself and the multiple robots, thereby realizing that multiple robots can autonomously decide to avoid in the process of simultaneously executing tasks, thereby improving the work efficiency of the robots.
[0059] In one embodiment of the present application, the above-mentioned state data may include the current position and the path to be driven. When determining the avoidance strategy, Figure 2 The method shown is implemented as follows. Figure 2 Provide explanation. Figure 2 A flowchart of another robot avoidance method provided in an embodiment of the present application.
[0060] like Figure 2 As shown, the avoidance strategy is determined based on the status data of the robot and multiple robots, including:
[0061] Step 201, determining target paths corresponding to the robot and the multiple robots respectively according to the current positions of the robot and the multiple robots and the paths to be driven.
[0062] In actual applications, the path to be traveled by the robot may be relatively long. In order to facilitate calculation, in this application, the leader robot can determine the target paths corresponding to itself and multiple robots respectively based on the current positions and paths to be traveled of itself and multiple robots with which it has established communication connections.
[0063] In the present application, the leader robot can compare the length of its own and multiple robots' paths to be driven with a preset length. In response to the length of the path to be driven corresponding to any robot being greater than the preset length, the path within the preset length starting from the current position on the path to be driven of any robot can be used as the target path.
[0064] That is to say, among the leader robot and multiple robots, for robots whose path to be traveled is longer than a preset length, a path on the path to be traveled within a preset length from the current position can be intercepted as the target path.
[0065] It is understandable that if the length of the path to be traveled by the robot is less than the preset length, the path to be traveled can be directly used as the target path.
[0066] Assuming that the preset length is 40 meters and the length of the path to be driven by a robot is 60 meters, the path within 40 meters from the current position of the robot on the path to be driven can be used as the target path of the robot. If the length of the path to be driven by the robot is 35 meters, which is less than the preset length of 40 meters, then the path to be driven can be directly used as the target path.
[0067] It should be noted that the preset length in this application can be set according to actual needs, and this application does not limit this.
[0068] Step 202 , in response to the existence of an intersection between at least two target paths, determining an avoidance strategy according to state data of at least two robots corresponding to the at least two target paths respectively.
[0069] After obtaining the target paths corresponding to itself and multiple robots respectively, the leader robot can determine whether there is an intersection between the target paths. In response to the existence of an intersection between at least two target paths, the leader robot determines an avoidance strategy based on the status data of the robots corresponding to the at least two target paths with the intersection.
[0070] When determining whether there is an intersection between target paths, if multiple target paths intersect, it can be considered that there is an intersection between the target paths; if multiple target paths have overlapping areas, it can also be considered that there is an intersection between the target paths.
[0071] In the present application, robots that may encounter each other may be screened out based on whether there is an intersection in the target paths of multiple robots.
[0072] After the robots that may encounter are screened, an avoidance strategy may be determined based on the status data of at least two robots corresponding to at least two target paths having an intersection, such as the current position, driving speed, driving direction, etc.
[0073] For example, if two robots are traveling on the same path, in the same direction, but with different current positions and speeds, it can be assumed that the two robots will not meet. For another example, if two robots both have to pass a certain intersection, and are both 20 meters away from the intersection and have the same speed, then the two robots will meet, and it can be determined that one of the robots will wait for a certain period of time, such as 10 seconds, before continuing to travel.
[0074] In the embodiment of the present application, when determining the avoidance strategy, the leader robot can determine the target paths corresponding to itself and the multiple robots respectively according to the current positions and the paths to be traveled of itself and the multiple robots; in response to the existence of an intersection between at least two target paths, the avoidance strategy is determined according to the state data of at least two robots corresponding to the at least two target paths. Thus, by determining the multiple robots whose target paths have intersections according to whether there are intersections between the target paths of the multiple robots, and then determining the avoidance strategy according to the state data of the multiple robots whose target paths have intersections, the robots can autonomously decide to avoid when multiple robots are performing tasks at the same time, thereby improving the work efficiency of the robots.
[0075] In one embodiment of the present application, the driving state data may further include the driving direction and the driving speed. When determining the avoidance strategy based on the state data of at least two robots corresponding to at least two target paths, the avoidance strategy may also be adopted. Figure 3 The method shown. Figure 3 A flowchart of another robot avoidance method provided in an embodiment of the present application.
[0076] like Figure 3 As shown, the avoidance strategy is determined according to the state data of at least two robots corresponding to at least two target paths, including:
[0077] Step 301, determining at least two candidate robots that may meet and the manner of meeting according to the current positions, driving directions and driving speeds corresponding to at least two robots respectively.
[0078] Since there are intersections between target paths, the robots corresponding to the target paths may not necessarily meet. In the present application, at least two candidates for meeting and the way of meeting can be determined based on the current positions, driving directions and driving speeds corresponding to at least two robots with intersections in the target paths.
[0079] Step 302: Determine an avoidance strategy according to the encounter mode of at least two candidate robots.
[0080] After determining the encounter mode of at least two candidate robots, the leader robot can determine the robot that needs to be avoided and the corresponding avoidance strategy by analyzing the encounter mode.
[0081] Taking the scenario where two candidate robots meet as an example, in response to the two candidate robots meeting each other in opposite directions and there being an overlapping area on the target paths, it can be determined that any candidate robot retreats to the target position and waits to allow the other candidate robot to pass.
[0082] like Figure 4 , 5 As shown, Figure 4, Figure 5 as well as Figure 6-Figure 9 In the figure, the solid line represents the robot's driving path. The solid lines do not overlap to make it easier to see the robot's driving path. The actual driving path can be seen as on the dotted line. The solid line box represents the overlapping area of the target path. It should be noted that the robot's driving path can be a straight line or a curve, and this application does not limit this.
[0083] Figure 4 In the process, when two robots meet each other and there is an overlapping area in the target driving area, the robot with the unchanged driving direction can be determined to retreat to a position where the other robot can pass, such as retreating to a path point closest to the intersection and waiting. Figure 5 In the example, when two robots meet each other and there is an overlapping area in the target driving area, it can be determined that either robot retreats to a position where the other robot can pass, such as retreating to a path point closest to the intersection and waiting.
[0084] Figure 6 In the example, the two robots travel in different directions but meet at the intersection of the target path. At this time, one of the robots can be determined to wait until the other robot passes the intersection before continuing to travel.
[0085] Alternatively, in response to the two candidate robots meeting each other in a direction and having an overlapping area on the target paths, it may be determined that any one of the candidate robots is waiting at the meeting position.
[0086] like Figure 7 As shown, when two robots meet each other, it can be determined that one of the robots retreats and waits at the meeting position, and then continues to move forward after the other robot passes.
[0087] Alternatively, in response to the two candidate robots meeting each other in the direction of each other and the target path having a plurality of discontinuous overlapping regions, it may be determined that any candidate robot is waiting in a non-overlapping region for the other candidate robot to pass through.
[0088] like Figure 8 As shown, two robots meet in the same direction and there are two discontinuous overlapping areas on the target path. It can be determined that any candidate robot is waiting for the other candidate robot to pass in the non-overlapping area.
[0089] In an embodiment of the present application, when determining the avoidance strategy based on the status data of at least two robots corresponding to at least two target paths, at least two candidate robots that may encounter and the manner of encounter can be determined based on the current positions, driving directions and driving speeds corresponding to the at least two robots, and the avoidance strategy can be determined based on the manner of encounter, thereby enabling the robots to autonomously decide on avoidance when multiple robots perform tasks simultaneously, thereby improving the work efficiency of the robots.
[0090] In one embodiment of the present application, the robot's state data may further include a state of entering and exiting a closed space. When the leader robot determines an avoidance strategy based on the state data of itself and multiple robots, the robot to be entered into the closed space may determine an exit entrance of the closed space in response to the different states of entering and exiting the closed space corresponding to the two robots.
[0091] For example, the enclosed space is an elevator, such as Fig. 9 As shown, one robot is currently in the elevator exiting state, and the other robot is in the elevator entering state. The robot to be entered can be determined to exit the elevator entrance, such as retreating to the previous path node on the driving path, and then enter the elevator after the robot in the elevator exits.
[0092] In order to let multiple robots know whether the leader robot is operating normally, in one embodiment of the present application, the leader robot can send a heartbeat message to each robot after sending the avoidance strategy to multiple robots. Thus, multiple robots receive the heartbeat message and can determine that the leader robot is operating normally.
[0093] The heartbeat message may include at least one of the following information: the identification of the leader robot, the identifications of multiple robots, an avoidance strategy, etc.
[0094] In actual applications, the communication link between robots may be unstable. In order to solve the problem of avoidance failure caused by the loss of avoidance strategies sent to multiple robots, the current avoidance strategy can be carried in the heartbeat message. Then, after the robot that needs to execute the avoidance strategy receives the heartbeat message, if it is determined that the avoidance strategy has been executed, it can be ignored. If the avoidance strategy has not been received before, the avoidance strategy in the heartbeat message can be executed.
[0095] It can be understood that a robot determines that it is the current leader robot and can periodically send heartbeat information to the robots that have established communication connections with it. The heartbeat message may include the identifier of the leader robot, the identifiers of multiple robots, and the current avoidance strategy, etc. This can not only enable multiple robots to determine that the leader robot is operating normally, but also ensure that robots that need to execute avoidance strategies can execute the avoidance strategies.
[0096] In one embodiment of the present application, if the robot determines that it is not the current leader robot, the robot may obtain the heartbeat message or avoidance strategy, or the heartbeat information and avoidance strategy, sent by the leader robot.
[0097] That is, if the robot determines that it is not the current leader robot, it can obtain the message sent by the current leader robot.
[0098] In the embodiment of the present application, when the robot is not a leader robot, it can obtain the heartbeat message and / or avoidance strategy sent by the leader robot. Thus, multiple robots can autonomously decide to avoid during simultaneous task execution, thereby improving the working efficiency of the robots.
[0099] Combine the following Fig.10 The robot avoidance method of the embodiment of the present application is described. Fig.10 A process diagram of a robot avoidance method provided in an embodiment of the present application.
[0100] For multiple robots performing tasks simultaneously, such as Fig.10 As shown, after each robot is successfully started, step 1001 may be executed, and the robot determines whether the number of robots in the current group has changed. If yes, step 1002 is executed; otherwise, step 1003 is executed.
[0101] If a new robot joins or a robot leaves, step 1002 may be executed to calculate the current leader robot. Otherwise, it means that the current leader robot remains unchanged and there is no need to determine the current leader robot, that is, the leader robot determined last time may be used as the current leader robot.
[0102] The robot executes step 1003 to determine whether it is the current leader robot. If so, it executes step 1004 to periodically send heartbeat information to the associated robots, wherein the heartbeat message may include the identifier of the leader robot, the identifier of the associated robot, and the current avoidance strategy. Then, it executes step 1005 to determine the avoidance strategy. Then, it executes step 1008 to wait for a preset time (e.g., 0.01 seconds) and then continues to execute step 1001.
[0103] If the robot is not the current leader robot, then step 1006 is executed to obtain the message sent by the current leader robot, such as heartbeat information, avoidance strategy, etc., and step 1007 is executed to execute the command from the current leader robot. Then, step 1008 is executed to wait for a preset time (such as 0.01 seconds) and then step 1001 is continued.
[0104] In order to implement the above embodiment, the embodiment of the present application also proposes a robot avoidance device. Fig.11 A schematic diagram of the structure of a robot avoidance device provided in an embodiment of the present application.
[0105] like Fig.11 As shown, the robot avoidance device 1100 includes:
[0106] A communication module 1110 is used to establish communication connections with multiple robots;
[0107] A first determination module 1120, configured to determine that the robot itself and at least one of the multiple robots is a leader robot;
[0108] The second determining module 1130 is used to determine the avoidance strategy according to the status data of itself and the multiple robots; the sending module 1140 is used to send the avoidance strategy to the multiple robots.
[0109] In a possible implementation of the embodiment of the present application, the state data includes the current location and the path to be traveled, and the second determination module 1130 includes:
[0110] A first determining unit is used to determine target paths corresponding to itself and the multiple robots respectively according to the current positions of itself and the multiple robots and the paths to be driven;
[0111] The second determination unit is used to determine an avoidance strategy in response to the existence of an intersection between the at least two target paths and according to the state data of at least two robots respectively corresponding to the at least two target paths.
[0112] In a possible implementation manner of the embodiment of the present application, the first determining unit is used to:
[0113] In response to the length of the path to be driven corresponding to any robot being greater than a preset length, a path within the preset length starting from a current position on the path to be driven of any robot is used as a target path.
[0114] In a possible implementation manner of the embodiment of the present application, the state data further includes a driving direction and a driving speed, and the second determining unit is used to:
[0115] A first determining subunit is used to determine at least two candidate robots that are likely to meet and a way of meeting according to the current positions, driving directions and driving speeds respectively corresponding to the at least two robots;
[0116] The second determining subunit is used to determine an avoidance strategy according to the encounter mode of at least two candidate robots.
[0117] In a possible implementation manner of the embodiment of the present application, the second determining subunit is used to:
[0118] In response to the two candidate robots meeting each other in the direction of each other and the target paths having an overlapping area, determining that any one of the candidate robots retreats to the target position and waits to allow the other candidate robot to pass; or,
[0119] In response to the two candidate robots meeting each other in a direction and the target paths having an overlapping area, determining that any candidate robot is waiting at the meeting position; or,
[0120] In response to the two candidate robots meeting each other in a direction toward each other and the target path having a plurality of discontinuous overlapping regions, it is determined that any candidate robot waits in a non-overlapping region for another candidate robot to pass through.
[0121] In a possible implementation of the embodiment of the present application, the status data further includes a status of entering and exiting the enclosed space, and the second determining module 1130 is used to:
[0122] In response to the different states of entering and exiting the closed space corresponding to the two robots, an entrance for the robot to enter the closed space to exit the closed space is determined.
[0123] In a possible implementation of the embodiment of the present application, the first determining module 1120 includes:
[0124] The robot corresponding to the specified type number is determined as the leader robot.
[0125] In a possible implementation manner of the embodiment of the present application, the sending module 1140 is further configured to:
[0126] A heartbeat message is sent to each robot, wherein the heartbeat message includes at least one of the following information: an identifier of the leader robot, identifiers of the multiple robots, and the avoidance strategy.
[0127] It should be noted that the above explanation of the embodiment of the robot avoidance method is also applicable to the robot avoidance device of this embodiment, so it will not be repeated here.
[0128] The robot avoidance device of the embodiment of the present application establishes communication connections with multiple robots; determines itself and at least one of the multiple robots as a leader robot; the leader robot determines an avoidance strategy based on the status data of itself and the multiple robots; and sends the avoidance strategy to the multiple robots. Thus, the robot determines the leader robot from itself and the multiple robots with which it has established communication connections, and the leader robot determines the avoidance strategy based on the status data of itself and the multiple robots, thereby realizing that multiple robots can autonomously decide to avoid in the process of simultaneously executing tasks, thereby improving the work efficiency of the robots.
[0129] To implement the above embodiment, the present application also provides a robot, which includes:
[0130] A communication module, used to establish communication connections with multiple robots;
[0131] A decision module, configured to determine that the robot itself and at least one of the multiple robots is a leader robot; and determine an avoidance strategy according to the status data of the robot itself and the multiple robots;
[0132] The communication module is also used to send the avoidance strategy to the multiple robots.
[0133] In a possible implementation of the embodiment of the present application, the state data includes the current position and the path to be traveled, and the decision module is used to:
[0134] Determine target paths corresponding to the robot and the robots respectively according to the current positions of the robot and the paths to be traveled;
[0135] In response to the existence of an intersection between at least two target paths, the avoidance strategy is determined according to state data of at least two robots corresponding to the at least two target paths respectively.
[0136] In a possible implementation of the embodiment of the present application, the decision module is used to:
[0137] In response to the length of the path to be driven corresponding to any robot being greater than a preset length, a path within the preset length starting from a current position on the path to be driven of any robot is used as a target path.
[0138] In a possible implementation of the embodiment of the present application, the state data further includes a driving direction and a driving speed, and the decision module is used to:
[0139] Determining at least two candidate robots that may meet and a way of meeting according to the current positions, driving directions, and driving speeds respectively corresponding to the at least two robots;
[0140] The avoidance strategy is determined according to the encounter mode of the at least two candidate robots.
[0141] In a possible implementation of the embodiment of the present application, the decision module is used to:
[0142] In response to the two candidate robots meeting each other in the direction of each other and the target paths having an overlapping area, determining that any one of the candidate robots retreats to the target position and waits to allow the other candidate robot to pass; or,
[0143] In response to the two candidate robots meeting each other in a direction and the target paths having an overlapping area, determining that any candidate robot is waiting at the meeting position; or,
[0144] In response to the two candidate robots meeting each other in a direction toward each other and the target path having a plurality of discontinuous overlapping regions, it is determined that any candidate robot waits in a non-overlapping region for another candidate robot to pass through.
[0145] In a possible implementation of the embodiment of the present application, the status data also includes the status of entering and exiting the enclosed space, and the decision module is used to:
[0146] In response to the different states of entering and exiting the closed space corresponding to the two robots, an entrance for the robot to enter the closed space to exit the closed space is determined.
[0147] In a possible implementation of the embodiment of the present application, the decision module is used to:
[0148] The robot corresponding to the specified type number is determined as the leader robot.
[0149] In a possible implementation of the embodiment of the present application, the communication module is further used to:
[0150] A heartbeat message is sent to each robot, wherein the heartbeat message includes at least one of the following information: an identifier of the leader robot, identifiers of the multiple robots, and the avoidance strategy.
[0151] It should be noted that the above explanation of the embodiment of the robot avoidance method is also applicable to the robot of this embodiment, so it will not be repeated here.
[0152] In order to implement the above embodiment, the present application also provides a robot, including a processor and a memory;
[0153] The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to implement the robot avoidance method as described in the above embodiment.
[0154] In order to implement the above embodiments, the embodiments of the present application also propose a non-temporary computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the robot avoidance method described in the above embodiments is implemented.
[0155] In order to implement the above embodiments, the embodiments of the present application further propose a computer program product, including a computer program, wherein when the computer program is executed by a processor, the robot avoidance method according to the above embodiments is implemented.
[0156] In the description of this specification, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0157] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A robot avoidance method, characterized in that: include: Establish communication links with multiple robots; Determine that the robot and at least one of the multiple robots are the leader robot, wherein the robot determines that the robot and at least one of the multiple robots are the leader robot at a preset time interval; The leader robot determines an avoidance strategy based on status data of itself and the multiple robots; sending the avoidance strategy to the plurality of robots; The state data includes a current position and a path to be traveled, and the avoidance strategy is determined according to the state data of the robot and the multiple robots, including: Determine target paths corresponding to the robot and the robots respectively according to the current positions of the robot and the paths to be traveled; In response to the existence of an intersection between at least two target paths, determining the avoidance strategy according to state data of at least two robots corresponding to the at least two target paths respectively; The state data further includes a driving direction and a driving speed. The avoiding strategy is determined according to the state data of at least two robots corresponding to the at least two target paths, including: Determining at least two candidate robots that may meet and a way of meeting according to the current positions, driving directions, and driving speeds respectively corresponding to the at least two robots; The avoidance strategy is determined according to the encounter mode of the at least two candidate robots.
2. The method according to claim 1, characterized in that The step of determining target paths corresponding to the robot and the robots according to the current positions of the robot and the paths to be traveled comprises: In response to the length of the path to be driven corresponding to any robot being greater than a preset length, a path within the preset length starting from a current position on the path to be driven of any robot is used as a target path.
3. The method according to claim 1, characterized in that The step of determining the avoidance strategy according to the encounter mode of the at least two candidate robots comprises: In response to the two candidate robots meeting each other in the direction of each other and the target paths having an overlapping area, determining that any one of the candidate robots retreats to the target position and waits to allow the other candidate robot to pass; or, In response to the two candidate robots meeting each other in a direction and the target paths having an overlapping area, determining that any candidate robot is waiting at the meeting position; or, In response to the two candidate robots meeting each other in a direction toward each other and the target path having a plurality of discontinuous overlapping regions, it is determined that any candidate robot waits in a non-overlapping region for another candidate robot to pass through.
4. The method according to claim 1, characterized in that The state data also includes the state of entering and exiting the enclosed space. The avoiding strategy is determined based on the state data of the robot and the multiple robots, including: In response to the different states of entering and exiting the closed space corresponding to the two robots, an entrance for the robot to enter the closed space to exit the closed space is determined.
5. The method according to any one of claims 1 to 4, characterized in that: The step of determining that the robot itself and at least one of the plurality of robots is a leader robot comprises: The robot corresponding to the specified type number is determined as the leader robot.
6. The method according to any one of claims 1 to 4, characterized in that: After sending the avoidance strategy to the multiple robots, the method further includes: A heartbeat message is sent to each robot, wherein the heartbeat message includes at least one of the following information: an identifier of the leader robot, identifiers of the multiple robots, and the avoidance strategy.
7. A robot avoidance device, characterized in that: include: A communication module, used to establish communication connections with multiple robots; A first determination module, configured to determine that the robot itself and at least one of the multiple robots are the leader robot, wherein the robot determines that the robot itself and at least one of the multiple robots are the leader robot at a preset time interval; A second determination module, used for determining an avoidance strategy according to the state data of the robot itself and the plurality of robots; A sending module, used for sending the avoidance strategy to the multiple robots; The state data includes a current position and a path to be traveled, and the avoidance strategy is determined according to the state data of the robot and the multiple robots, including: Determine target paths corresponding to the robot and the robots respectively according to the current positions of the robot and the paths to be traveled; In response to the existence of an intersection between at least two target paths, determining the avoidance strategy according to state data of at least two robots corresponding to the at least two target paths respectively; The state data further includes a driving direction and a driving speed. The avoiding strategy is determined according to the state data of at least two robots corresponding to the at least two target paths, including: Determining at least two candidate robots that may meet and a way of meeting according to the current positions, driving directions, and driving speeds respectively corresponding to the at least two robots; The avoidance strategy is determined according to the encounter mode of the at least two candidate robots.
8. A robot, characterized in that: include: A communication module, used to establish communication connections with multiple robots; a decision-making module, configured to determine that the robot itself and at least one of the multiple robots are the leader robot, wherein the robot determines that the robot itself and at least one of the multiple robots are the leader robot at a preset time interval; and determines an avoidance strategy according to the status data of the robot itself and the multiple robots; The communication module is further used to send the avoidance strategy to the multiple robots; The state data includes the current position and the path to be traveled, and the decision module is used to: Determine target paths corresponding to the robot and the robots respectively according to the current positions of the robot and the paths to be traveled; In response to the existence of an intersection between at least two target paths, determining the avoidance strategy according to state data of at least two robots corresponding to the at least two target paths respectively; The state data also includes the driving direction and the driving speed. The decision module is used to: Determining at least two candidate robots that may meet and a way of meeting according to the current positions, driving directions, and driving speeds respectively corresponding to the at least two robots; The avoidance strategy is determined according to the encounter mode of the at least two candidate robots.
9. A robot, characterized in that: including a processor and a memory; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to implement the robot avoidance method as described in any one of claims 1 to 6.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the robot avoidance method as described in any one of claims 1 to 6 is implemented.
11. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the robot avoidance method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Movement control methods for multiple robots and systems thereof
CN111158353A