Method for using multi-robot real-time computing resources
By using the first algorithm to select the optimal resource and the second algorithm for robot queueing in a multi-robot collaboration environment, the multi-robot scheduling problem is solved, and efficient utilization of resources and avoiding waste is achieved.
Patent Information
- Application Number
- CN202110204886.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-24
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-02-24
AI Technical Summary
In a multi-robot collaboration environment, how to achieve reasonable and efficient scheduling of multiple robots to maximize the use of limited equipment resources and avoid resource waste.
The first algorithm selects the optimal resource, and queues multiple robots through the second algorithm, adjusts the queueing order according to the priority strategy, and determines the resource used by the first robot.
Multiple robots are realized to travel arbitrarily in the same building, maximize the utilization of equipment resources, avoid resource waste, and the methods are easy to implement and expand.
Smart Images

Figure CN112819367B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a method for using real-time computing resources of multiple robots, an electronic device, and a storage medium. 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 the use of resources and avoid waste of resources.
[0004] Therefore, it is desired to provide a method for using multi-robot real-time computing resources, so that multiple robots can move freely in the same building, thereby maximizing 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 multi-robot real-time computing resource usage method, electronic device and storage medium, aiming to solve the problem of how to reasonably and efficiently schedule multiple robots to maximize the utilization of resources and avoid resource waste.
[0006] The technical solution of the present application to solve the above-mentioned technical problems is as follows: a method for using real-time computing resources by multiple robots, comprising the following steps: Step 1, selecting the current optimal resource through a first algorithm according to the allocated resources to obtain a determined resource; Step 2, requesting to obtain the determined resource and obtaining a request result; Step 3, queuing multiple robots in the request result through a second algorithm to obtain a queue order; Step 4, adjusting the queue order according to a priority strategy; Step 5, determining, according to the adjusted queue order, a robot at the top of the queue order to use the determined resource.
[0007] Preferably, the second algorithm is a queuing algorithm, comprising the following steps: Step 101, obtaining the robot's own ID to obtain the robot's ID information; Step 102, obtaining the robot's position information under the machine map to obtain the robot's first position information; Step 103, obtaining the resource's position information under the machine map to obtain the second position information; Step 104, inputting the robot's ID information, the robot's first position information and the second position information into a distributed calculator to obtain the distance between the robot and the resource, and the deflection angle between the robot and the resource.
[0008] Preferably, the robot's own ID is pre-set by a middle station manager, and the middle station manager ensures that the ID information of each robot is unique.
[0009] Preferably, the multiple robots include a first robot and a second robot, and queuing the multiple robots in the request result through the second algorithm to obtain the queuing order also includes the following steps: inputting the ID information of the first robot, the first position information of the first robot, and the second position information of the first robot into the distributed calculator to obtain the first distance between the first robot and the resource, and the first deflection angle between the first robot and the resource; inputting the ID information of the second robot, the first position information of the second robot, and the second position information of the second robot into the distributed calculator to obtain the second distance between the second robot and the resource, and the second deflection angle between the second robot and the resource; comparing the value of the first distance with the value of the second distance, if the value of the first distance is greater than the value of the second distance, then in the queuing order, the second robot is placed in front of the first robot.
[0010] Preferably, according to the priority strategy, adjusting the queuing order also includes the following steps: comparing the first distance with the second distance to obtain the absolute value of the distance difference; when the absolute value of the distance difference is less than a first preset value, comparing the value of the first deflection angle with the value of the second deflection angle; if the value of the first deflection angle is less than the value of the second deflection angle, adjusting the queuing order according to the priority strategy to place the first robot in front of the second robot.
[0011] Preferably, according to the priority strategy, adjusting the queue order also includes the following steps: comparing the first deflection angle with the second deflection angle to obtain the absolute value of the angle difference; when the absolute value of the angle difference is less than a second preset value, comparing the value of the ID information of the first robot with the value of the ID information of the second robot; if the value of the ID information of the first robot is greater than the value of the ID information of the second robot, adjusting the queue order according to the priority strategy to place the second robot in front of the first robot.
[0012] Preferably, the first preset value is 1 or 0, and the second preset value is 1 or 0.
[0013] Preferably, before the first algorithm selects the currently optimal resource and obtains the determined resource, the first algorithm continuously selects the resource in a fixed time sequence.
[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 method for using real-time computing resources of multiple robots, an electronic device and a storage medium. The method comprises the following steps: selecting the currently optimal resource through a first algorithm through the allocated resources to obtain a determined resource; requesting to obtain the determined resource to obtain a request result; queuing multiple robots in the request result through a second algorithm to obtain a queue order; adjusting the queue order according to a priority strategy; and determining, according to the adjusted queue order, a robot at the top of the queue order to use the determined resource, so that multiple robots can move freely in the same building, so that multiple robots can pass through equipment resources such as gates / automatic doors / elevators at the same time. The method is easy to implement, easy to understand for humans, 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 method for using multi-robot real-time computing resources shown in an embodiment of the present application;
[0021] Figure 2 is another flowchart of a method for using multi-robot real-time computing resources 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 method for using multi-robot real-time computing resources according to the first embodiment of the present application. 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: request to obtain the determined resource and obtain the request result.
[0034] In one embodiment, a first time for the determined resource to arrive at the destination is estimated, and a second time for the robot to arrive at the destination is estimated; when the time difference between the second time and the first time is equal to a third preset value, multiple robots respectively request to obtain the determined resources to obtain request results, wherein the request result can be that multiple robots simultaneously request the same 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 S3, queuing the multiple robots in the request result by using a second algorithm to obtain a queuing order.
[0040] Specifically, the second algorithm is a queuing algorithm. All robots will use the same queuing algorithm. When multiple robots select and request the same resource, the second algorithm must ensure the order of use of the multiple robots. That is, the multiple robots in the request result are queued by the second algorithm to obtain a queuing order. 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 the queuing result is calculated. The queuing order does not need to be transmitted in the communication. Robots only share their own positions, cost scores and other information.
[0041] Please refer to Figure 2 , Figure 2 The flowchart of the method for using multi-robot real-time computing resources is shown in the second embodiment of the present application. The second embodiment adds the following steps to the above embodiment: the second algorithm is a queuing algorithm, including the following steps:
[0042] Step S101, obtaining the robot's own ID, and obtaining the robot's ID information.
[0043] Specifically, the robot's own ID is pre-set by a middle station manager, and the middle station manager ensures that the ID information of each robot is unique.
[0044] Step S102, obtaining the position information of the robot under the machine map to obtain the first position information of the robot.
[0045] Specifically, the first position information of the robot is (x1, y1, th1), which is the coordinates of the robot in the robot map coordinate system.
[0046] Step S103, obtaining the location information of the resource under the machine map to obtain the second location information.
[0047] Specifically, the second location information is (x2, y2, th2), which is the coordinates of the resource in the machine map coordinate system.
[0048] Step S104, inputting the robot's ID information, the robot's first position information, and the robot's second position information into a distributed calculator to obtain the distance between the robot and the resource, and the deflection angle between the robot and the resource.
[0049] Specifically, the input of the distributed calculator is: the ID information of the robot, the first position information (x1, y1, th1) of the robot and the second position information (x2, y2, th2), and the calculation formula of the distributed calculator is:
[0050] The distance between the robot and the resource is
[0051]
[0052] The deflection angle between the robot and the resource is:
[0053] delta_theta=ABS(th1 / β-th2 / β);
[0054] Wherein: α is a constant. The role of α is to reduce the unit accuracy of the robot's coordinates and the resource's coordinates, avoid frequent jitters in the output results, and also reduce the possibility of inconsistent output results. It can be determined according to the positioning accuracy. In this embodiment, α is set to 200 mm.
[0055] Among them: β is also a constant. The role of β is to reduce the unit accuracy of the deflection angle calculation between the robot and the resource, avoid frequent jitter of the output results, and also reduce the inconsistency of the output results. It can be determined according to the positioning accuracy. In this embodiment, β is usually set to 1°.
[0056] In one embodiment, the plurality of robots include a first robot and a second robot, and queuing the plurality of robots in the request result by using the second algorithm to obtain the queuing order further includes the following steps:
[0057] Inputting the ID information of the first robot, the first position information of the first robot, and the second position information into the distributed calculator to obtain a first distance between the first robot and the resource, and a first deflection angle between the first robot and the resource;
[0058] Inputting the ID information of the second robot, the first position information of the second robot and the second position information into the distributed calculator to obtain a second distance between the second robot and the resource, and a second deflection angle between the second robot and the resource;
[0059] The value of the first distance is compared with the value of the second distance. If the value of the first distance is greater than the value of the second distance, the second robot is arranged in front of the first robot in the queuing order.
[0060] Specifically, in this embodiment, the robot closest to the resource has priority in using the resource, that is, the robot with the shortest distance to the resource is ranked first in the queue.
[0061] Step S4: adjusting the queuing order according to the priority strategy.
[0062] Step S5, according to the adjusted queueing order, determining a robot at the top of the queueing order to use the determined resource.
[0063] In one embodiment, adjusting the queuing order according to the priority strategy further comprises the following steps:
[0064] Comparing the first distance with the second distance to obtain an absolute value of the distance difference;
[0065] When the absolute value of the distance difference is less than a first preset value, comparing the value of the first deflection angle with the value of the second deflection angle;
[0066] If the value of the first deflection angle is smaller than the value of the second deflection angle, the queuing order is adjusted according to a priority strategy to place the first robot in front of the second robot.
[0067] In this embodiment, when the distances between the two robots and the resource are the same, or the distances are slightly different (that is, when the absolute value of the distance difference between the two robots is less than the first preset value), the priority of the queue is determined by the deflection angle between the robot and the resource, and the robot with the smaller deflection angle between the robot and the resource has priority (that is, the smallest delta_theta).
[0068] In one embodiment, adjusting the queuing order according to the priority strategy further comprises the following steps:
[0069] Comparing the first deflection angle with the second deflection angle to obtain an absolute value of an angle difference;
[0070] When the absolute value of the angle difference is less than a second preset value, comparing the value of the ID information of the first robot with the value of the ID information of the second robot;
[0071] If the value of the ID information of the first robot is greater than the value of the ID information of the second robot, the queuing order is adjusted according to the priority strategy to place the second robot in front of the first robot.
[0072] In this embodiment, when the distances between the two robots and the resource are the same or differ slightly, and the deflection angles between the two robots and the resource are also the same or differ slightly (that is, when the absolute value of the delta_theta difference between the two robots is less than the second preset value), the queuing order of the robots is guaranteed by the size of the robot ID values, so that when the relative positions of the robots and the resources are almost the same, the priority strategy can absolutely guarantee that only one robot will be ranked first, because the robot ID information can ensure that there is only one robot in an interoperable mobile space.
[0073] In this embodiment, the first preset value is 1 or 0, and the second preset value is 1 or 0.
[0074] 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:
[0075] 1. The robot has requested and is requesting the resource;
[0076] 2. The robot is ranked first in the queue order;
[0077] 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)
[0078] 4. The requested resource is available (e.g. the elevator has reached the current floor and has opened its door and stopped).
[0079] In this embodiment, the current optimal resource is selected by 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, so that the robots themselves use resources with a certain consensus, and realize the decision of real-time resource allocation of multiple robots; the multiple robots in the request result are queued by the queuing algorithm to obtain the queuing order. The queuing 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, so as to achieve the effect of multiple robots queuing to use resources; the queuing algorithm and the priority strategy can ensure that the robot as close to the resource as possible is prioritized in the first place in the queuing order. This method is in line with human intuition, and when it is difficult to distinguish the queuing order of multiple robots, according to the priority strategy, the robot's ID strategy is used as a backup to ensure that there is absolutely no conflict when multiple robots use the same resource, so that each resource is used by only one corresponding robot, so as to achieve the effect of multiple robots queuing to use resources.
[0080] Figure 3 It is a schematic diagram of the structure of an electronic device shown in an embodiment of the present application.
[0081] See also Figure 3 , the electronic device 400 includes a memory 410 and a processor 420.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] 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 method for using multi-robot real-time computing resources, 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; Step 2, requesting to obtain the determined resource and obtaining the request result; Step 3, queuing the multiple robots in the request result by using a second algorithm to obtain a queuing order; Step 4, adjusting the queuing order according to the priority strategy; Step 5, according to the adjusted queue order, determining a robot at the top of the queue order to use the determined resource; The second algorithm is a queuing algorithm, comprising the following steps: Step 101, obtaining the robot's own ID and obtaining the robot's ID information; Step 102, obtaining the position information of the robot under the machine map to obtain the first position information of the robot; Step 103, obtaining the location information of the resource under the machine map to obtain the second location information; Step 104, inputting the ID information of the robot, the first position information of the robot, and the second position information of the robot into a distributed calculator to obtain the distance between the robot and the resource, and the deflection angle between the robot and the resource; The robot's own ID is pre-set by a middle station manager, and the middle station manager ensures that the ID information of each robot is unique; The multiple robots include a first robot and a second robot. Queuing the multiple robots in the request result by using the second algorithm to obtain a queuing order further includes the following steps: Inputting the ID information of the first robot, the first position information of the first robot, and the second position information into the distributed calculator to obtain a first distance between the first robot and the resource, and a first deflection angle between the first robot and the resource; Inputting the ID information of the second robot, the first position information of the second robot and the second position information into the distributed calculator to obtain a second distance between the second robot and the resource, and a second deflection angle between the second robot and the resource; Comparing the value of the first distance with the value of the second distance, if the value of the first distance is greater than the value of the second distance, arranging the second robot ahead of the first robot in the queuing order; According to the priority strategy, adjusting the queuing order further comprises the following steps: Comparing the first distance with the second distance to obtain an absolute value of the distance difference; When the absolute value of the distance difference is less than a first preset value, comparing the value of the first deflection angle with the value of the second deflection angle; If the value of the first deflection angle is smaller than the value of the second deflection angle, adjusting the queue order according to the priority strategy so that the first robot is arranged in front of the second robot; According to the priority strategy, adjusting the queuing order further comprises the following steps: Comparing the first deflection angle with the second deflection angle to obtain an absolute value of an angle difference; When the absolute value of the angle difference is less than a second preset value, comparing the value of the ID information of the first robot with the value of the ID information of the second robot; If the value of the ID information of the first robot is greater than the value of the ID information of the second robot, the queuing order is adjusted according to the priority strategy to place the second robot in front of the first robot.
2. The method for using multi-robot real-time computing resources according to claim 1, characterized in that: The first preset value is 1 or 0, and the second preset value is 1 or 0.
3. The method for using multi-robot real-time computing resources according to claim 1, 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. 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-3.
5. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the multi-robot real-time computing resource usage method described in any one of claims 1 to 3 is implemented.
Citation Information
Patent Citations
Method and device for scheduling travel paths of robots
CN109164805A
Robot elevator taking control method, medium, terminal and device
CN110921444A