Planning method, device and robot for robot passing through channel

Through the election and communication mechanism between robots, robots that pass through the channel are determined first, which solves the problems of crowding and collision when multiple robots pass through the same channel, and improves task efficiency.

CN115922718BActive Publication Date: 2025-05-16SHENZHEN YOUBIXING TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211623668.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2025-05-16
Estimated Expiration
2042-12-16

AI Technical Summary

Technical Problem

When multiple robots need to pass through the same channel, crowding and collisions are prone to occur, reducing task efficiency.

Method used

Through mutual communication between each robot, candidate robots are elected, and the robots that pass through the channel are jointly determined based on the number of votes and status information of the candidate robots.

Benefits of technology

It avoids congestion and collision between multiple robots, and achieves the effect of multiple robots passing through the channels in an orderly and quickly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115922718B_ABST
    Figure CN115922718B_ABST
Patent Text Reader

Abstract

The present application is applicable to the field of robot technology, and provides a method, device and robot for planning a robot to pass through a channel, the method comprising: when the first robot determines that there is a second robot participating in the election at the current moment, the first robot selects a first candidate robot from the election robots participating in the election; the first robot obtains the second candidate robot and status information sent by each second robot; the first robot determines the target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot, and the target robot is the candidate robot determined to pass through the channel at the current moment. The present application avoids congestion and collision of multiple robots, and allows multiple robots to pass through the channel in an orderly and fast manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robotics technology, and in particular, relates to a method and device for planning a robot to pass through a channel, and a robot. Background Art

[0002] With the development of robots, robots are being used in more and more fields, such as catering robots in the catering industry and delivery robots in the express delivery industry.

[0003] When robots perform tasks, they pass through various roads. When there is a channel in the robot's driving route, it is often the case that multiple robots need to pass through the channel at the same time. When multiple robots need to pass through the channel, multiple robots will be crowded or collided, reducing the efficiency of the robots in performing tasks. Therefore, when multiple robots pass through the channel, it is necessary to reasonably plan the driving strategies of multiple robots so that multiple robots can pass through the channel in an orderly and fast manner. Summary of the invention

[0004] The embodiments of the present application provide a method, device, and robot for planning the passage of robots through a channel, which can enable multiple robots to pass through the channel in an orderly and rapid manner.

[0005] In a first aspect, an embodiment of the present application provides a method for planning a robot to pass through a channel, comprising:

[0006] When the first robot determines that there is a second robot participating in the election at the current moment, the first robot selects a first candidate robot from the election robots participating in the election, the election robots include the first robot and the second robot, and the election robot is the robot waiting to pass through the channel at the current moment;

[0007] The first robot obtains status information of the second candidate robot and the second robot sent by each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot;

[0008] The first robot determines a target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot. The target robot is the candidate robot determined to pass through the channel at the current moment. The candidate robots include the first candidate robot and the second candidate robot.

[0009] In a second aspect, an embodiment of the present application provides a device for planning a robot to pass through a channel, the device being arranged in a first robot, and the device comprising:

[0010] An election module, configured to, when determining that there is a second robot participating in the election at the current moment, cause the first robot to elect a first candidate robot from the election robots participating in the election, wherein the election robots include the first robot and the second robot, and the election robot is a robot waiting to pass through the passage at the current moment;

[0011] an information acquisition module, used to acquire status information of a second candidate robot and the second robot sent by each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot;

[0012] The result determination module is used to determine the target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot. The target robot is the candidate robot determined to pass through the channel at the current moment. The candidate robots include a first candidate robot and a second candidate robot.

[0013] In a third aspect, an embodiment of the present application provides a robot, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the robot channel planning method described in any one of the first aspects above when executing the computer program.

[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and wherein when the computer program is executed by a processor, the robot channel planning method described in any one of the first aspects is implemented.

[0015] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a terminal device, enables the terminal device to execute the method for planning a robot to pass through a channel as described in any one of the first aspects above.

[0016] The beneficial effects of the first aspect of the embodiment of the present application compared with the prior art are: when the first robot of the present application determines that there is a second robot participating in the election at the current moment, it selects a first candidate robot from the election robots participating in the election; the first robot obtains the second candidate robot and status information sent by each second robot; the first robot determines the target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot, and the target robot is the candidate robot determined to pass through the channel at the current moment.

[0017] In this application, if there are multiple robots that need to pass through the channel, each robot will elect a candidate robot, and then each robot will jointly determine the robot that has priority to pass through the channel at the current moment based on the number of votes and status information of the candidate robots, thereby avoiding congestion and collision of multiple robots, and allowing multiple robots to pass through the channel in an orderly and fast manner.

[0018] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0020] Figure 1 It is a flowchart of a method for planning a robot to pass through a channel provided in an embodiment of the present application;

[0021] Figure 2 is a flow chart of a method for determining a target robot provided in one embodiment of the present application;

[0022] Figure 3 is a flowchart of a scoring calculation method for a robot provided in an embodiment of the present application;

[0023] Figure 4 is a flowchart of a method for a first robot to determine election consistency provided by an embodiment of the present application;

[0024] Figure 5 is a flowchart of a method for a first robot to determine whether a second robot exists, provided in one embodiment of the present application;

[0025] Figure 6 This is a schematic diagram of a robot passing through a channel provided by an embodiment of the present application;

[0026] Figure 7 It is a structural schematic diagram of a planning device for a robot passing through a channel provided in an embodiment of the present application;

[0027] Figure 8 It is a schematic diagram of the structure of a robot provided in one embodiment of the present application. DETAILED DESCRIPTION

[0028] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0029] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0030] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0031] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0032] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.

[0033] At present, when multiple robots need to pass through a channel, for example, when multiple robots need to pass through the same narrow channel, the server will sort the order of the robots according to the urgency of the robots' tasks, and the multiple robots will pass through the channel in sequence according to the sorting. The above method requires additional servers, which increases costs. In addition, each robot needs to communicate with the server. If the distance between the server and the robot is far or the communication signal is not good, it will cause confusion in the robot's driving.

[0034] Based on the above reasons, this application proposes a method for planning a robot to pass through a channel. In this application, the robots communicate with each other, and each robot can determine the robot participating in this election. Then each robot will select a candidate robot from the robots participating in this election. Each robot jointly determines the robot that has priority to pass through the channel at the current moment based on the number of votes and status information of the candidate robots. This application does not require additional servers. Through communication between the robots, the robots can elect each other to obtain the robot that passes first, and then elect again so that each robot passes through the channel in turn.

[0035] Figure 1 A schematic flow chart of a method for planning a robot passing through a channel provided by the present application is shown, referring to Figure 1 , the method is described in detail as follows:

[0036] S101, when the first robot determines that there is a second robot participating in the election at the current moment, the first robot selects a first candidate robot from the election robots participating in the election.

[0037] In this embodiment, all robots participating in this election can be recorded as election robots, so the election robots include a first robot and a second robot. The election robot is a robot waiting to pass through the channel at the current moment.

[0038] For example, if robot a, robot b, and robot c all need to pass through the passage at the current moment, any one of the robots can be used as the first robot, and the other robots can be used as the second robot. For example, if robot a is used as the first robot, robot b and robot c can be used as the second robots.

[0039] In this embodiment, the first robot can select any robot from the election robots as the first candidate robot. The first candidate robot can be the first robot or the second robot.

[0040] After electing the first candidate robot, the first robot broadcasts the election result so that other election robots can receive the election result.

[0041] S102: The first robot obtains status information of a second candidate robot and a second robot sent by each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot.

[0042] In this embodiment, each second robot will also obtain information about the first robot and other second robots participating in the election. Each second robot will also randomly select a robot from the election robots as the second candidate robot and broadcast the election results so that other election robots can receive the results of the second robot election.

[0043] The status information includes the remaining power level and / or the task level. The status information may also include the waiting time for the robot to pass through the channel.

[0044] Task levels can include urgent tasks, general tasks, and no tasks, etc.

[0045] The remaining power level may include a low power level and a normal power level, etc. For example, the low power level indicates that the power level is less than 10% or 20%, and the normal power level indicates that the power level is greater than or equal to 10% or 20%.

[0046] S103, the first robot determines a target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot, wherein the target robot is the candidate robot determined to pass through the channel at the current moment, and the candidate robots include a first candidate robot and a second candidate robot.

[0047] In this embodiment, since the candidate robots are elected from the election robots, the state information of the candidate robots is the state information of the election robots.

[0048] In this embodiment, the candidate robots are arranged in order according to the number of votes, and the candidate robot with the lowest power or the most urgent task among the n candidate robots with the highest number of votes is used as the target robot, that is, the target robot is allowed to pass through the channel first.

[0049] Specifically, if the target robot is the first robot, then at the current moment the first robot passes through the channel, and all the second robots keep waiting. If the target robot is not the first robot, the first robot needs to continue waiting.

[0050] After the current election is over, the election robots except the target robot will continue the next round of elections. After the current election is over, if there are new robots joining the election, the election robots except the target robot and the new robots will participate in the next round of elections together.

[0051] For example, in this election, robot C passed the channel as the target robot. After this election, robots A and B need to continue waiting. Robot D also needs to pass the channel at the current moment, so robots A, B and D will re-election.

[0052] In an embodiment of the present application, when the first robot determines that there is a second robot participating in the election at the current moment, it selects a first candidate robot from the election robots participating in the election; the first robot obtains the second candidate robot and status information sent by each second robot; the first robot determines the target robot based on the number of votes of each candidate robot and the status information of each candidate robot, and the target robot is the candidate robot determined to pass through the channel at the current moment. In the present application, if there are multiple robots that need to pass through the channel, each robot will select a candidate robot, and then each robot will jointly determine the robot that has priority to pass through the channel at the current moment based on the number of votes and status information of the candidate robots, thereby avoiding congestion and collision of multiple robots, and allowing multiple robots to pass through the channel in an orderly and rapid manner.

[0053] like Figure 2 As shown, in a possible implementation manner, the implementation process of step S103 may include:

[0054] S1031, calculating the score of each candidate robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot, wherein the status information includes the remaining power level and / or the task level.

[0055] like Figure 3 As shown, specifically, when the status information includes the remaining power level and / or the task level, step S1031 may specifically include:

[0056] S201, obtaining a weighting factor corresponding to the remaining power level and a weighting factor corresponding to the task level.

[0057] In this embodiment, weighting factors corresponding to different remaining power levels are preset. For example, the weighting factor corresponding to the low power level is 0.4, and the weighting factor corresponding to the normal power level is 0.

[0058] The weighting factors corresponding to different task levels are preset, for example, the weighting factor of an urgent task is 0.5; the weighting factor of a general task is 0.2; and the weighting factor of no task is 0.

[0059] S202: Calculate a weighted value of the candidate robot based on the weighted factor corresponding to the remaining power level and the weighted factor corresponding to the task level.

[0060] Specifically, the sum of the weighted factor corresponding to the remaining power level and the weighted factor corresponding to the task level is calculated to obtain a weighted value.

[0061] Alternatively, the sum of the weighted factor corresponding to the remaining power level, the weighted factor corresponding to the task level and a preset base number is calculated to obtain a weighted value. The preset base number can be set as required, for example, the base number can be set to 1 or 2.

[0062] For example, if the remaining power level of candidate robot a is low, the weighting factor corresponding to the low power level is 0.4; the task level is an emergency task, the weighting factor corresponding to the emergency task is 0.5; the preset base is 1. The weighting value of candidate robot a is 1+0.4+0.5=1.9.

[0063] S203, calculating the product of the weighted value of the candidate robot and the number of votes of the candidate robot to obtain the score of the candidate robot.

[0064] For example, if the weighted value is 1.9 and the number of votes for the candidate robot is 2, the score of the candidate robot is 1.9×2=3.8.

[0065] S1032: Determine a third robot among the candidate robots based on the scores of the candidate robots, where the third robot is the candidate robot with the highest score.

[0066] In this embodiment, the candidate robot with the highest score is found and recorded as the third robot.

[0067] In this embodiment, among all the candidate robots, there may be one candidate robot with the highest score, or there may be two or more candidate robots with the same and highest scores in parallel.

