CN108789409B - Robot control method, device, medium and robot cluster - Google Patents

Robot control method, device, medium and robot cluster Download PDF

Info

Publication number
CN108789409B
CN108789409B CN201810642825.1A CN201810642825A CN108789409B CN 108789409 B CN108789409 B CN 108789409B CN 201810642825 A CN201810642825 A CN 201810642825A CN 108789409 B CN108789409 B CN 108789409B
Authority
CN
China
Prior art keywords
robot
instruction
accounting
robots
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810642825.1A
Other languages
Chinese (zh)
Other versions
CN108789409A (en
Inventor
陈熙
刘雪梅
李法设
杨跞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siasun Co Ltd
Original Assignee
Siasun Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siasun Co Ltd filed Critical Siasun Co Ltd
Priority to CN201810642825.1A priority Critical patent/CN108789409B/en
Publication of CN108789409A publication Critical patent/CN108789409A/en
Application granted granted Critical
Publication of CN108789409B publication Critical patent/CN108789409B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

The embodiment of the invention discloses a robot control method, a device, a medium and a robot cluster, and relates to the field of robots. The method comprises the following steps: determining accounting robots as accounting nodes from a robot cluster based on a set consensus mechanism, generating instructions by the accounting robots and sending the instructions to other robots, wherein each robot in the robot cluster is used as a node; and determining the execution robot of the instruction according to the instruction and the current state of the robot. The embodiment of the invention provides a robot control method, a device, a medium and a robot cluster, which realize that multiple robots automatically cooperate to complete a target task under the command of no background system.

Description

Robot control method, device, medium and robot cluster
Technical Field
The embodiment of the invention relates to the field of robots, in particular to a robot control method, a device, a medium and a robot cluster.
Background
A robot is a machine device that automatically performs work. Often the robot can perform tasks separately. When the task is complex, a plurality of robots are needed to complete the target task together by dividing work, and the plurality of robots form a robot cluster.
Currently, cooperative control of a robot cluster requires a background system for motion planning of each robot in the robot cluster. And sending an instruction to each robot in the robot cluster through the background computer.
However, once the communication between the robots in the robot cluster and the background computer fails, or the robot implementing a certain assigned division of labor cannot work normally, the target task of the whole robot cluster cannot be implemented.
Disclosure of Invention
The embodiment of the invention provides a robot control method, a device, a medium and a robot cluster, which aim to realize that multiple robots automatically cooperate to complete a target task under the command of no background system.
In a first aspect, an embodiment of the present invention provides a robot control method, where the method includes:
determining accounting robots as accounting nodes from a robot cluster based on a set consensus mechanism, wherein each robot in the robot cluster serves as one node, generating instructions by the accounting robots and sending the instructions to other robots;
and determining the execution robot of the instruction according to the instruction and the current state of the robot.
In a second aspect, an embodiment of the present invention further provides a robot control apparatus, where the apparatus includes:
the command right determining module is used for determining accounting robots serving as accounting nodes from the robot cluster based on a set consensus mechanism, wherein each robot in the robot cluster serves as one node, and the accounting robots generate instructions and send the instructions to other robots;
and the execution main body determining module is used for determining the execution robot of the instruction according to the instruction and the current state of the robot.
In a third aspect, the present invention further provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the robot control method according to any one of the embodiments of the present invention.
In a fourth aspect, an embodiment of the present invention further provides a robot cluster, including at least two robots, where the robots include:
communication means for communicating with other robots in the robot cluster;
the state acquisition device is used for acquiring the state of the machine;
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the robot control method according to any one of the embodiments of the present invention.
In the embodiment of the invention, each robot in the robot cluster is regarded as a node, the accounting robot is determined from the cluster by using a consensus mechanism, and the accounting robot generates a control instruction and sends the control instruction to other robots. Therefore, the robots in the robot cluster automatically cooperate to complete tasks without the command of a background system.
In addition, by determining the robot executing the instructions according to the instructions and the local state, the robot executing the instructions can be determined according to the actual state of the robot, so that the execution speed and the accuracy of the instructions can be improved.
Drawings
Fig. 1 is a flowchart of a robot control method according to an embodiment of the present invention;
fig. 2 is a flowchart of a robot control method according to a second embodiment of the present invention;
fig. 3 is a flowchart of a robot control method according to a third embodiment of the present invention;
fig. 4 is a flowchart of a robot control method according to a fourth embodiment of the present invention;
fig. 5 is a schematic structural diagram of a robot control device according to a fifth embodiment of the present invention;
fig. 6 is a schematic structural diagram of a robot according to a seventh embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a flowchart of a robot control method according to an embodiment of the present invention. The embodiment can be suitable for the situation that the robot cluster is not controlled by a background system and automatically completes a certain task in a cooperative manner. The method may be performed by a robotic control device, which may be implemented in software and/or hardware. Typically the apparatus may be a robot in a robot cluster. Referring to fig. 1, the robot control method according to the present embodiment includes:
s110, determining the accounting robot serving as an accounting node from the robot cluster based on a set consensus mechanism, generating an instruction by the accounting robot and sending the instruction to other robots.
Wherein each robot in the robot cluster is considered as a node. The multiple robots in the robot cluster thus form multiple nodes within the network. At least one accounting node may be determined from a plurality of nodes within the network based on a consensus mechanism. And taking the robot corresponding to the accounting node as an accounting robot. Accordingly, the following description will be made based directly on the accounting robot.
Optionally, the set consensus mechanism may be any consensus mechanism in the prior art, and may be a POW consensus mechanism for workload certification, a pos consensus mechanism based on equity certification, a dps consensus mechanism combined with voting equity certification, a consensus mechanism based on byzantine fault tolerance, and the like. The present embodiment does not set any limit to this.
Typically, the consensus mechanism is configured to determine the billing robot based on the voting results and the amount of assets bid by the billing robot for the battle director robot.
The voting result is related to the environment parameters of the voted robot and the preference parameters of the voted robot. The environment parameter may be any physical parameter, such as distance, position, speed and/or temperature, and the like, and the preference parameter for the voted robot is a preference degree parameter for the voted robot. Thus, the determination of the accounting robot takes into account the environment parameters and preference parameters of the voted robot, thereby avoiding the robot's repugnance in competing for the accounting robot.
The accounting robot is a robot with command authority, and at least one robot in the robot cluster is controlled to act through the generated instruction. The accounting robot stores the target tasks of the robot cluster or part of the tasks specified in the target tasks, and the tasks can be pre-stored or learned from the execution information of the robot cluster recorded by the block chain. Where the target task may be any task. The specific setting can be according to actual need.
Specifically, the accounting robot may generate the instructions directly according to the stored target tasks.
Optionally, the process of generating the instructions by the accounting robot can also be described as follows:
the accounting robot acquires the current state of each robot in the robot cluster;
and the accounting robot generates a control instruction according to the current state and the target tasks of the robot cluster or part of tasks appointed in the target tasks.
Determining a control instruction based on the current state of each robot and the target task of the robot cluster can achieve the following effects: the next work to be completed by the robot can be accurately determined according to the state of the robot and the target task, and the control instruction is generated according to the work, so that the accuracy of the control instruction can be improved.
The accounting robot, after generating the instruction, may send the instruction to other robots in the robot cluster except the accounting robot. The specific instruction sending method may be a broadcast method, a multicast method, or a propagation method with a set rule, and this embodiment is not limited. The number of the instructions may be one, two, or more.
The robot cluster in this embodiment is composed of at least two robots, and the robots cooperate together to complete a task.
And S120, determining the execution robot of the instruction according to the instruction and the current state of the robot.
The current state of the robot itself may be the actual state of the robot, and the state may be the current position, moving speed, working state, etc. of the robot. The specific operating state may include a job state or an idle state, etc. An execution robot is a robot that executes the instructions.
Alternatively, an execution robot of the instruction may be determined according to the instruction. For example, a robot that has received the instruction first is used as the execution robot.
The robot executing the instruction may also be determined based on the instruction and the current state of the robot itself.
For example, if the instruction is a first destination, determining a distance from the first destination according to the current position of the robot; then determining the time for reaching the first destination according to the moving speed of the robot; and determining the robot with the shortest time to reach the first destination as the executing robot.
Therefore, the robot for executing the instructions is determined according to the instructions and the current state of the robot, so that the robot for executing the instructions can be determined by combining the actual state of the robot, and the instruction execution speed and accuracy are improved.
Optionally, the block may be generated according to any parameter generated in the process of executing the instruction by the accounting robot command execution robot.
Typically, after the execution robot successfully completes the execution of the instruction, the method further includes:
and generating a block according to the instruction and the execution result of the execution robot on the instruction.
By generating the block by the instruction and the execution result of the robot on the instruction, the whole task execution process of the robot cluster can be recorded by using the block chain.
The tile may be generated by any robot of the robot cluster.
Typically, the block is generated by the accounting robot according to the execution result of the instruction and sent to other robots. And other robots verify the block, and if more than a set number of robots verify that the block is correct, the block is added into the block chain. Wherein the content of the block can be set according to actual needs.
Typically, a tile is composed of a tile header and a tile body. The block header contains the hash value of the last block, the hash value of the block, the timestamp, and so on. The block body stores detailed data for commanding the robot accounting robot to command the execution robot to execute the execution instructions.
According to the technical scheme of the embodiment of the invention, each robot in the robot cluster is regarded as a node, the accounting robot is determined from the cluster by using a consensus mechanism, and the accounting robot generates a control command and sends the control command to other robots. Therefore, the robots in the robot cluster automatically cooperate to complete tasks without the command of a background system.
In addition, by determining the robot executing the instructions according to the instructions and the local state, the robot executing the instructions can be determined according to the actual state of the robot, so that the execution speed and the accuracy of the instructions can be improved.
In order to solve the situation that a new instruction generated by a new accounting robot conflicts with an instruction generated by a previous accounting robot, after determining an execution robot of the instruction according to the instruction and the local state of the robot, the method further comprises the following steps:
and if a new instruction is received in the process of executing the instruction, and the assets earned by executing the new instruction are higher than the assets earned by executing the instruction, giving up the execution of the instruction and executing the new instruction.
Illustratively, a first robot, which is a billing robot for the first time, generates a first instruction; the second robot, which is the accounting robot for the second time, generates a second instruction. And receiving a second instruction in the process of executing the first instruction by the executing robot. And if the assets earned by executing the second instruction are higher than the assets earned by executing the first instruction, the executing robot abandons the execution of the first instruction and executes the second instruction.
Example two
Fig. 2 is a flowchart of a robot control method according to a second embodiment of the present invention. The present embodiment is an alternative provided on the basis of the above-described embodiments. Referring to fig. 2, a robot control method provided in this embodiment includes:
s210, determining the accounting robot serving as an accounting node from the robot cluster based on a set consensus mechanism, generating an instruction by the accounting robot and sending the instruction to other robots.
And S220, determining energy consumed by executing the instruction according to the instruction and the local state of the robot.
In particular, the energy source may be determined by the power consumption per unit time of execution of the instructions.
And S230, determining whether to execute the instruction as the execution robot according to the energy source.
Optionally, if the energy is less than the set energy threshold, the robot is used as an execution robot. In order to minimize the execution cost of the instruction, if the energy is the minimum, the robot is used as the execution robot.
According to the technical scheme of the embodiment of the invention, whether the instruction is executed or not is determined by the energy consumed by executing the instruction, so that the execution cost of the instruction is considered, and the execution cost of the instruction can be further reduced.
Specifically, determining whether to execute the instructions as the execution robot according to the energy source may further include:
and determining whether to execute the instruction as the execution robot according to the energy consumed by executing the instruction and the assets earned by executing the instruction.
Wherein assets earned in executing the instructions are paid by the accounting robot. The assets paid by the accounting robot for executing the instructions are the assets paid by the accounting robot to the executing robot after the accounting robot successfully executes the instructions. The asset may be in the form of digital currency, a stock right, a credit, or the like, without limitation.
The assets paid by the accounting robot for executing the instructions may encourage the execution of the instructions, avoiding that no robot is willing to execute instructions when the energy consumed by the instructions is high.
There is also a case here: even if the execution of the instructions consumes less energy, the robot may still choose not to be the executing robot because the accounting robot pays less assets. Therefore, the robot can independently evaluate the benefits generated by executing the instructions, and further development towards the direction beneficial to each robot is realized while the target task is completed. In other words, the method can balance the assets in the robot cluster, avoid the concentration of command right caused by the high concentration of the assets, and further realize decentralization.
And more assets are prestored in the accounts of the robots which store the target tasks of the robot clusters compared with the accounts of the robots which do not store the target tasks. Because of more assets, the robot storing the target task is easier to contend for command right than other robots, namely, the robot is easier to serve as a billing robot, and the leader robot cluster executes the target task.
Robots that do not store the target tasks described above may accumulate assets by executing instructions while automatically learning the target tasks according to the received instructions. When the earned assets are sufficient to enable the robot which does not store the target tasks to compete for command, the robot generates instructions according to the target tasks obtained through learning.
Typically, the automatic learning objective task may be: and learning the instruction and the execution result of the instruction based on a machine learning algorithm to obtain the target task.
Specifically, the positive sample and the negative sample may be determined according to the execution result of the instruction and the generation subject of the instruction; performing model training according to the sample and a machine learning algorithm; and determining a target task according to the parameters in the model obtained by training.
For example, if the generation subject of the instruction is a robot storing the target task, the instruction is taken as a positive sample; if the execution result of the instruction is failure, indicating that the instruction is not reasonable, the instruction is taken as a negative sample.
Optionally, determining whether to execute the instruction as an execution robot according to the energy source comprises:
if the current robot determines to execute the instruction according to the energy, sending a message that the current robot wants to execute the instruction to other robots;
after receiving the message, the other robots respond to a confirmation message for determining the current robot as an execution robot according to the current state of the current robot and the instruction;
and if the number of the confirmation messages is larger than a set confirmation threshold value, determining the current robot as the execution robot of the instruction.
The robots which set the confirmation threshold number confirm that the current robot is the execution robot, so that the robot which does not meet the requirement does harm based on the execution robot is avoided.
EXAMPLE III
Fig. 3 is a flowchart of a robot control method according to a third embodiment of the present invention. The present embodiment is an alternative proposed on the basis of the above-described embodiments. Referring to fig. 3, the robot control method according to the present embodiment includes:
s310, determining the accounting robot serving as an accounting node from the robot cluster based on a set consensus mechanism, generating an instruction by the accounting robot and sending the instruction to other robots.
Wherein each robot in the robot cluster serves as a node.
And S320, determining the execution robot of the instruction according to the instruction and the local state of the robot.
S330, if the instruction cannot be executed successfully, receiving at least two splitting instructions, wherein the splitting instructions are obtained by splitting the instruction by the accounting robot according to a set rule.
For example, if the instruction is a first target location and the executing robot cannot successfully reach the location, the billing robot may split the instruction into a plurality of split instructions, which may be locations reset in a certain order from front to back, left to right, and from the first target location. Thereby causing the execution robot to eventually reach the first target position.
If the execution robot cannot successfully reach the first target position, the splitting instruction is further split, and the split instruction is a position set in a mode of going up, down, left and right again by increasing the distance from the first target position.
If the splitting times are larger than the set splitting threshold value, the execution robot still cannot successfully reach the first target position, and the execution robot can choose to abandon execution of the instruction. At this time, the execution state of the instruction in the block generated based on the execution result of the execution robot is an unfinished state.
Optionally, the robot for executing the split instruction may be determined again according to the split instruction and the local state of the robot.
Typically, the present embodiment is applicable to situations where the robot encounters an unpredictable obstacle when executing instructions. By the method, automatic obstacle avoidance can be effectively realized.
According to the technical scheme of the embodiment of the invention, when the execution robot cannot successfully execute the instruction, the instruction is split into at least two splitting instructions according to a set rule and the splitting instructions are sent to the execution robot for execution. Further causing successful execution of the instruction by the execution robot.
Example four
Fig. 4 is a flowchart of a robot control method according to a fourth embodiment of the present invention. This embodiment is an alternative provided on the basis of the above-described embodiment. Referring to fig. 4, the robot control method according to the present embodiment includes:
s410, initializing a robot cluster, storing a target task of the robot cluster in at least one robot in the cluster, and pre-storing more assets in an account of the robot storing the target task.
And S420, determining the accounting robot according to the voting result and the asset amount bid for the operation accounting robot, generating an instruction by the accounting robot and sending the instruction to other robots.
Wherein the amount of the assets bid is the amount the robot is willing to pay for the operation accounting robot. And the number of tickets obtained and the amount of assets bid are proportional to the probability of the competition becoming the accounting robot.
In order to suppress the cheating robot, it is prevented from malicious voting. When the robot votes, the robot is voted in a floating mode according to the preference parameters of the robot and the environment parameters of the robot.
Specifically, for the case where the robot is required to reach a certain absolute position or relative position in the command, the position can be reached as a precondition for completing the task. The instruction format may be: absolute or relative position + running a particular track or task + paying for the asset amount.
Typically, the determination of the accounting robot comprises: determining scores of the robots as different nodes, the scores being determined according to the following formula,
Figure BDA0001702819140000111
wherein, CiIs the score of i robot, αijIs the number of tickets put by other robots to the i robot, R is the bid amount of the robot, and mu is the balance coefficient;
and if the score of the robot is larger than the set score threshold value or the score is maximum, the robot is taken as a billing robot.
Assets of the amount bid by the accounting node need to be subtracted from the account of the accounting robot as the accounting node after the accounting robot is determined. To avoid the situation where the robot monopolizes the accounting robot, the assets subtracted from the accounting robot's account include:
acquiring the distance between the accounting robot and the last time as the time of the accounting robot;
determining competitive price tax due to payment according to the time;
subtracting the assets of the amount bid by the accounting robot and the competitive pricing tax from the account of the accounting robot.
Specifically, the determination of the competitive price tax due includes:
determining the tax rate of competitive price tax due to the accounting robot, wherein the tax rate is determined according to the following formula,
Figure BDA0001702819140000121
wherein the content of the first and second substances,
Figure BDA0001702819140000122
the competitive cost tax rate, k is the tax rate reference, n is the time interval from the last accounting robot, and epsilon is the tax rate attenuation coefficient;
and multiplying the tax rate by the total assets in the account of the accounting robot to obtain the competitive price tax due to payment of the accounting robot.
Typically, the process of generating the instructions by the accounting robot can also be described as:
the accounting robot acquires the current state of the machine;
and the accounting robot generates a control instruction according to the current state of the accounting robot and the target tasks of the robot cluster or the appointed part of the target tasks.
Determining a control instruction based on the current state of the accounting robot and the target task of the robot cluster, and not considering the current states of other robots in the robot cluster, the following effects can be achieved: the control instructions are generated by the accounting robot based on the current state of the accounting robot and the target tasks of the robot cluster. Even the control commands that are just started to be generated do not coordinate well with the robots in the robot cluster. But the accounting robot can be adjusted based on the result of the execution of the instruction by the execution robot and the preference parameter of the accounting robot, so that the robot cluster tends to develop in a correct direction under the command of the accounting robot, and the robot evolves by itself.
Typically, after the accounting robot generates the instruction, the accounting robot generates a block according to the instruction, the current state of each robot and the assets in the current account of each robot, and sends the block to other robots. And other robots acquire the instruction from the received block.
The current state of each robot is the current state of the robot which is transmitted together when the robot broadcasts the voting result of the robot. It will be appreciated that the current state reflects the state of the robot after the last instruction has been executed. By generating the block by the instruction and the execution result of the last instruction by the robot, the whole task execution process of the robot cluster can be recorded by using the block chain.
Specifically, the accounting robot generates the block and then sends the block to other robots. And other robots verify the block, if the number of robots exceeding the set number verify that the block is correct, the other robots acquire the instruction from the block and add the block into the block chain. Wherein the content of the block can be adjusted according to actual needs.
Typically, a tile is composed of a tile header and a tile body. The block header contains the hash value of the last block, the hash value of the block, the timestamp, and so on. The block stores instructions, the current status of each robot, and assets in the current account of each robot.
And S430, determining energy consumed by executing the instruction according to the instruction and the local state of the robot.
And S440, determining whether to be used as the execution robot to execute the instruction according to the energy consumed by executing the instruction and the assets earned by executing the instruction.
The assets paid by executing the instructions can be the above-mentioned bidding assets or can be different from the above-mentioned bidding assets. In other words, one case is: the robot bids assets for the competing accounting robot and, upon success of the competition, pays the bidding assets to the robot that successfully executed the instructions it generated. The accounting robot pays for the asset only once in the process.
The other situation is that: the robot bids assets for the competitive accounting robot, and distributes the assets to the voting robot after the competition is successful; after becoming a billing robot, it is also necessary to re-pay the asset of the robot that successfully executed the instructions it generated. In this process the accounting robot needs to pay for the asset twice.
Specifically, the actual power consumption parameter caused by the instruction execution is determined according to the instruction execution distance, the road condition and the like. If the assets paid by the accounting robot for executing the instructions are less than the asset consumption caused by the power consumption per unit time, the robot reduces the preference parameters of the accounting robot, even does not execute the instructions of the accounting robot.
For accounting robots which issue paid instructions frequently and consume low energy, the other robots in the robot cluster increase the preference parameters of the accounting robot. Therefore, the accounting robot can obtain command right more easily and issue paid instructions.
Of course, the billing robot may also issue no instructions, or issue instructions to continue executing existing paid instructions. The accounting robot then does not need to pay for assets to robots that successfully execute the instructions.
There is also a case that the robot selects the instruction with larger power consumption to execute at this time because the robot may need the asset to issue the command, so as to earn more assets to issue the command.
And S450, if the instruction is determined to be executed according to the energy, sending a message that the instruction is expected to be executed to other robots.
And S460, receiving a confirmation message for determining the local robot as the execution robot, wherein the confirmation message is generated by the other robots according to the current state of the local robot and the instruction.
And S470, if the number of the confirmation messages is larger than a set confirmation threshold value, determining the robot as the execution robot of the instruction.
And S480, if the command cannot be executed successfully, receiving at least two splitting commands, wherein the splitting commands are obtained by splitting the accounting robot according to a set rule.
Any executive robot can give up executing tasks when the task cannot be completed. At this time, the execution of the instructions in the block is in an incomplete state, and no asset is transferred. Thus, at any time any robot can choose to execute the most favorable instructions for itself with equal competition. The motion control can conveniently complete the target task of the cluster, and the cluster can automatically approach to the state defined by the target task.
And S490, if a new instruction is received in the process of executing the instruction, and the assets earned by executing the new instruction are higher than the assets earned by executing the instruction, giving up the execution of the instruction, and executing the new instruction.
Specifically, after the execution robot executes a new instruction, when the original accounting robot obtains the command right again, if the instruction generated by the accounting robot is changed in the execution robot, the execution robot continues to perform secondary bidding on the instruction in the robot without winning the bid. At this time, the accounting robot can increase the payment assets to improve the bidding rate. The robot that has successfully bid for the instruction but has not yet executed will not be selected as the executing robot for the instruction. And (5) when bidding for the second time, if the number of the successful winning robots is not larger than 1/2 of the total number of the robots, issuing all instructions to the robot cluster and waiting for re-bidding.
Illustratively, when the target task of the robot cluster is to form a certain formation, the accounting robot issues at least one position instruction by taking the local position as a reference node and carries out bidding in coordination with the paid assets. At this time, the robot in the cluster calculates which of the positions is closest to itself, and bids a position command closest to itself. And the robots in the cluster screen the bidding robots according to the distance between the bidding robots and the bidding positions. When the confirmation ratio of the bidding robot exceeds the set confirmation threshold, the bidding robot is determined as the executing robot for executing the instruction bid by the bidding robot. The execution robot moves to the target position in the bid instruction.
Continuing with the above example, after the new accounting robot generates a new position command, the new accounting robot determines whether the executing robot of the previous position command reaches the target position according to the current state of each robot. If yes, modifying the execution state of the previous position instruction to be completed, adding the asset paid by the original accounting robot for the previous position instruction in the execution robot account, and subtracting the paid asset from the account of the original accounting robot to perform asset settlement. And the new accounting robot generates blocks according to the asset settlement result, the new position command and the acquired current state of each robot and sends the blocks to other robots. And after receiving the block, the other robots verify the information in the block and the asset settlement result. If the robot exceeding the set number verifies that the block is correct, the robot acquires the instruction from the block and adds the block to the block chain.
Specifically, the block stores an instruction, an execution robot for the instruction, and an execution state of the instruction in association with each other. Therefore, the command to be inquired can be matched with the command stored in the block; and if the matching is consistent, determining whether the robot executes the instruction to be inquired. And meanwhile, the execution state of the instruction to be queried can be acquired.
Specifically, after the robot becomes the executive robot, a new accounting robot subsequently issues a new position command with a lower power consumption ratio. Then the executing robot may also continue to bid for new location instructions issued by the new billing robot at this time. If the bid is not successful, executing the instruction of the original accounting robot to obtain the assets; if the bid is successful, a new position command issued by the new accounting robot is executed to obtain more assets.
When the accounting robot finds that the issued command is not bid by the robot, the amount of the payment assets can be increased, and the robot is prompted to bid.
The execution sequence of the above steps may be adjusted according to actual needs, and the execution sequence of the above steps is not limited in this embodiment.
According to the technical scheme of the embodiment of the invention, the block chain technology is used for cluster control of the robots, automatic allocation of the robots in the robot cluster is realized on the basis of a consensus mechanism, and designation or pre-planning by a rear-end central control system is not needed. The organization flexibility of the robot cluster is improved, and the difficulty of realizing the robot cooperative task is simplified.
It should be noted that, on the basis of the above embodiments, those skilled in the art will have an incentive to combine the above embodiments to realize automatic cooperation among multiple robots.
EXAMPLE five
Fig. 5 is a schematic structural diagram of a robot control device according to a fifth embodiment of the present invention. Referring to fig. 5, the robot control apparatus according to the present embodiment includes: a command right determination module 10 and an execution subject determination module 20.
The command right determining module 10 is configured to determine, by using each robot in the robot cluster as a node, an accounting robot serving as an accounting node from the robot cluster based on a consensus mechanism, generate an instruction by the accounting robot, and send the instruction to other robots;
and the execution main body determining module 20 is used for determining the execution robot of the instruction according to the instruction and the current state of the robot.
According to the technical scheme of the embodiment of the invention, each robot in the robot cluster is regarded as a node, the accounting robot is determined from the cluster by using a consensus mechanism, and the accounting robot generates a control command and sends the control command to other robots. Therefore, the robots in the robot cluster automatically cooperate to complete tasks without the command of a background system.
In addition, by determining the robot executing the instructions according to the instructions and the local state, the robot executing the instructions can be determined according to the actual state of the robot, so that the execution speed and the accuracy of the instructions can be improved.
Further, the robot control apparatus further includes: the device comprises a block receiving module and an instruction receiving module.
The block receiving module is used for receiving the blocks sent by the accounting robot after the accounting robot generates the instructions and sends the instructions to other robots, wherein the blocks are generated by the accounting robot according to the instructions, the current states of the robots and the assets in the current accounts of the robots;
and the instruction receiving module is used for acquiring the instruction from the received block.
Further, the executing the subject determination module includes: an energy consumption unit and an execution determination unit.
The energy consumption unit is used for determining energy consumed by executing the instruction according to the instruction and the current state of the robot;
and the execution determination unit is used for determining whether to execute the instruction as an execution robot according to the energy source.
Further, the execution determination unit is specifically configured to:
determining whether to execute the instruction as the execution robot according to the energy consumed by executing the instruction and assets earned by executing the instruction;
the assets earned by executing the instructions are paid by the accounting robot, and more assets are prestored in the accounts of the robots which store the target tasks of the robot clusters compared with the accounts of the robots which do not store the target tasks.
Further, the execution determination unit is specifically configured to:
if the instruction is determined to be executed according to the energy, sending a message that the instruction is expected to be executed to other robots;
receiving a confirmation message that determines the native machine as the executing robot, wherein the confirmation message is generated by the other robots according to the current state of the native machine and the instruction;
and if the number of the confirmation messages is larger than a set confirmation threshold value, determining the local machine as the execution robot of the instruction.
Further, the robot control apparatus further includes: and an instruction splitting module.
The instruction splitting module is used for receiving at least two splitting instructions if the instructions cannot be executed successfully, wherein the splitting instructions are obtained by splitting the instructions by the accounting robot according to a set rule.
Further, the robot control apparatus further includes: and transferring the execution module.
And the transfer execution module is used for giving up the execution of the instruction and executing the new instruction if a new instruction is received and the assets earned by executing the new instruction are higher than the assets earned by executing the instruction in the process of executing the instruction.
EXAMPLE six
An embodiment of the present invention further provides a storage medium containing computer-executable instructions, which when executed by a computer processor, perform a robot control method, including:
determining accounting robots as accounting nodes from a robot cluster based on a set consensus mechanism, generating instructions by the accounting robots and sending the instructions to other robots, wherein each robot in the robot cluster is used as a node;
and determining the execution robot of the instruction according to the instruction and the current state of the robot.
Of course, the storage medium containing the computer-executable instructions provided by the embodiments of the present invention is not limited to the method operations described above, and may also perform related operations in the robot control method provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.
It should be noted that, in the embodiment of the robot control device, the included units and modules are only divided according to the functional logic, but are not limited to the above division as long as the corresponding functions can be realized; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
EXAMPLE seven
This embodiment provides a robot cluster, includes at least two robots, the robot includes:
communication means for communicating with other robots in the robot cluster;
the state acquisition device is used for acquiring the state of the machine;
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement a robot control method as in any one of the implementations of the invention.
Fig. 6 is a schematic structural diagram of a robot according to a seventh embodiment of the present invention. As shown in fig. 6, the robot comprises at least a processor 70, a memory 71, a communication device 72 and a status acquisition device 73; the number of the processors 70 in the robot may be one or more, and one processor 70 is taken as an example in fig. 6; the processor 70, the memory 71, the communication device 72 and the status acquisition device 73 in the robot may be connected by a bus or other means, and the bus connection is taken as an example in fig. 6.
The memory 71 is a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the robot control method in the embodiment of the present invention (for example, the command right determining module 10 and the execution subject determining module 20 in the robot control device). The processor 70 executes various functional applications and data processing of the robot by running software programs, instructions, and modules stored in the memory 71, thereby implementing the robot control method described above.
The memory 71 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the memory 71 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the memory 71 may further include memory remotely located from the processor 70, which may be connected to the robot through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The state acquisition device 73 may be any device for acquiring the state of the robot, which may be the state of the robot itself, such as the working state and the moving speed; but also an external state such as distance, ambient temperature, etc.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (8)

1. A robot control method, comprising:
determining accounting robots as accounting nodes from a robot cluster based on a set consensus mechanism, wherein each robot in the robot cluster serves as one node, generating instructions by the accounting robots and sending the instructions to other robots;
determining an execution robot of the instruction according to the instruction and the current state of the robot;
determining, from the instruction and a current state of the robot itself, an executing robot of the instruction comprises:
determining energy consumed by executing the instruction according to the instruction and the current state of the robot;
determining whether to execute the instruction as an execution robot according to the energy source;
determining whether to execute the instruction as an execution robot based on the energy source comprises:
determining whether to execute the instruction as an execution robot according to energy consumed by executing the instruction and assets earned by executing the instruction;
the assets earned by executing the instructions are paid by the accounting robot, and more assets are prestored in the account of the robot which stores the target task of the robot cluster compared with the account of the robot which does not store the target task.
2. The method of claim 1, further comprising, after generating and transmitting instructions to other robots by the accounting robot:
receiving a block sent by the accounting robot, wherein the block is generated by the accounting robot according to the instruction, the current state of each robot and the assets in the current account of each robot;
fetching the instruction from the received block.
3. The method of claim 1, wherein determining whether to execute the instruction as an execution robot based on the energy source comprises:
if the instruction is determined to be executed according to the energy, sending a message that the instruction is expected to be executed to other robots;
receiving a confirmation message that determines the native machine as the executing robot, wherein the confirmation message is generated by the other robots according to the current state of the native machine and the instruction;
and if the number of the confirmation messages is larger than a set confirmation threshold value, determining the local machine as the execution robot of the instruction.
4. The method of claim 1, after determining an executing robot for the instruction based on the instruction and a current state of the robot itself, further comprising:
and if the instruction cannot be executed successfully, receiving at least two splitting instructions, wherein the splitting instructions are obtained by splitting the instruction by the accounting robot according to a set rule.
5. The method of claim 1, after determining an executing robot for the instruction based on the instruction and a current state of the robot itself, further comprising:
and if a new instruction is received in the process of executing the instruction, and the assets earned by executing the new instruction are higher than the assets earned by executing the instruction, giving up the execution of the instruction and executing the new instruction.
6. A robot control apparatus, comprising:
the command right determining module is used for determining accounting robots serving as accounting nodes from the robot cluster based on a set consensus mechanism, wherein each robot in the robot cluster serves as one node, and the accounting robots generate instructions and send the instructions to other robots;
the execution main body determining module is used for determining the execution robot of the instruction according to the instruction and the current state of the robot;
the energy consumption unit is used for determining energy consumed by executing the instruction according to the instruction and the current state of the robot;
an execution determination unit for determining whether to execute the instruction as an execution robot according to the energy;
further, the execution determination unit is specifically configured to:
determining whether to execute the instruction as the execution robot according to the energy consumed by executing the instruction and assets earned by executing the instruction;
the assets earned by executing the instructions are paid by the accounting robot, and more assets are prestored in the accounts of the robots which store the target tasks of the robot clusters compared with the accounts of the robots which do not store the target tasks.
7. A computer-readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, carries out the robot control method according to any one of claims 1-5.
8. A robot cluster comprising at least two robots, characterized in that the robots comprise:
communication means for communicating with other robots in the robot cluster;
the state acquisition device is used for acquiring the state of the machine;
one or more processors;
a storage device for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the robot control method of any one of claims 1-5.
CN201810642825.1A 2018-06-21 2018-06-21 Robot control method, device, medium and robot cluster Active CN108789409B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810642825.1A CN108789409B (en) 2018-06-21 2018-06-21 Robot control method, device, medium and robot cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810642825.1A CN108789409B (en) 2018-06-21 2018-06-21 Robot control method, device, medium and robot cluster

Publications (2)

Publication Number Publication Date
CN108789409A CN108789409A (en) 2018-11-13
CN108789409B true CN108789409B (en) 2022-02-11

Family

ID=64084120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810642825.1A Active CN108789409B (en) 2018-06-21 2018-06-21 Robot control method, device, medium and robot cluster

Country Status (1)

Country Link
CN (1) CN108789409B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109648569B (en) * 2019-02-15 2021-06-01 创泽智能机器人集团股份有限公司 Robot interactive collaboration method and device
DE102019203214B4 (en) * 2019-03-08 2022-01-20 Robert Bosch Gmbh Method of operating a robot in a multi-agent system, Robot and multi-agent system
CN110597905A (en) * 2019-08-20 2019-12-20 天津理工大学 Decentralized cluster control system based on block chain and working method
CN111245938B (en) * 2020-01-10 2023-01-17 北京猎户星空科技有限公司 Robot cluster management method, robot cluster, robot and related equipment
CN111753321A (en) * 2020-06-29 2020-10-09 山东大学 Block chain-based data security sharing method and system
CN111884559B (en) * 2020-06-29 2022-10-25 苏州金峰物联网技术有限公司 Method for controlling deflection motor of deflection wheel/ball, control system, readable storage medium, and deflection apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399734A (en) * 1999-11-24 2003-02-26 个人机器人技术公司 Autonomous multi-platform robot system
CN103792942A (en) * 2012-10-30 2014-05-14 凌海科技企业股份有限公司 Running gear and operation method suitable for running gear
CN107402575A (en) * 2017-09-07 2017-11-28 南京昱晟机器人科技有限公司 A kind of autonomous operation clusters of machines walking navigation control method
CN107424066A (en) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 A kind of method and its system of mechanism of being built a consensus based on the magnitude of value

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513627B1 (en) * 2016-04-25 2016-12-06 inVia Robotics, LLC Autonomous coordination of resources amongst robots

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399734A (en) * 1999-11-24 2003-02-26 个人机器人技术公司 Autonomous multi-platform robot system
CN103792942A (en) * 2012-10-30 2014-05-14 凌海科技企业股份有限公司 Running gear and operation method suitable for running gear
CN107424066A (en) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 A kind of method and its system of mechanism of being built a consensus based on the magnitude of value
CN107402575A (en) * 2017-09-07 2017-11-28 南京昱晟机器人科技有限公司 A kind of autonomous operation clusters of machines walking navigation control method

Also Published As

Publication number Publication date
CN108789409A (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108789409B (en) Robot control method, device, medium and robot cluster
CN107947845B (en) Communication relay-based unmanned aerial vehicle formation cooperative target allocation method
CN109144696A (en) A kind of method for scheduling task, device, electronic equipment and storage medium
CN108961017B (en) Block chain consensus mechanism and block chain system based on same
CN113671987B (en) Multi-machine distributed time sequence task allocation method based on non-deadlock contract net algorithm
CN109951568B (en) Aviation cluster mixed multi-layer alliance building method for improving contract network
CN112257902A (en) Task allocation method for cooperative work of constellation
CN111798097B (en) Autonomous mobile robot task allocation processing method based on market mechanism
CN114154819A (en) Task similarity-based multi-AGV distributed scheduling method and system
Lv et al. Strategy-proof online mechanisms for weighted AoI minimization in edge computing
CN115202402A (en) Unmanned aerial vehicle cluster multi-task dynamic allocation method
Danak et al. Efficient bidding in dynamic grid markets
Aggarwal et al. Multi-channel auction design in the autobidding world
CN114201303A (en) Task unloading optimization method of fixed path AGV in industrial Internet of things environment
WO2024007807A1 (en) Error correction method and apparatus, and mobile device
Mazdin et al. Distributed task assignment in multi-robot systems based on information utility
CN107562047B (en) Unmanned equipment formation method, storage device and processing device
CN111309014A (en) AGV control method and device
Zhang et al. Reverse auction-based services optimization in cloud computing environments
WO2021027960A1 (en) Task assignment method, electronic device and computer-readable storage medium
CN113660304A (en) Unmanned aerial vehicle group distributed learning resource control method based on bidirectional auction game
JP5291504B2 (en) Load balancing processing system
CN110473110A (en) A kind of data processing method, device, readable storage medium storing program for executing and terminal device
US20050144081A1 (en) Method and system for predicting the outcome of an online auction
Mirzayi et al. IQSon: a context-aware negotiator agent with enhanced utility and decision making speed

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant