Decision-making method for real-time resource allocation among multiple robots

By using the first algorithm to select the optimal resource and the second algorithm in a multi-robot collaboration environment, the efficiency problem of multi-robot resource scheduling is solved, and the maximum utilization of resources and avoiding waste is achieved.

CN112990667BActive Publication Date: 2025-05-09SHANGHAI YOGO ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110204981.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-24
Publication Date
2025-05-09
Estimated Expiration
2041-02-24

AI Technical Summary

Technical Problem

In a multi-robot collaboration environment, how to implement reasonable and efficient resource scheduling of multiple robots to maximize resource utilization and avoid resource waste.

Method used

Through a decision-making method for real-time resource allocation of multiple robots, the first algorithm is used to select the optimal resource, and the second algorithm is used to queue up the robots that acquire resources to determine the first robot usage resources.

Benefits of technology

Multiple robots are realized to travel arbitrarily in the same building, maximize the utilization of equipment resources and avoid resource waste. This method is easy to implement and understand, and is suitable for many-to-many resource allocation scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112990667B_ABST
    Figure CN112990667B_ABST
Patent Text Reader

Abstract

The present application relates to a decision-making method, electronic device and storage medium for real-time resource allocation of multiple robots. The method comprises the following steps: selecting the currently optimal resource through a first algorithm according to the allocated resources to obtain a determined resource; estimating a first time for the determined resource to reach the destination, and estimating a second time for the robot to reach the destination; requesting to obtain the determined resource when the time difference between the second time and the first time is equal to a preset value; queuing multiple robots that have obtained the determined resource through a second algorithm to obtain a queueing order of the multiple robots; and determining that a robot at the top of the queueing order uses the determined resource, so that multiple robots can move freely in the same building, so that multiple robots can pass through gates, automatic doors, elevators and other equipment resources at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and in particular to a decision-making method, electronic device and storage medium for real-time resource allocation of multiple robots. Background Art

[0002] Multiple robots have incomparable advantages over a single robot, such as parallelism, flexibility and other superior performance. As a product with social value, in practical applications, it is difficult for a single robot to complete tasks within an effective time that require the collaboration of multiple robots (such as: cooperative delivery of takeout, cooperative building inspections, etc.).

[0003] Robots with autonomous mobility need to pass through various equipment resources such as gates, automatic doors, and elevators when traveling between floors. As the number of robots gradually increases, the number of various equipment resources is limited. Therefore, multiple robots need to be reasonably and efficiently scheduled to maximize resource utilization and avoid resource waste.

[0004] Therefore, it is expected to provide a decision-making method for real-time resource allocation of multiple robots, so that multiple robots can move freely in the same building and maximize the utilization of various equipment resources. Summary of the invention

[0005] In order to overcome the problems existing in the related technology, the present application provides a decision-making method, electronic device and storage medium for real-time resource allocation of multiple robots, aiming to solve the problem of how to reasonably and efficiently schedule multiple robots to maximize the utilization of resources and avoid waste of resources.

[0006] The technical solution of the present application to solve the above-mentioned technical problems is as follows: a decision-making method for real-time resource allocation of multiple robots, comprising the following steps: Step 1, according to the allocated resources, select the current optimal resource through a first algorithm to obtain a determined resource; Step 2, estimate the first time for the determined resource to reach the destination, and estimate the second time for the robot to reach the destination; Step 3, when the time difference between the second time and the first time is equal to a preset value, request to obtain the determined resource; Step 4, queue multiple robots that have obtained the determined resource through a second algorithm to obtain a queue order of multiple robots; Step 5, determine that a robot ranked first in the queue order uses the determined resource.

[0007] Preferably, resources are allocated to the robots via a central server.

[0008] Preferably, resources are acquired in real time through the server of the robot.

[0009] Preferably, before the currently optimal resource is selected by the first algorithm to obtain the determined resource, the first algorithm continuously selects the resource in a fixed time sequence.

[0010] Preferably, when the first algorithm continuously selects resources at a fixed time sequence, it is determined whether the resources selected for the first time are the same as the resources selected for the second time.

[0011] Preferably, when the resource selected for the first time is different from the resource selected for the second time, the resource selected for the second time is filtered by a filtering algorithm to obtain the determined resource.

[0012] Preferably, when requesting to obtain the determined resource, each robot communicates with other robots in a complementary manner of 2.4G and 4G.

[0013] Preferably, when queuing multiple robots that have obtained the determined resources through a second algorithm, obtaining the queuing order of the multiple robots also includes the following steps: obtaining the robot's own information to obtain first input data; collecting information of other robots that have obtained the determined resources to obtain second input data; inputting the first input data and the second input data into the second algorithm, so that each of the robots obtains the same queuing order.

[0014] A second aspect of an embodiment of the present application provides an electronic device, including:

[0015] processor; and one or more processors; one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method as described above.

[0016] According to a third aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.

[0017] The present application provides a decision-making method, electronic device and storage medium for real-time resource allocation of multiple robots. The method comprises: selecting the currently optimal resource through a first algorithm through the allocated resources to obtain the determined resource; estimating the first time for the determined resource to reach the destination, and estimating the second time for the robot to reach the destination; when the time difference between the second time and the first time is equal to a preset value, requesting to obtain the determined resource; queuing the multiple robots that have obtained the determined resource through a second algorithm to obtain the queueing order of the multiple robots; determining that a robot ranked first in the queueing order uses the determined resource, thereby allowing multiple robots to arbitrarily travel in the same building, so that multiple robots can pass through equipment resources such as gates / automatic doors / elevators at the same time. This method is easy to implement, easy for humans to understand, similar to human behavior, easy to expand, and can be easily used in many-to-many resource allocation scenarios to achieve resource occupation, monopoly, queuing and other effects.

[0018] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objects, features and advantages of the present application will become more apparent through a more detailed description of exemplary embodiments of the present application in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of the present application.

[0020] Figure 1 is a flowchart of a decision method for real-time resource allocation of multiple robots shown in an embodiment of the present application;

[0021] Figure 2 is another flowchart of a decision-making method for real-time resource allocation of multiple robots shown in an embodiment of the present application;

[0022] Figure 3 It is a schematic diagram of the structure of an electronic device shown in an embodiment of the present application. DETAILED DESCRIPTION

[0023] The preferred embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.

[0024] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0025] It should be understood that although the terms "first", "second", "third", etc. may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.

[0026] The technical solution of the embodiments of the present application is described in detail below with reference to the accompanying drawings.

[0027] See also Figure 1 , Figure 1 This is a flow chart of a decision method for real-time resource allocation of multiple robots shown in the first embodiment of the present application, as shown in FIG. Figure 1 As shown, the method comprises the following steps:

[0028] Step S1, according to the allocated resources, the currently optimal resources are selected by a first algorithm to obtain determined resources.

[0029] Specifically, when allocating resources, resources are allocated to the robots through a central server, wherein a set of available resources is given to all robots, such as gates, automatic doors, and elevators. The resources allocated to each robot by the central server may be the same or different. Multiple robots will each select from the available resource pool. Usually, a set of available resources is a set of resources with the same capabilities, such as: all elevators in the same elevator hall that can reach the same target floor are a set of available resources.

[0030] In one embodiment, the resources are obtained in real time by the server of the robot. In other embodiments, the resources can be input to the robot from the outside, the resources can also be hard-coded in the robot's program; or the resources are determined when the robot's program is started.

[0031] In one of the embodiments, before the first algorithm selects the current optimal resource and obtains the determined resource, the first algorithm continuously selects the resource at a fixed timing. When the first algorithm continuously selects the resource at a fixed timing, it is determined whether the resource selected for the first time is the same as the resource selected for the second time. When the resource selected for the first time is different from the resource selected for the second time, the resource selected for the second time is filtered by a filtering algorithm to obtain the determined resource.

[0032] All robots use the same set of selection algorithms, that is, all robots use the first algorithm to select the current optimal resource. The robot needs to continue selecting resources before determining that it can use them, and select them at a shorter fixed time sequence, that is, before the first algorithm selects the current optimal resource and obtains the determined resource, the first algorithm continues to select resources at a fixed time sequence. Each time, the first algorithm gives an optimal solution, that is, outputs an optimal resource. If the output result is different from the last time, the output result needs to be passed through the filtering algorithm. If the output result successfully passes the filtering, it is determined that the robot selects the resource, that is, the determined resource is obtained. The filtering algorithm is to prevent the result from jittering and avoid the result of the robot's selection from changing all the time. The filtering algorithm is mainly used to reduce the jitter of the optimal resource caused by the jitter of various data obtained by the robot and the sensors in the real world. The filtering algorithm is also used when multiple robots select the same resource at the same time. According to the differences in the filtering algorithms of each robot, it is exclusive, so that the robot that is more suitable for the resource keeps selecting the resource first.

[0033] Step S2, estimating the first time it takes for the determined resource to reach the destination, and estimating the second time it takes for the robot to reach the destination.

[0034] Step S3: When the time difference between the second time and the first time is equal to a preset value, request to obtain the determined resource.

[0035] In one embodiment, the timing of starting the request can be dynamically determined. When the determined resource is an elevator resource, the time it takes for the elevator to arrive at the destination is estimated, and the time it takes for the robot to move to the elevator door is estimated. If the estimated elevator arrival time is greater than the estimated time it takes for the robot to approach the elevator door, the robot can start requesting the elevator resource. In this way, the elevator arrives at the same time as the robot arrives at the elevator door, thereby achieving the effect of calling the elevator in advance but not too early.

[0036] The determined resources in the process of resource allocation and resource selection will not be known by other robots or the resources themselves, and only exist in the robot's own thinking.

[0037] In the process of requesting to obtain resources, the robot will transmit the determined resources in the allocation selection process to other robots through mutual communication between robots. In one example, when requesting to obtain the determined resources, each robot communicates with other robots through the complementary method of 2.4g and 4g. That is, robots send the agreed fields in the multi-machine protocol through the complementary method of 2.4g and 4g so that multiple robots can communicate with each other.

[0038] In the process of requesting to obtain resources, the request command only needs to be updated every time the determined resource changes, and the request command is continuously sent to other robots at a preset timing.

[0039] Step S4, queuing the multiple robots that have obtained the determined resources using a second algorithm to obtain a queuing order of the multiple robots.

[0040] Step S5, determining a robot that ranks first in the queue to use the determined resource.

[0041] Specifically, the second algorithm is a queuing algorithm. All robots will use the same queuing algorithm, that is, multiple robots that obtain the determined resource use the same queuing algorithm. When multiple robots select and request the same resource, the second algorithm must ensure the order of use of multiple robots. That is, the multiple robots that obtain the determined resource are queued by the second algorithm to obtain the queuing order of the multiple robots. The calculation of the queuing order is, for example, based on the robot's own positioning, the distance and angle between the robot and the target resource are calculated to determine which robot can pass faster. The second algorithm will prioritize the robot. Among them, the second algorithm should ensure that the robot that is currently most suitable for using the resource is ranked first in the queuing order when calculating the queuing result. The queuing order does not need to be transmitted in the communication. The robots only share their own positions, cost scores and other information.

[0042] When the robot uses the determined resource, if it is determined that the current robot can use a certain allocated resource, there is no need to continue the queuing process, and the conditions for use should at least include:

[0043] 1. The robot has requested and is requesting the resource;

[0044] 2. The robot is ranked first in the queue order;

[0045] 3. The physical environment is in a state where the resource can be used immediately (e.g. the robot is waiting at the elevator entrance)

[0046] 4. The requested resource is available (e.g. the elevator has reached the current floor and has opened its door and stopped).

[0047] In this embodiment, the current optimal resource is selected through the first algorithm to obtain the determined resource. When requesting to obtain the determined resource, each robot communicates with other robots in a complementary manner of 2.4G and 4G, so that multiple robots can communicate with each other in real time in a many-to-many manner, so that the robots themselves use resources with a certain consensus and realize the decision-making of real-time resource allocation of multiple robots; the multiple robots that obtain the determined resources are queued through the second algorithm to obtain the queueing order of the multiple robots. The queueing order does not need to be transmitted in the communication. The robots only share their own positions, cost scores and other information, so that the robots can continuously change the most suitable resource allocation results according to the changes in the on-site environment, thereby achieving the effect of multiple robots queuing to use resources.

[0048] See also Figure 2 , Figure 2 This is another flowchart of a decision method for real-time resource allocation of multiple robots shown in the second embodiment of the present application. The second embodiment adds the following steps on the basis of the above embodiment, as follows:

[0049] The plurality of robots that have obtained the determined resources are queued by the second algorithm to obtain the queue order of the plurality of robots, and the following steps are also included:

[0050] Step S101, acquiring the robot's own information to obtain first input data;

[0051] Step S102, collecting information of other robots that have acquired the determined resource to obtain second input data;

[0052] Step S103, inputting the first input data and the second input data into the second algorithm, so that each of the robots obtains the same queuing order.

[0053] Specifically, each robot will use its own information and the information received from other robots using the same resources to input the same queuing algorithm, so that each robot can reach the same priority conclusion. In this way, the queuing order does not need to be transmitted in the communication of multiple robots, thereby achieving rapid response resource allocation.

[0054] In this embodiment, the current optimal resource is selected through the first algorithm to obtain the determined resource. When requesting to obtain the determined resource, each robot communicates with other robots in a complementary manner of 2.4G and 4G, so that multiple robots can communicate with each other in real time in a many-to-many manner, so that the robots themselves use resources with a certain consensus and realize the decision-making of real-time resource allocation of multiple robots; the multiple robots that obtain the determined resources are queued through the second algorithm to obtain the queueing order of the multiple robots. The queueing order does not need to be transmitted in the communication. The robots only share their own positions, cost scores and other information, so that the robots can continuously change the most suitable resource allocation results according to the changes in the on-site environment, thereby achieving the effect of multiple robots queuing to use resources.

[0055] Figure 3 It is a schematic diagram of the structure of an electronic device shown in an embodiment of the present application.

[0056] See also Figure 3 , the electronic device 400 includes a memory 410 and a processor 420.

[0057] The processor 420 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.

[0058] The memory 410 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. Among them, ROM can store static data or instructions required by the processor 1020 or other modules of the computer. The permanent storage device may be a readable and writable storage device. The permanent storage device may be a non-volatile storage device that does not lose the stored instructions and data even after the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (such as a magnetic or optical disk, flash memory) as a permanent storage device. In some other embodiments, the permanent storage device may be a removable storage device (such as a floppy disk, optical drive). The system memory may be a readable and writable storage device or a volatile readable and writable storage device, such as a dynamic random access memory. The system memory may store some or all instructions and data required by the processor at run time. In addition, the memory 410 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and disks and / or optical disks may also be used. In some embodiments, the memory 410 may include a readable and / or writable removable storage device, such as a laser disc (CD), a read-only digital versatile disc (such as a DVD-ROM, a double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (such as an SD card, a mini SD card, a Micro-SD card, etc.), a magnetic floppy disk, etc. The computer-readable storage medium does not include carrier waves and transient electronic signals transmitted wirelessly or wired.

[0059] The memory 410 stores executable codes, and when the executable codes are processed by the processor 420 , the processor 420 can execute part or all of the methods described above.

[0060] The scheme of the present application has been described in detail above with reference to the accompanying drawings. In the above embodiments, the description of each embodiment has its own emphasis. For the part that is not described in detail in a certain embodiment, refer to the relevant description of other embodiments. Those skilled in the art should also know that the actions and modules involved in the description are not necessarily required for the present application. In addition, it can be understood that the steps in the method of the embodiment of the present application can be adjusted in order, merged and deleted according to actual needs, and the modules in the device of the embodiment of the present application can be merged, divided and deleted according to actual needs.

[0061] In addition, the method according to the present application may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing some or all of the steps in the above method of the present application.

[0062] Alternatively, the present application can also be implemented as a non-temporary machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored. When the executable code (or computer program, or computer instruction code) is executed by a processor of an electronic device (or electronic device, server, etc.), the processor executes part or all of the steps of the above-mentioned method according to the present application.

[0063] Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the application herein may be implemented as electronic hardware, computer software, or a combination of both.

[0064] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system and method according to multiple embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a part of a module, a program segment or a code, and the part of the module, the program segment or the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or the flow chart, and the combination of the square boxes in the block diagram and / or the flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0065] The embodiments of the present application have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A decision-making method for real-time resource allocation of multiple robots, characterized in that: The following steps are involved: Step 1, according to the allocated resources, the currently optimal resources are selected by a first algorithm to obtain determined resources; when allocating resources, the resources are allocated to the robots through a central server, wherein a group of available resources are respectively given to all robots, and multiple robots will each select from the available resource pool; wherein the determined resources in the process of resource allocation and resource selection will not be known by other robots or the resources themselves; Step 2, estimating a first time for the determined resource to reach the destination, and estimating a second time for the robot to reach the destination; Step 3: when the time difference between the second time and the first time is equal to a preset value, request to obtain the determined resource; Step 4, queuing the multiple robots that have obtained the determined resources by using a second algorithm to obtain a queuing order of the multiple robots; Step 5: Determine a robot that ranks first in the queue to use the determined resource.

2. The decision-making method for real-time resource allocation of multiple robots according to claim 1 is characterized in that: The resources are acquired in real time through the server of the robot.

3. The decision-making method for real-time resource allocation of multiple robots according to claim 1 is characterized in that: Before the currently optimal resource is selected by the first algorithm and the determined resource is obtained, the first algorithm continuously selects the resource in a fixed time sequence.

4. The decision-making method for real-time resource allocation of multiple robots according to claim 3 is characterized in that: When the first algorithm continuously selects resources in a fixed time sequence, it is determined whether the resource selected for the first time is the same as the resource selected for the second time.

5. The decision-making method for real-time resource allocation of multiple robots according to claim 4 is characterized in that: When the resource selected for the first time is different from the resource selected for the second time, the resource selected for the second time is filtered by a filtering algorithm to obtain a determined resource.

6. The decision-making method for real-time resource allocation of multiple robots according to claim 1, characterized in that: When requesting to obtain the determined resource, each robot communicates with other robots in a complementary manner of 2.4G and 4G.

7. The decision-making method for real-time resource allocation of multiple robots according to claim 1, characterized in that: The plurality of robots that have obtained the determined resources are queued by the second algorithm to obtain the queue order of the plurality of robots, and the following steps are also included: Acquire the robot's own information to obtain first input data; Collecting information of other robots that have acquired the determined resource to obtain second input data; The first input data and the second input data are input into the second algorithm so that each of the robots obtains the same queuing order.

8. An electronic device, comprising: Memory; one or more processors; One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for executing any one of the methods according to claims 1-7.

9. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the decision-making method for real-time resource allocation of multiple robots as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Robot elevator taking control method, medium, terminal and device

    CN110921444A

  • Elevator control device, information processing device, elevator control system, and control method for elevator control device

    JP6819742B1