[0068] For example, if the score of candidate robot a is 3.8, the score of candidate robot b is 3.8, and the score of candidate robot c is 2.1, the candidate robots with the highest scores are candidate robot a and candidate robot b. Candidate robot a and candidate robot b are both recorded as the third robot.

[0069] S1033: The first robot counts the number of the third robots.

[0070] S1034: If there is a third robot, determine the third robot as the target robot.

[0071] S1035: If there are at least two third robots, obtain the waiting time of each third robot, wherein the status information includes the waiting time.

[0072] In this embodiment, if the number of the third robots is two or more, it is necessary to continue to elect a robot that has priority to pass through the channel.

[0073] Specifically, when each robot reaches the preset area in front of the channel, a timer will be started to determine how long the robot will wait there.

[0074] S1036, determining the third robot with the longest waiting time, and the third robot with the longest waiting time is the target robot.

[0075] In this embodiment, the third robot with the longest waiting time is selected as the robot that has priority to pass through the channel at the current moment.

[0076] In an embodiment of the present application, the number of votes obtained by the candidate robots and the status information of each candidate robot are used to jointly determine the robot that needs to pass through the channel first at the current moment. This not only relies on the voting results of the robots, but also refers to the status of the robots, so that the determined robot passing order is more in line with the current needs of the robots.

[0077] In a possible implementation, in order to ensure that the determined target robot is more accurate, after each election robot has determined the target robot, the consistency of the target robot can be verified.

[0078] like Figure 4 As shown, specifically, after step S1032, step S103 may further include:

[0079] S301, the first robot obtains the fourth robot broadcast by the second robot, wherein the fourth robot is the candidate robot with the highest score determined by the second robot.

[0080] In this embodiment, when the first robot is electing and calculating the scores of the candidate robots, each second robot is also electing and calculating the scores of the candidate robots, just like the first robot. Each second robot can determine the candidate robot passing through the channel at the current moment, and broadcast the determined candidate robot passing through the channel at the current moment, and the candidate robot passing through the channel at the current moment determined by the second robot is recorded as the fourth robot. The second robot broadcasts the determined fourth robot so that each other robot can receive the candidate robot with the highest score finally determined by the second robot.

[0081] Similarly, after determining the third robot, the first robot will also broadcast the determined third robot so that each second robot can receive the candidate robot with the highest score finally determined by the first robot.

[0082] S302: If the third robot determined by the first robot is the same as the fourth robot determined by the second robot, the first robot determines that the candidate robots with the highest scores elected by the election robots are the same.

[0083] In this embodiment, if the candidate robots with the highest scores selected by the election robots are the same, it means that the election results of the election robots are consistent, and the target robot can be further determined from the third robots. Therefore, when the candidate robots with the highest scores selected by the election robots are the same, the first robot counts the number of the third robots.

[0084] In this embodiment, after monitoring the fourth robot broadcast by each second robot, the first robot compares the fourth robot with the third robot to determine whether the third robot and the fourth robot are the same robot.

[0085] For example, if the third robot is robot C and robot D, and the fourth robot is robot C and robot D, then the third robot and the fourth robot are the same.

[0086] If the third robot is robot c and robot d, and the fourth robot is robot c and robot e, then the third robot and the fourth robot are not the same. S303: If there is a difference between the third robot determined by the first robot and the fourth robot determined by the second robot, and the candidate robots with the highest scores determined by the election robots are not the same, the first robot exits the current election process.

[0087] In this embodiment, if there are different robots between the third robot and the fourth robot, it is determined that the candidate robot with the highest score determined by the second robot is different from the candidate robot with the highest score determined by the first robot, that is, the election is inconsistent, the current election is invalid, and a new election is required.

[0088] In a possible implementation, before step S101, the method may further include: a process in which the first robot determines that there is a second robot participating in the election at the current moment.

[0089] like Figure 5 Specifically, before step S101, the method may further include:

[0090] S401: The first robot broadcasts an election request, wherein the election request carries identification information of the first robot.

[0091] In this embodiment, a map is pre-set in the first robot, and a preset area is marked in the map.

[0092] The election request may also include status information of the first robot.

[0093] In this embodiment, when the first robot just enters the preset area, the first robot needs to broadcast an election request to determine whether there is a second robot in the preset area. The robot entering the preset area will trigger the election mode to facilitate the election. Figure 6 As shown, the robot needs to enter area B from area A, and the robots in the preset area will hold an election.

[0094] Alternatively, after the first robot completes the last election, if the first robot is not elected as the target robot, the first robot needs to be elected again, and therefore, the first robot needs to broadcast an election request again.

[0095] S402: If the first robot monitors at least one election consent response, the first robot determines that there is a second robot participating in the election at the current moment, wherein the election consent response is broadcast when the second robot receives the election request and agrees to the election, and the election consent response carries the identification information of the second robot.

[0096] In this embodiment, after monitoring the election agreement response, the second robot may broadcast the election agreement response if it agrees to hold an election; and may broadcast the election disagreement response if it disagrees to hold an election.

[0097] The consent election response may carry the status information of the second robot.

[0098] S403: If the first robot detects no response to agreeing to the election, the first robot determines that there is no second robot participating in the election at the current moment.

[0099] In this embodiment, if the first robot determines that there is no second robot participating in the election at the current moment, the first robot can directly pass through the channel.

[0100] It should be noted that the method implemented in the first robot can also be implemented in the second robot.

[0101] In a possible implementation, taking the election among robots A, B, and C as an example, the above method may further include:

[0102] Robot A, robot B and robot C can all broadcast election requests. The election request broadcast by robot A is taken as an example for explanation.

[0103] Robot B and robot C monitor the election request broadcast by robot A. After robot B monitors the election request, if robot B and robot C agree to the election, they broadcast an election agreement response. For example, if robot B is not in the election process at the current moment, robot B can agree to the election.

[0104] After receiving the election consent response broadcast by robots B and C, robot A determines that robots A, B, and C are currently participating in the election. Similarly, robots B and C can also determine that robots A, B, and C are currently participating in the election.

[0105] Robot A selects a candidate robot from among Robot A, Robot B, and Robot C, and Robot A broadcasts the candidate robot it has selected. For example, the robot selected by Robot A is Robot B. Similarly, Robot B and Robot C will also select a candidate robot from among Robot A, Robot B, and Robot C, and broadcast the candidate robot they have selected.

[0106] Robot A determines the target robot based on the number of votes and status information of each candidate robot. Similarly, robots B and C can also determine the target robot based on the number of votes and status information of the candidate robots.

[0107] If the target robot is itself, it can pass through the channel at the current moment. If the target robot is not itself, it needs to continue waiting for the next round of elections.

[0108] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0109] Corresponding to the planning method for the robot to pass through the channel described in the above embodiment, Figure 7 A structural block diagram of a robot channel planning device provided in an embodiment of the present application is shown. The device is arranged in a first robot. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0110] Reference Figure 7 The device 500 may include: an election module 510, an information acquisition module 520 and a result determination module 530.

[0111] The election module 510 is used for, when it is determined that there is a second robot participating in the election at the current moment, the first robot elects a first candidate robot from the election robots participating in the election, the election robots including the first robot and the second robot, and the election robot is the robot waiting to pass through the channel at the current moment;

[0112] An information acquisition module 520 is used to acquire the second candidate robot sent by each of the second robots and the status information of each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot;

[0113] The result determination module 530 is used to determine the target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot. The target robot is the candidate robot determined to pass through the channel at the current moment. The candidate robots include the first candidate robot and the second candidate robot.

[0114] In a possible implementation, the result determination module 530 may be specifically used to:

[0115] Calculate the score of each candidate robot based on the number of votes of each candidate robot and the status information of each candidate robot, wherein the status information includes the remaining power level and / or the task level;

[0116] Determine a third robot among the candidate robots based on the scores of the candidate robots, wherein the third robot is the candidate robot with the highest score;

[0117] The first robot counts the number of the third robots;

[0118] If there is one third robot, the third robot is determined to be the target robot.

[0119] In a possible implementation, when the state information includes the remaining power level and the task level, the result determination module 530 may be specifically configured to:

[0120] Obtaining a weighting factor corresponding to the remaining power level and a weighting factor corresponding to the task level;

[0121] Calculating a weighted value of the candidate robot based on the weighted factor corresponding to the remaining power level and the weighted factor corresponding to the task level;

[0122] The product of the weighted value of the candidate robot and the number of votes of the candidate robot is calculated to obtain the score of the candidate robot.

[0123] In a possible implementation, the result determination module 530 may also be specifically used for:

[0124] If there are at least two third robots, obtaining the waiting time of each third robot, wherein the state information includes the waiting time;

[0125] The third robot with the longest waiting time is determined, and the third robot with the longest waiting time is the target robot.

[0126] In a possible implementation, the result determination module 530 may also be specifically used for:

[0127] The first robot obtains a fourth robot broadcast by the second robot, wherein the fourth robot is a candidate robot with the highest score determined by the second robot;

[0128] If the third robot determined by the first robot is the same as the fourth robot determined by the second robot, the first robot determines that the candidate robots with the highest scores elected by the election robots are the same;

[0129] Accordingly, the result determination module 530 may also be specifically used for:

[0130] When the candidate robots with the highest scores elected by the election robots are the same, the first robot counts the number of the third robots.

[0131] In a possible implementation, the result determination module 530 may also be specifically used for:

[0132] If there is a difference between the third robot determined by the first robot and the fourth robot determined by the second robot, and the first robot determines that the candidate robots with the highest scores elected by the various election robots are different, the first robot exits the current election process.

[0133] In a possible implementation, the election module 510 is also connected to:

[0134] a request broadcasting module, configured for the first robot to broadcast an election request, wherein the election request carries identification information of the first robot;

[0135] An election determination module is used for, if the first robot monitors at least one election consent response, the first robot determines that there is a second robot participating in the election at the current moment, wherein the election consent response is broadcast when the second robot receives the election request and agrees to the election, and the election consent response carries the identification information of the second robot.

[0136] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0137] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0138] The present application also provides a robot, see Figure 8 The robot 600 may include: at least one processor 610, a memory 620, and a computer program stored in the memory 620 and executable on the at least one processor 610. When the processor 610 executes the computer program, the steps in any of the above-mentioned method embodiments are implemented, for example: Figure 1 Steps S101 to S103 in the illustrated embodiment. Alternatively, when the processor 610 executes the computer program, the functions of each module / unit in the above-mentioned device embodiments are implemented, for example Figure 7 The functions of the election module 510 to the result determination module 530 are shown.

[0139] Exemplarily, the computer program may be divided into one or more modules / units, one or more modules / units are stored in the memory 620 and executed by the processor 610 to complete the present application. The one or more modules / units may be a series of computer program segments capable of completing specific functions, and the program segments are used to describe the execution process of the computer program in the robot 600.

[0140] Those skilled in the art will understand that Figure 8 These are merely examples of robots and do not constitute a limitation of the robot, which may include more or fewer components than those shown in the figure, or a combination of certain components, or different components, such as input and output devices, network access devices, buses, etc.

[0141] The processor 610 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0142] The memory 620 may be an internal storage unit of the robot or an external storage device of the robot, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. The memory 620 is used to store the computer program and other programs and data required by the robot. The memory 620 may also be used to temporarily store data that has been output or is to be output.

[0143] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0144] The robot channel planning method provided in the embodiment of the present application can be applied to terminal devices such as computers, tablet computers, laptop computers, netbooks, personal digital assistants (PDAs), etc. The embodiment of the present application does not impose any restrictions on the specific type of terminal devices.

[0145] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0146] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0147] In the embodiments provided in the present application, it should be understood that the disclosed terminal equipment, devices and methods can be implemented in other ways. For example, the terminal equipment embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0148] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0149] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0150] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by one or more processors, the steps of each of the above-mentioned method embodiments can be implemented.

[0151] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by one or more processors, the steps of each of the above-mentioned method embodiments can be implemented.

[0152] Similarly, as a computer program product, when the computer program product runs on a terminal device, the terminal device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0153] The computer program includes computer program code, which may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer readable media do not include electric carrier signals and telecommunication signals.

[0154] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A method for planning a robot to pass through a channel, characterized in that: include: When the first robot determines that there is a second robot participating in the election at the current moment, the first robot selects a first candidate robot from the election robots participating in the election, the election robots include the first robot and the second robot, and the election robot is the robot waiting to pass through the channel at the current moment; The first robot obtains status information of the second candidate robot and the second robot sent by each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot; The first robot determines a target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot. The target robot is the candidate robot determined to pass through the channel at the current moment. The candidate robots include the first candidate robot and the second candidate robot.

2. The method for planning a robot passing through a channel as claimed in claim 1, characterized in that: The first robot determines the target robot based on the number of votes of each candidate robot and the status information of each candidate robot, including: Calculate the score of each candidate robot based on the number of votes of each candidate robot and the status information of each candidate robot, wherein the status information includes the remaining power level and / or the task level; Determine a third robot among the candidate robots based on the scores of the candidate robots, wherein the third robot is the candidate robot with the highest score; The first robot counts the number of the third robots; If there is one third robot, the third robot is determined to be the target robot.

3. The method for planning a robot passing through a passage as claimed in claim 2, characterized in that: When the status information includes the remaining power level and the task level, calculating the score of each candidate robot based on the number of votes of each candidate robot and the status information of each candidate robot includes: Obtaining a weighting factor corresponding to the remaining power level and a weighting factor corresponding to the task level; Calculating a weighted value of the candidate robot based on the weighted factor corresponding to the remaining power level and the weighted factor corresponding to the task level; The product of the weighted value of the candidate robot and the number of votes of the candidate robot is calculated to obtain the score of the candidate robot.

4. The method for planning a robot passing through a passage as claimed in claim 2, characterized in that: After the first robot counts the number of the third robots, the method further includes: If there are at least two third robots, obtaining the waiting time of each third robot, wherein the state information includes the waiting time; The third robot with the longest waiting time is determined, and the third robot with the longest waiting time is the target robot.

5. The method for planning a robot passing through a passage as claimed in claim 2, characterized in that: After determining a third robot among the candidate robots based on the scores of the candidate robots, the method further includes: The first robot obtains a fourth robot broadcast by the second robot, wherein the fourth robot is a candidate robot with the highest score determined by the second robot; If the third robot determined by the first robot is the same as the fourth robot determined by the second robot, the first robot determines that the candidate robots with the highest scores elected by the election robots are the same; Accordingly, the first robot counts the number of the third robots, including: When the candidate robots with the highest scores elected by the election robots are the same, the first robot counts the number of the third robots.

6. The method for planning a robot passing through a passage as claimed in claim 5, characterized in that: After the first robot acquires the fourth robot broadcast by the second robot, the method further includes: If there is a difference between the third robot determined by the first robot and the fourth robot determined by the second robot, and the first robot determines that the candidate robots with the highest scores elected by the various election robots are different, the first robot exits the current election process.

7. The method for planning a robot passing through a passage according to any one of claims 1 to 6, characterized in that: The first robot determines that there is a second robot participating in the election at the current moment, including: The first robot broadcasts an election request, wherein the election request carries identification information of the first robot; If the first robot monitors at least one election consent response, the first robot determines that there is a second robot participating in the election at the current moment, wherein the election consent response is broadcast when the second robot receives the election request and agrees to the election, and the election consent response carries the identification information of the second robot.

8. A planning device for a robot passing through a passage, characterized in that: The device is arranged in the first robot, and comprises: An election module, configured to, when determining that there is a second robot participating in the election at the current moment, cause the first robot to elect a first candidate robot from the election robots participating in the election, wherein the election robots include the first robot and the second robot, and the election robot is a robot waiting to pass through the passage at the current moment; an information acquisition module, used to acquire status information of a second candidate robot and the second robot sent by each of the second robots, wherein the second candidate robot is a candidate robot elected by the second robot from the election robot; The result determination module is used to determine the target robot based on the number of votes obtained by each candidate robot and the status information of each candidate robot. The target robot is the candidate robot determined to pass through the channel at the current moment. The candidate robots include a first candidate robot and a second candidate robot.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method for planning a robot passing through a channel as described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for planning a robot passing through a channel as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Method, system, and recording medium for controlling destination of robot

    CN114527743A

  • Robot, robot control program and robot control method

    JP2020021351A