CN113852941B - Multi-robot communication method, multi-robot system and robot - Google Patents
Multi-robot communication method, multi-robot system and robot Download PDFInfo
- Publication number
- CN113852941B CN113852941B CN202111036887.6A CN202111036887A CN113852941B CN 113852941 B CN113852941 B CN 113852941B CN 202111036887 A CN202111036887 A CN 202111036887A CN 113852941 B CN113852941 B CN 113852941B
- Authority
- CN
- China
- Prior art keywords
- robot
- robots
- communication
- relay
- position information
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 501
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims description 121
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 abstract description 14
- 206010033799 Paralysis Diseases 0.000 abstract description 11
- 238000001514 detection method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
The application provides a multi-robot communication method, a multi-robot system and a robot, and relates to the field of robots. The multi-robot communication method is applied to a multi-robot system comprising a main control unit and a plurality of robots, and comprises the following steps: if a first robot of the plurality of robots needs to communicate with a second robot, at least one relay robot is determined from the remaining robots except the first robot and the second robot according to the position information and the communication range of the first robot and the position information of the second robot, a target communication link is generated according to the identification of the first robot, the identification of the at least one relay robot and the identification of the second robot, and communication is performed with the second robot according to the target communication link. Therefore, when the robots communicate according to the communication link, the main control unit is not required to transmit and process, so that the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis among multiple robots is reduced.
Description
Technical Field
The application relates to the field of robots, and discloses a multi-robot communication method, a multi-robot system and a robot.
Background
With the development of robots, the complexity of the robot to perform tasks is increasing, and it is difficult for a single robot to complete complex and cumbersome tasks by itself, based on which a multi-robot system is one of the trends of robot development. In the multi-robot system, the multi-robots interact and coordinate with each other through information exchange and processing, so that the multi-robot joint execution task is realized, namely, the communication is a basic condition for knowing information such as states, positions and environments of other robots, is a basis for interaction and coordination among the robots, and the working efficiency of the multi-robots can be improved to a great extent by a reasonable communication mode.
In the prior art, the communication mode of multiple robots can be a centralized structure. The centralized structure comprises a main control unit and a plurality of slave robots, wherein the main control unit can be respectively communicated with the plurality of slave robots, and the plurality of slave robots cannot be directly communicated with each other. The main control unit has complete control right, can respectively acquire and intensively process the information of a plurality of slave robots, completes the dynamic allocation and the scheduling of tasks, and realizes the joint execution of tasks by a plurality of robots.
However, only the main control unit in the centralized structure has information processing capability, and a large amount of information is processed at the same time, so that downtime may occur, and communication among multiple robots is disabled.
Disclosure of Invention
The embodiment of the application provides a multi-robot communication method, a multi-robot system and a robot, which can reduce the processing capacity of a main control unit, reduce the times of downtime and reduce the probability of communication paralysis among the multiple robots. The technical scheme is as follows:
In a first aspect, a multi-robot communication method is provided, and is applied to a multi-robot system, where the multi-robot system includes a plurality of robots and a master control unit, and the plurality of robots are respectively connected with the master control unit, and the method includes:
If the first robot determines that communication with the second robot is needed, determining first position information and a communication range of the first robot, and acquiring second position information of the second robot through the main control unit, wherein the first robot and the second robot are any two of the plurality of robots;
if the first robot determines that the second robot is not located within the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, determining at least one relay robot from the rest robots except the first robot and the second robot, and generating a target communication link according to the identification of the first robot, the identification of the at least one relay robot and the identification of the second robot;
If the first robot determines that the second robot is located in the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, generating a target communication link between the first robot and the second robot according to the identification of the first robot and the identification of the second robot;
the first robot communicates with the second robot according to the target communication link.
In one embodiment, the determining at least one relay robot from the remaining robots other than the first robot and the second robot includes:
selecting one robot from robots located within a communication range of the first robot;
determining whether the second robot is within a communication range of the selected robot;
If the second robot is determined not to be located in the communication range of the selected robot, taking the selected robot as a target robot, selecting one robot from the robots located in the communication range of the target robot, and returning to the step and the subsequent steps of determining whether the second robot is located in the communication range of the selected robot;
and if the second robot is determined to be located in the communication range of the selected robot, determining all the selected robots as relay robots to obtain the at least one relay robot.
In one embodiment, the selecting one robot from robots located within a communication range of the first robot includes:
from among robots located within a communication range of the first robot, a robot closest to the second robot is selected.
In one embodiment, the determining at least one relay robot from the remaining robots other than the first robot and the second robot includes:
Selecting one robot from the rest robots except the first robot and the second robot through the main control unit, and moving the selected robot to a position between the first robot and the second robot and within a communication range of the first robot;
determining whether the second robot is within a communication range of the selected robot;
If the second robot is determined not to be located in the communication range of the selected robot, continuing to select one robot from the first robot, the second robot and the selected robot through the main control unit, controlling the selected robot to move to a position between the first robot and the second robot and located in the communication range of the last selected robot, and returning to the step of determining whether the second robot is located in the communication range of the selected robot and the subsequent steps;
and if the second robot is determined to be located in the communication range of the selected robot, determining all the selected robots as relay robots to obtain the at least one relay robot.
In one embodiment, the selecting, by the master control unit, one robot from the remaining robots other than the first robot and the second robot, moving the selected robot to a position between the first robot and the second robot and within a communication range of the first robot, includes:
The first robot sends a control request to the main control unit, wherein the control request carries first position information and communication range of the first robot and identification of the second robot;
the main control unit receives the control request and determines second position information of the second robot according to the identification of the second robot;
the main control unit selects one robot from the rest robots except the first robot and the second robot according to the first position information, the second position information and the communication range of the first robot, and moves the selected robot to a position between the first robot and the second robot and within the communication range of the first robot.
In one embodiment, the determining at least one relay robot from the remaining robots other than the first robot and the second robot includes:
selecting one robot from robots located within a communication range of the first robot;
Determining whether the second robot is within a communication range of the selected robot;
if the second robot is determined not to be in the communication range of the selected robots and the number of the selected robots is smaller than the preset number, selecting one robot from the robots in the communication range of the target robot by taking the selected robots as the target robots, and returning to the step and the subsequent steps of determining whether the second robot is in the communication range of the selected robots;
If the second robot is determined not to be located in the communication range of the selected robot and the number of the selected robots is greater than or equal to the preset number, selecting one robot from the first robot, the second robot and the robots other than the selected robot through the main control unit, controlling the selected robot to move to a position between the first robot and the second robot and located in the communication range of the last selected robot, and returning to the step of determining whether the second robot is located in the communication range of the selected robot and the subsequent steps;
and if the second robot is determined to be located in the communication range of the selected robot, determining all the selected robots as relay robots to obtain the at least one relay robot.
In one embodiment, the first robot communicates with the second robot according to the target communication link, comprising:
the first robot determines the next communication node of the first robot according to the target communication link;
The first robot sends a transmission data packet to the next communication node of the robot, wherein the transmission data packet comprises the target communication link, a sending identifier, a receiving identifier and main body data, the sending identifier is used for indicating the first robot, the receiving identifier is used for indicating the second robot, and the main body data is data to be sent to the second robot by the first robot;
And the first robot sends the main body data to the second robot through the sent transmission data packet.
In one embodiment, the first robot transmits the body data to the second robot through the transmitted transmission data packet, including:
For a first communication node in the target communication link, if the first communication node is a relay robot, the relay robot receives the transmission data packet sent by a last communication node of the relay robot, determines a next communication node of the relay robot according to the target communication link, and sends the transmission data packet to the next communication node of the relay robot node, wherein the first communication node is a communication node except the first robot in the target communication link;
And if the first communication node is the second robot, the second robot receives the transmission data packet sent by the last communication node of the second robot and responds to the main body data.
In one embodiment, the obtaining, by the main control unit, the second position information of the second robot includes:
the first robot sends a position information acquisition request to the main control unit, wherein the position information acquisition request carries an identifier of the second robot;
the main control unit receives the position information acquisition request, acquires second position information of the second robot from the stored position information of the plurality of robots according to the identification of the second robot, and sends the second position information to the first robot;
The first robot receives the second location information.
In one embodiment, before the acquiring the second position information of the second robot from the stored position information of the plurality of robots according to the identification of the second robot, the method further includes:
The third robot determines own position information and sends the determined position information to the main control unit, wherein the third robot is any one of the robots;
And the main control unit receives the position information sent by the third robot and correspondingly stores the received position information and the identification of the third robot.
In a second aspect, a multi-robot system is provided, the multi-robot system comprising a plurality of robots and a master control unit, the plurality of robots being respectively connected with the master control unit;
The first robot is used for determining first position information and a communication range of the first robot and sending a position information acquisition request to the main control unit if the first robot determines that the first robot needs to communicate with the second robot, wherein the position information acquisition request carries an identifier of the second robot;
The main control unit is used for receiving the position information acquisition request, acquiring second position information of the second robot from the stored position information of the plurality of robots according to the identification of the second robot, and sending the second position information to the first robot;
the first robot is used for receiving the second position information sent by the main control unit;
if the first robot determines that the second robot is not located within the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, determining at least one relay robot from the rest robots except the first robot and the second robot, and generating a target communication link according to the identification of the first robot, the identification of the at least one relay robot and the identification of the second robot;
The first robot is configured to, if it is determined that the second robot is located within the communication range of the first robot according to the first location information, the second location information, and the communication range of the first robot, generate a target communication link between the first robot and the second robot according to the identifier of the first robot and the identifier of the second robot;
the first robot is used for communicating with the second robot according to the target communication link.
In a third aspect, a robot is provided, comprising a communication interface, a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the communication interface is adapted to communicate with other individuals, the processor executing the computer program to implement the steps of the multi-robot communication method described above.
The technical scheme provided by the embodiment of the application has the beneficial effects that:
The multi-robot system in the embodiment of the application comprises a main control unit and a plurality of robots, wherein for any one of the robots, namely a first robot, if the first robot needs to communicate with another robot, namely a second robot, the position information of the second robot can be acquired from the main control unit, and whether the second robot is located in the communication range of the first robot is determined according to the position information of the second robot. If located within the communication range of the first robot, a target communication link is generated that includes the identification of the first robot and the second robot. If the communication link is not within the communication range of the first robot, at least one relay robot is determined from the rest of robots except the first robot and the second robot, and a target communication link comprising the identification of the first robot, the at least one relay robot and the second robot is generated. Thereafter, the first robot communicates with the second robot according to the target communication link. Therefore, in the process that the two robots communicate according to the determined communication links, transmission and processing of a main control unit are not needed, the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis among multiple robots is reduced. In addition, the communication link between any two robots can be flexibly determined according to the positions of the robots and in combination with a mode of selecting a relay robot from among the robots, so that the flexibility of multi-robot communication is also high.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a block diagram of a multi-robot system according to an embodiment of the present application;
FIG. 2 is a block diagram of another multi-robot system provided by an embodiment of the present application;
FIG. 3 is a flow chart of a method of multi-robot communication provided by an embodiment of the present application;
FIG. 4 is a flow chart of a method of determining at least one relay robot provided by an embodiment of the present application;
FIG. 5 is a flow chart of another method of determining at least one relay robot provided by an embodiment of the present application;
fig. 6 is a flowchart of still another method for determining at least one relay robot according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail with reference to the accompanying drawings.
Before explaining the embodiment of the present application in detail, an application scenario of the embodiment of the present application is described.
The multi-robot communication method provided by the application can be applied to multi-robot systems in the industrial field, the military field, the aerospace field and the like, and the application scene of the multi-robot communication method is not limited by the embodiment of the application.
For example, in the industrial field, multi-robot systems can replace humans to autonomously perform cumbersome and complex operations in the context of organizing material transportation, production processing, and the like. In the military field, the multi-robot system can replace human beings to finish high-risk work in the scenes of reconnaissance, patrol, mine expelling and the like. In the field of aerospace, the multi-robot system can replace human beings to complete construction, maintenance and other works in scenes such as satellites, space stations and the like.
Referring to fig. 1-2, fig. 1 is a block diagram of a multi-robot system according to an embodiment of the present application, and fig. 2 is a block diagram of another multi-robot system according to an embodiment of the present application. The multi-robot communication method provided by the application can be applied to the multi-robot system shown in fig. 1-2.
As shown in fig. 1-2, the multi-robot system includes a master control unit 101 and a plurality of robots.
The main control unit 101 is connected to the plurality of robots, and is used for communicating with the plurality of robots.
As an example, the main control unit 101 is connected to the plurality of robots through wireless communication networks, respectively, and communicates with the plurality of robots through wireless means, respectively. For example, as shown in fig. 1, the multi-robot system also includes a wireless access point 105. Each of the plurality of robots includes a wireless network card through which each of the plurality of robots can communicate with the main control unit 101 in conjunction with the wireless access point 105. Wherein the wireless access point 105 may include one or more, and embodiments of the present application are not limited in this regard.
In addition, the main control unit 101 may acquire, store, or forward the position information of the robot. In addition, the main control unit 101 may also control the robot, for example, to control the robot to move to a specific position.
As an example, the master control unit 101 may be a cloud server or a robot, which is not limited in the embodiment of the present application. Fig. 1-2 only illustrate an example of the master control unit 101 as a cloud server.
Any one of the robots may communicate with the main control unit 101, or may communicate with other robots located within the communication range.
For example, as shown in fig. 1, the multi-robot system includes a wireless access point 105, the robot 102 includes a wireless network card, and the robot 102 communicates with the main control unit 101 through the wireless network card in combination with the wireless access point 105. In addition, any one of the multiple robots may communicate with the main control unit 101 through other means, which is not limited in the embodiment of the present application.
For example, as shown in fig. 1, the robot 102 includes a hardware device having communication capability, and the communication range of the robot 102 is determined by the hardware device having communication capability and is also affected by a surrounding interference source, and the robot 102 can communicate with the robot 103 within its communication range. For example, the hardware device with communication capability may be a wireless router, where the coverage area of the wireless router is the communication area of the robot. In addition, the coverage of the wireless router is affected by surrounding sources of interference, such as wireless signals generated by a microwave oven.
In addition, any one of the robots may acquire the position information of the other robot through the main control unit 101, and determine a communication link between the two robots by combining the position and the communication range of the robot and the position of the other robot. For example, at least one relay robot may be selected from the remaining robots other than the two robots, and the communication link may be determined based on the two robots and the at least one relay robot.
As one example, any one of the plurality of robots includes a position determining unit, and the position information of itself may be determined by the position determining unit. The location determining unit is a module with positioning capability, for example, the location determining unit may obtain its own location information by positioning through a Beidou navigation system or a global positioning system (Global Positioning System, GPS), etc. Of course, any robot in the multiple robots may also acquire its own position information in other manners, which is not limited in the embodiment of the present application.
The communication range is used for indicating a range which can be covered by the communication capability of any one of the multiple robots, and any one robot can communicate with the robots positioned in the communication range.
As an example, any of the plurality of robots includes a hardware device with communication capabilities, and the communication range of any of the plurality of robots is determined by the hardware device with communication capabilities and is also affected by the ambient sources of interference.
In addition, any one of the robots may also communicate with another robot according to the determined communication link. For example, communication with another robot may be by way of transmission packets sent along the various nodes of the communication link. The transmission data packet may include, among other things, an identification of the sending robot, a communication link, an identification of the receiving robot, and body data.
As one example, as shown in fig. 1, the multi-robot system includes a master control unit 101, a robot 102, a robot 103, and other robots, and a target communication link may be determined according to the robot 102 and the robot 103. The robot 102 is referred to as a first robot 102, and the robot 103 is referred to as a second robot 103.
As another example, as shown in fig. 2, the multi-robot system includes a main control unit 101, a robot 102, a robot 103, a relay robot 104, and other robots, and a target communication link may be determined according to the robot 102, the robot 103, and the relay robot 104. The robot 102 is referred to as a first robot 102, and the robot 103 is referred to as a second robot 103.
The first robot 102 is configured to determine, if it is determined that communication with the second robot 103 is required, first location information and a communication range of the first robot 102, and send a location information acquisition request to the master control unit 101, where the location information acquisition request includes an identifier of the second robot 103.
The main control unit 101 is configured to receive a location information acquisition request, acquire second location information of the second robot 103 from the stored location information of the plurality of robots according to the identifier of the second robot 103, and send the second location information to the first robot 102.
The first robot 102 is configured to receive the second location information sent by the master control unit 101.
The first robot 102 is configured to determine that the second robot 103 is not located within the communication range of the first robot 102, based on the first location information, the second location information, and the communication range of the first robot 102, and determine at least one relay robot 104 from the remaining robots except for the first robot 102 and the second robot 103, and generate the target communication link 106 based on the identification of the first robot 102, the identification of the at least one relay robot 104, and the identification of the second robot 103, as shown in fig. 2.
The first robot 102 is configured to, if it is determined that the second robot 103 is located within the communication range of the first robot 102 according to the first location information, the second location information, and the communication range of the first robot 102, as shown in fig. 1, generate a target communication link 106 between the first robot 102 and the second robot 103 according to the identification of the first robot 102 and the identification of the second robot 103.
The first robot 102 is configured to communicate with the second robot 103 according to the target communication link 106.
Next, a multi-robot communication method provided by the embodiment of the present application will be described.
Referring to fig. 3, fig. 3 is a flowchart of a multi-robot communication method according to an embodiment of the present application, where the method may be applied to the multi-robot system shown in fig. 1-2, and the multi-robot system includes a main control unit and a plurality of robots, where the main control unit is connected to the plurality of robots respectively. The method comprises the following steps:
In step 301, if the first robot determines that communication with the second robot is required, the first position information and the communication range of the first robot are determined, and the second position information of the second robot is acquired through the master control unit.
Wherein the first robot and the second robot are any two of the plurality of robots.
For example, the first robot may determine that communication with the second robot is required when receiving a communication instruction to communicate with the second robot. The communication instruction may be triggered automatically by the first robot, may be triggered by a user, or may be triggered by other devices by sending a command to the first robot, which is not limited by the embodiment of the present application.
Wherein each robot of the plurality of robots has an identifier for uniquely identifying the corresponding robot, the identifier may be a name, ID (Identity document), a physical address, or the like of the robot. In addition, the identity of each robot may be stored in the corresponding robot.
The first robot can determine its own position information, i.e., first position information, and determine its own communication range.
As an example, the first robot may determine the first position information of the first robot by the position determining unit, or may determine the first position information of the first robot by other means, which is not limited by the embodiment of the present application.
In addition, the master control unit may store position information of a plurality of robots in advance, and the position information of the plurality of robots corresponds to the identifications of the plurality of robots one by one. For example, a third robot among the plurality of robots may determine its own position information and transmit the determined position information to the main control unit. After receiving the position information sent by the third robot, the main control unit correspondingly stores the received position information and the identification of the third robot, wherein the third robot is any one of the robots.
As one example, the first robot may transmit a location information acquisition request including an identification of the second robot to the main control unit, and acquire second location information of the second robot through the location information acquisition request.
After receiving the position information obtaining request, the master control unit may obtain second position information of the second robot from the stored position information of the plurality of robots according to the identifier of the second robot, and then send the second position information to the first robot.
In addition, after the master control unit receives the position information acquisition request, if the master control unit does not store the second position information of the second robot, the second position information can be acquired through the second robot. For example, the master control unit sends a position request to the second robot according to the identification of the second robot. The second robot receives the request, determines second position information which is own position information, and sends the second position information to the main control unit. The main control unit receives second position information sent by the second robot and sends the second position information to the first robot.
It should be noted that, in the above example, the main control unit is configured to acquire, store, or forward the position information of the robots, but not process the position information, so that the processing capacity of the main control unit can be reduced, the times of downtime can be reduced, and the probability of communication paralysis between multiple robots can be reduced.
The communication range is used to indicate a range that the communication capability of the robot can cover, for example, a coverage range that the robot can stably communicate with other robots.
As one example, the first robot may determine a communication range of the first robot based on the hardware device with communication capabilities and the ambient sources of interference. The communication range is a range that can be covered by the communication capability of the first robot, and an area corresponding to the range may be a circular area or an area with another shape. The positions in the area are all positions in which the robot can communicate.
As an example, the communication range of the first robot may be a fixed range or a variable range. For example, the communication range is stored in the robot as a fixed range, or the communication range of the robot is determined in real time according to the condition of the hardware device having the communication capability and the surrounding interference source.
In addition, the master control unit may store communication ranges of a plurality of robots in advance, where the communication ranges of the plurality of robots correspond to the identifications of the plurality of robots one by one. For example, a third robot among the plurality of robots may determine its own communication range and transmit the determined communication range to the main control unit. After receiving the communication range sent by the third robot, the main control unit correspondingly stores the received communication range and the identification of the third robot, wherein the third robot is any one of the robots.
As one example, the first robot may transmit a communication range acquisition request including an identification of the second robot to the main control unit, and acquire a communication range of the second robot through the communication range acquisition request.
After receiving the communication range obtaining request, the master control unit may obtain, according to the identifier of the second robot, the communication range of the second robot from the stored communication ranges of the plurality of robots, and then send the communication range of the second robot to the first robot.
In addition, after the master control unit receives the communication range obtaining request, if the master control unit does not store the communication range of the second robot, the communication range can be obtained through the second robot. For example, the master control unit sends a request to the second robot according to the identification of the second robot. The second robot receives the request, determines its own communication range, and transmits its own communication range to the main control unit. The main control unit receives the communication range of the second robot sent by the second robot and sends the communication range of the second robot to the first robot.
It should be noted that, in the above example, the main control unit is configured to acquire, store, or forward the communication range of the robots, so that the processing capacity of the main control unit can be reduced, the number of times of downtime is reduced, and the probability of communication paralysis between multiple robots is reduced.
In step 302, the first robot determines whether the second robot is located within the communication range of the first robot according to the first location information, the second location information, and the communication range of the first robot.
As one example, the first robot may determine whether the position of the second robot falls within an area corresponding to the communication range of the first robot according to the second position information.
And if the position of the second robot falls into the area corresponding to the communication range of the first robot, determining that the second robot is positioned in the communication range of the first robot. For example, as shown in fig. 1, the second robot (robot 103) is located within the communication range of the first robot (robot 102).
If the position of the second robot does not fall within the area corresponding to the communication range of the first robot, the second robot is determined not to be located within the communication range of the first robot. For example, as shown in fig. 2, the second robot (robot 103) is not located within the communication range of the first robot (robot 102).
If the first robot determines that the second robot is not located within the communication range of the first robot, at least one relay robot is determined from the remaining robots other than the first robot and the second robot, and a target communication link is generated based on the identification of the first robot, the identification of the at least one relay robot, and the identification of the second robot, step 303.
Wherein the relay robot is used for expanding the communication range of the first robot so that the first robot can communicate with the second robot. The relay robot refers to an intermediate communication node between the first robot and the second robot, and is used for forwarding transmission data between the first robot and the second robot.
The target communication link is a transmission path of communication information when the first robot communicates with the second robot. The target communication link is composed of an identifier of the first robot, an identifier of at least one relay robot and an identifier of the second robot, namely, the first robot, the at least one relay robot and the second robot are communication nodes in the target communication link, and the communication nodes are nodes for sending, forwarding or responding communication information.
In addition, the identities of the communication nodes that make up the target communication link are sequential, e.g., the identity of the first robot is located at the first bit of the identity of the communication nodes that make up the target communication link, and the identity of the second robot is located at the last bit of the identity of the communication nodes that make up the target communication link.
As an example, the method for determining at least one relay robot from the remaining robots except the first robot and the second robot may include three implementation manners, and the specific implementation manner will be described in detail in the following embodiments of fig. 4 to 6, which will not be described in detail here.
Wherein one of the at least one relay robot is located within a communication range of the first robot and the second robot is located within a communication range of the one of the at least one relay robot, such that when the second robot is not within the communication range of the first robot, communication between the first robot and the second robot may be achieved through the at least one relay robot.
It should be noted that, because the target communication link between the first robot and the second robot can be flexibly determined according to the first location information, the second location information and the communication range of the first robot, and the determined target communication link is a communication node only including the first robot, at least one relay robot and the second robot, in the process that the first robot and the second robot communicate according to the determined target communication link, transmission and processing by the main control unit are not needed, so that the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis between multiple robots is reduced.
In addition, the first robot and the second robot communicate according to the determined target communication link, and transmission and processing through the main control unit are not needed, namely, a transmission data packet between the first robot and the second robot only passes through a communication node in the target communication link and does not pass through the main control unit, so that the safety of the transmission data packet can be enhanced.
If the first robot determines that the second robot is located within the communication range of the first robot, a target communication link between the first robot and the second robot is generated according to the identification of the first robot and the identification of the second robot, step 304.
The target communication link is composed of an identifier of the first robot and an identifier of the second robot, namely, the first robot and the second robot are communication nodes of the target communication link.
It should be noted that, because the determined target communication link is a communication node only including the first robot and the second robot, in the process that the first robot and the second robot communicate according to the determined target communication link, transmission and processing of the main control unit are not needed, so that the processing amount of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis between multiple robots is reduced.
The first robot communicates with the second robot according to the target communication link, step 305.
When any two robots of the plurality of robots communicate, the steps 301-304 are executed to determine a target communication link between the two robots, and then the two robots communicate based on the target communication link.
As an example, the first robot communicating with the second robot according to the target communication link may comprise the steps of:
1) The first robot determines a next communication node of the first robot based on the target communication link.
When the second robot is located in the communication range of the first robot, the next communication node of the first robot is the second robot. In addition, when the second robot is not located within the communication range of the first robot, the next communication node of the first robot is a robot located within the communication range of the first robot among the at least one relay robot.
The target communication link is composed of an identification of a communication node, and the communication node can be a first robot, a second robot or a relay robot.
As an example, the first robot may compare the identity of the communication node in the target communication link with the identity of the first robot, find the identity of the communication node that matches the identity of the first robot, and then determine the next communication node for the communication node in the target communication link.
2) The first robot sends a transmission data packet to the next communication node of the robot.
The first robot firstly constructs a transmission data packet, wherein the transmission data packet is communication information for the first robot to communicate with the second robot.
The transmission data packet may include, among other things, a target communication link, a transmission identification, a reception identification, and body data. The sending identifier is used for indicating the sending robot, and the sending identifier can be the identifier of the sending robot. The receiving identifier is used for indicating the receiving robot, and the receiving identifier can be the identifier of the receiving robot. The body data is communication data between two robots. For example, an identification identifying a first robot is sent and an identification identifying a second robot is received.
In addition, the transmission data may further include detection bits and a transmission direction.
The detection bit is used for indicating a communication node receiving the transmission data packet, and can be an identification of the communication node. For example, the detection bit may be an identifier of a communication node in the target communication link that is a next communication node of the first robot, and the detection bit may be an identifier of the relay robot or an identifier of the second robot.
The transmission direction is used for indicating the transmission direction of the transmission data packet in the target communication link, and the transmission direction can indicate that the first robot transmits the data packet to the second robot or that the second robot transmits the data packet to the first robot. The transmission direction may be represented by a number or may be represented by another method, which is not limited by the comparison of the embodiment of the present application. For example, a transmission direction of 0 indicates that the first robot transmits a data packet to the second robot, and a transmission direction of 1 indicates that the second robot transmits a data packet to the first robot.
3) For a first communication node in the target communication link, if the first communication node is a relay robot, the relay robot receives a transmission data packet sent by a last communication node of the relay robot, determines a next communication node of the relay robot according to the target communication link, and sends the transmission data packet to the next communication node of the relay robot.
The first communication node is a communication node except the first robot in the target communication link, for example, the first communication node may relay the robot or the second robot.
As an example, it may be determined whether the first communication node is a relay robot based on the reception identification of the target communication link in the transmission data packet. And if the received identification is not matched with the identification of the first communication node, confirming that the first communication node is a relay robot. And if the received identification is matched with the identification of the first communication node, confirming that the first communication node is the second robot.
If the first communication node is a relay robot, the relay robot receives a transmission data packet sent by a last communication node of the relay robot, where the last communication node of the relay robot may be the first robot or another relay robot. The relay robot determines the next communication node of the relay robot according to the target communication link, and then continues to send the transmission data packet to the next communication node of the relay robot.
For example, the relay robot may compare the identifier of the communication node of the target communication link in the transmission data packet with the identifier of the relay robot, find the identifier of the communication node that matches the identifier of the relay robot, determine the next communication node of the communication node found in the target communication link, and use the next communication node of the found communication node as the next communication node of the relay robot.
As an example, if the transmission data packet further includes a detection bit and a transmission direction, the relay robot further includes an update of the transmission data packet after determining the next communication node, and then transmits the updated transmission data packet to the next communication node.
For example, the relay robot determines the next communication node of the relay robot according to the target communication link and the transmission direction in the transmission data packet and the identifier of the relay robot, and then writes the identifier of the next communication node of the relay robot into the detection bit of the transmission data packet to update the transmission data packet.
When the first communication node is a relay robot, the relay robot receives only the transmission data packet, determines the next communication node of the relay robot, and transmits the transmission data packet to the next communication node of the relay robot. That is, the relay robot is configured to forward transmission data between the first robot and the second robot.
4) If the first communication node is the second robot, the second robot receives a transmission data packet sent by the last communication node of the second robot and responds to the main body data.
The second robot is the first robot or the relay robot which can be the last communication node.
The second robot may respond according to the main body data after receiving the transmission data packet. For example, the main body data indicates that the second robot completes the function of monitoring the environment, and the second robot monitors the surrounding environment according to the main body data.
As one example, after the second robot responds to the subject data, it further includes sending an acknowledgement response to the first robot in accordance with the target communication link. After the first robot receives the confirmation response, the second robot is determined to have received the transmission data packet.
It should be noted that, in the embodiment of the present application, the first robot or the relay robot may send the transmission data packet to the next communication node in a directional manner, or may send the transmission data packet to the first communication node in a non-directional manner, for example, in a broadcast transmission data packet manner.
As one example, the first robot communicating with the second robot according to the target communication link may include the steps of:
1) The first robot broadcasts the transmission data packet.
Wherein broadcasting the transport packets refers to sending the transport packets in a non-directional manner.
The first robot firstly constructs a transmission data packet and sends the transmission data packet in a broadcasting mode.
The transmission data packet may include, among other things, a target communication link, a transmission identification, a reception identification, and body data. The method comprises the steps of sending an identifier of a first robot, receiving an identifier of a second robot, and enabling main body data to be communication data of the first robot and the second robot.
In addition, the transmission data may further include detection bits and a transmission direction. The detection bit may be an identifier of a communication node in the target communication link that is a next communication node of the first robot, and the detection bit may be a relay robot identifier or a second robot identifier. The transmission direction is used to indicate the transmission direction of the transmission data packet in the target communication link, for example, the transmission direction may be 0, which indicates that the first robot transmits the data packet to the second robot.
2) The fourth robot determines whether to receive the transmission data packet according to the transmission data packet.
Wherein the fourth robot is any one of the plurality of robots other than the first robot.
As one example, the fourth robot may determine whether to receive the transmission data packet based on the communication node that sent the transmission data packet and the target communication link in the transmission data packet.
For example, the fourth robot determines the next communication node of the communication node sending the transmission data packet according to the communication node sending the transmission data packet and the target communication link in the transmission data packet, and determines to receive the transmission data packet if the identifier corresponding to the next communication node of the communication node sending the transmission data packet is matched with the identifier of the fourth robot. And if the identifier corresponding to the next communication node of the communication node sending the transmission data packet is not matched with the identifier of the fourth robot, not receiving the transmission data packet.
As one example, the first robot sends a transmission data packet. The fourth robot determines that the communication node in the target communication link is the next communication node of the first robot, and determines whether the identification of the next communication node of the first robot is matched with the identification of the fourth robot. And if the identification of the next communication node of the first robot is matched with the fourth robot, the fourth robot receives the transmission data packet. If the identification of the next communication node of the first robot is not matched with the fourth robot, the fourth robot does not receive the transmission data packet.
As another example, the fourth robot determines to receive the transmission data packet if it is determined that the identification in the detection bit in the transmission data packet matches the identification of the fourth robot. If the identification of the detection bit in the transmission data packet is not matched with the identification of the fourth robot, the transmission data packet is not received.
3) And if the fourth robot determines to receive the transmission data packet, determining whether to respond to the main body data.
Wherein in this case the fourth robot is a relay robot or a second robot.
As one example, the fourth robot determines whether to respond to the subject data based on the received identification in the transmission data packet. For example, if it is determined that the received identifier does not match the identifier of the fourth robot, it is determined that the main body data is not responded, and in this case, the fourth robot is a relay robot that broadcasts the transmission packet, and the relay robot does not respond to the transmission packet. And if the received identification is matched with the identification of the fourth robot, the fourth robot is the second robot, and the second robot responds to the transmission data packet.
4) And if the fourth robot determines to receive the transmission data packet and does not respond to the main body data, broadcasting the transmission data packet, and jumping to the step 2).
In this case, the fourth robot is a relay robot, and the relay robot is configured to forward the transmission packet by broadcasting.
As an example, if the transmission data packet further includes a detection bit and a transmission direction, the fourth robot further updates the transmission data packet before broadcasting the transmission data, and then broadcasts the updated transmission data packet.
For example, the fourth robot determines the next communication node of the fourth robot according to the target communication link and the transmission direction in the transmission data packet and the identifier of the fourth robot, writes the identifier of the next communication node of the fourth robot into the detection bit of the transmission data packet, and updates the transmission data packet.
As one example, after broadcasting the transmission data packet, any one of the robots in the plurality of robots continues to determine whether to receive the transmission data packet based on the transmission data packet. If it is determined that the transmission data packet is received, it is again determined whether to respond to the body data. If the main body data is not responded, the transmission data packet is continuously broadcasted, and the loop is repeated until the second robot in the multiple robots determines to receive the transmission data packet and responds to the main body data.
5) And if the fourth robot determines to receive the transmission data packet and determines to respond to the main body data, responding.
In this case, the fourth robot is a second robot, and the second robot responds according to the main body data.
For example, the main body data indicates that the second robot completes the function of monitoring the environment, and the second robot monitors the surrounding environment according to the main body data.
As one example, the first robot, the at least one relay robot, and the second robot each have a target communication link stored therein. In this way, if any two robots of the plurality of robots need to communicate, it is determined whether a target communication link exists between the two robots. If it is determined that the target communication link already exists between the two robots, communication is directly performed according to the target communication link. If it is determined that the target communication link does not exist between the two robots, the above steps 301-305 are performed, and communication is performed according to the target communication link.
For example, one relay robot of the at least one relay robot needs to communicate with the second robot. The relay robot determines that a target communication link exists between the relay robot and the second robot, and the relay robot communicates with the second robot directly based on the target communication link.
It should be noted that, the multi-robot system in the embodiment of the present application includes a main control unit and a plurality of robots, and if any one of the plurality of robots, that is, a first robot needs to communicate with another robot, that is, a second robot, the multi-robot system may first acquire the position information of the second robot from the main control unit, and determine whether the second robot is located within the communication range of the first robot according to the position information of the second robot. If located within the communication range of the first robot, a target communication link is generated that includes the identification of the first robot and the second robot. If the communication link is not within the communication range of the first robot, at least one relay robot is determined from the rest of robots except the first robot and the second robot, and a target communication link comprising the identification of the first robot, the at least one relay robot and the second robot is generated. Thereafter, the first robot communicates with the second robot according to the target communication link. Therefore, in the process that the two robots communicate according to the determined communication links, transmission and processing of a main control unit are not needed, the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis among multiple robots is reduced. In addition, the communication link between any two robots can be flexibly determined according to the positions of the robots and in combination with a mode of selecting a relay robot from among the robots, so that the flexibility of multi-robot communication is also high.
In addition, the first robot and the second robot communicate according to the determined target communication link, and transmission and processing through the main control unit are not needed, namely, a transmission data packet between the first robot and the second robot only passes through a communication node in the target communication link and does not pass through the main control unit, so that the safety of the transmission data packet can be enhanced.
In step 303 of the above-described fig. 3 embodiment, when the second robot is not located within the communication range of the first robot, it is necessary to determine at least one relay robot from the remaining robots other than the first and second robots. Next, an implementation of determining at least one relay robot from the remaining robots other than the first robot and the second robot will be described in detail.
Referring to fig. 4, fig. 4 is a flowchart of a method for determining at least one relay robot according to an embodiment of the present application, the method includes the following steps:
Step 401 of selecting a robot from robots located within a communication range of a first robot.
As one example, the first robot may acquire robots located within a communication range of the first robot through the main control unit, and then select one robot from the robots located within the communication range of the first robot.
Wherein the robots in the communication range of the first robot can be one or more.
For example, the first robot sends an acquiring robot request to the main control unit, where the acquiring robot request carries a communication range of the first robot and an identifier of the first robot, and the acquiring robot request is used for indicating to acquire the robots in the communication range of the first robot.
The main control unit receives a request for acquiring the robot, and acquires first position information of the first robot from the stored position information of the plurality of robots according to the identification of the first robot. The main control unit selects at least one robot falling into a communication range corresponding area from among the stored position information of the plurality of robots according to the first position information and the first robot communication range, wherein the at least one robot is at least one of the plurality of robots except the first robot and the second robot, and the at least one robot is located in the communication range of the first robot. The master control unit transmits the selected identification of the at least one robot, the position information of the at least one robot and the communication range of the at least one robot to the first robot.
The first robot receives the identification of at least one robot, the position information of at least one robot and the communication range of at least one robot, which are sent by the main control unit.
It should be noted that, in the embodiment of the present application, the main control unit is only used to acquire, store or forward the position information of the robots, but does not process the position information of the robots, so that the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis between multiple robots is reduced.
As one example, a robot closest to the second robot may be selected from robots located within a communication range of the first robot. For example, the communication range of the first robot includes at least one robot, at least one length between the at least one robot and the second robot can be calculated according to the position information of the at least one robot and the second position information, and the robot corresponding to the shortest length in the at least one length can be selected.
Of course, other ways of selecting one robot from robots located within the communication range of the first robot may be used, which is not limited by the embodiment of the present application.
Step 402, it is determined whether the second robot is located within the communication range of the selected robot.
Wherein the first robot may determine whether the second robot is within the communication range of the selected robot according to the communication range of the selected robot and the second location information.
For example, the first robot determines whether the position of the second robot falls within the area corresponding to the communication range of the selected robot according to the second position information. If the position of the second robot does not fall within the area corresponding to the communication range of the selected robot, the second robot is determined not to be located within the communication range of the selected robot. And if the position of the second robot falls in the area corresponding to the communication range of the selected robot, determining that the second robot is positioned in the communication range of the selected robot.
As an example, step 402 may also be performed by a selected robot, such as the selected robot determining whether the second robot is within its communication range based on its communication range and the second location information.
If it is determined in step 403 that the second robot is not located within the communication range of the selected robot, the selected robot is used as the target robot, one robot is selected from the robots located within the communication range of the target robot, and the process returns to step 402 and the subsequent steps.
For example, the first selected robot may be used as the first relay robot, and if the first robot determines that the second robot is not located within the communication range of the first relay robot, the first robot may continue to select one robot from the communication range of the first relay robot as the second relay robot, and determine whether the second robot is located within the communication range of the second relay robot.
If the second robot is located within the communication range of the second relay robot, the first relay robot and the second relay robot are determined as the at least one relay robot that is finally selected, which is not described herein, and see step 404 below.
If the second robot is not located in the communication range of the second relay robot, continuing to select one robot from the communication range of the second relay robot as the third relay robot, determining whether the second robot is located in the communication range of the third relay robot, and repeating the steps in such a way until the relay robot with the communication range including the second robot is selected, namely, until the second robot is located in the communication range of the selected robot.
As an example, step 403 may also be performed by the selected robot. For example, the first selected robot is used as the first relay robot, and if the first relay robot determines that the second robot is not located in the communication range, the master control unit continues to select one robot from the communication range as the second relay robot. The second relay robot determines whether the second robot is located within its communication range.
And if the second relay robot determines that the second relay robot is positioned in the communication range, sending feedback information to the first relay robot, wherein the feedback information carries the identification of the second relay robot. The first relay robot receives the feedback information, updates the feedback information to carry the identification of the second relay robot and the identification of the first relay robot, and sends the updated feedback information to the first robot. The first robot receives the feedback information, and determines the first relay robot and the second relay robot as at least one relay robot finally selected according to the identification of the second relay robot and the identification of the first relay robot.
If the second relay robot determines that the second robot is not located in the communication range, the second relay robot continues to select one robot from the communication range as a third relay robot, and the second relay robot loops until the relay robot with the communication range including the second robot is selected.
If it is determined that the second robot is located within the communication range of the selected robot, all the robots selected are determined to be relay robots, and at least one relay robot is obtained, step 404.
For example, the first relay robot may be determined as the first relay robot, and if the first relay robot determines that the second robot is located within the communication range of the first relay robot, the first relay robot may be determined as the last relay robot.
As one example, step 404 may also be performed by the selected robot. For example, the first selected robot is used as the first relay robot, when the first relay robot determines that the position of the second robot falls into the communication range of the first relay robot, the first relay robot sends feedback information to the first robot, the feedback information carries the identification of the first relay robot, and the feedback information is used for indicating the first robot to determine the relay robot. And then the first robot receives the feedback information, and determines the first relay robot to be at least one relay robot finally selected according to the identification of the first relay robot.
It should be noted that, in the embodiment of the present application, the main control unit is only used for acquiring, storing and forwarding the position information of the robots, but does not process the position information, so that the processing capacity of the main control unit can be reduced, the times of downtime are reduced, and the probability of communication paralysis between multiple robots is reduced.
In addition, according to the embodiment of the application, at least one relay robot can be flexibly determined from the rest of robots except the first robot and the second robot according to the position information and the communication range of the robots, one relay robot in the at least one relay robot is positioned in the communication range of the first robot, and the second robot is positioned in the communication range of one relay robot in the at least one relay robot, so that when the second robot is not positioned in the communication range of the first robot, the communication between the first robot and the second robot can be realized through the at least one relay robot.
Referring to fig. 5, fig. 5 is a flowchart of another method for determining at least one relay robot according to an embodiment of the present application, the method includes the following steps:
step 501, selecting one robot from the rest robots except the first robot and the second robot through the main control unit, and moving the selected robot to a position between the first robot and the second robot and within a communication range of the first robot.
When no robot capable of selecting is in the communication range of the first robot, the implementation method provided by the embodiment of the application can be adopted to determine at least one relay robot.
For example, the communication range of the first robot is free from other robots, or at least one robot existing in the communication range of the first robot is busy in traffic, and the relay robot, that is, the communication node, cannot transfer information.
The first robot can determine that the selected robot moves to a specific position according to the first position information, the second position information and the communication range of the first robot.
For example, the first robot may determine the straight line distance of the first position information and the second position information first, then determine the intersecting position at the boundary of the area where the straight line distance corresponds to the communication range of the first robot, and then move the selected robot to the intersecting position.
As one example, the first robot may send a control request to the master control unit, the control request carrying first location information of the first robot, a communication range of the first robot, and an identification of the second robot. The main control unit receives the control request and determines second position information according to the identification of the second robot. The main control unit selects one robot from the rest robots except the first robot and the second robot according to the first position information, the second position information and the communication range of the first robot, and moves the selected robot to a position between the first robot and the second robot and within the communication range of the first robot.
In addition, the main control unit may select a robot which is in an idle state and closest to the intersecting position from the remaining robots other than the first robot and the second robot. Or by selecting one robot from the remaining robots in other ways, the embodiment of the present application is not limited in this regard.
It should be noted that, in the embodiment of the present application, the master control unit only moves the selected robot to a specific position when acquiring the control request of the robot, and does not process and respond to the acquired information of all robots. For example, only when at least one relay robot is determined, the first robot processes and responds to the control request, then, after determining a target communication link between the first robot and the second robot according to the at least one relay robot, in the process of the two robots communicating according to the determined target communication link, transmission and processing by the master control unit are not needed, the processing capacity of the master control unit is reduced, the times of downtime are reduced, the probability of communication paralysis between multiple robots is reduced, and whether the second robot is located in the communication range of the selected robot is determined, in step 502.
Step 502 may refer to step 402 in the embodiment of fig. 4, and will not be described herein.
If it is determined that the second robot is not located within the communication range of the selected robot, the master control unit continues to select one robot from among the first robot, the second robot, and the robots other than the selected robot, controls the selected robot to move to a position between the first robot and the second robot and within the communication range of the selected robot, and returns to step 502 and the subsequent steps.
For example, the first selected robot may be a first relay robot, that is, a first relay robot is moved to a position between the first robot and the second robot and within a communication range of the first robot. If the first relay robot determines that the second robot is not located within the communication range of the first relay robot, continuing to select one robot from among the first robot, the second robot, and the robots other than the first relay robot as the second relay robot, moving the second relay robot to a position between the first robot and the second robot and within the communication range of the first relay robot, and determining whether the second robot is located within the communication range of the second relay robot.
If the second robot is located within the communication range of the second relay robot, the first relay robot and the second relay robot are determined as the finally selected at least one relay robot.
If the second robot is not located within the communication range of the second relay robot, continuing to select one robot from the first robot, the second robot, the first relay robot and the other robots than the second relay robot as a third relay robot, moving the third relay robot to a position between the first robot and the second robot and within the communication range of the second relay robot, and determining whether the second robot is located within the communication range of the third relay robot, and repeating the steps until a relay robot with a communication range including the second robot is selected.
Of course, step 503 may also be performed by the selected robot. For a specific implementation method, reference may be made to step 403 in the embodiment of fig. 4, which is not described herein.
If it is determined that the second robot is located within the communication range of the selected robot, all the robots selected are determined to be relay robots, and at least one relay robot is obtained, step 504.
Step 504 may refer to step 404 in the embodiment of fig. 4, and will not be described herein.
It should be noted that, according to the embodiment of the present application, at least one relay robot may be flexibly determined from the remaining robots other than the first robot and the second robot according to the position information and the communication range of the robots, where one relay robot of the at least one relay robot is located within the communication range of the first robot, and the second robot is located within the communication range of one relay robot of the at least one relay robot, so that when the second robot is not located within the communication range of the first robot, the communication between the first robot and the second robot may be achieved through the at least one relay robot.
Referring to fig. 6, fig. 6 is a flowchart of another method for determining at least one relay robot according to an embodiment of the present application, where the method combines the above embodiment of fig. 4 and the above method of the embodiment of fig. 5, and specifically includes the following steps:
Step 601, selecting one robot from robots located within a communication range of a first robot.
Step 602 determines if the second robot is within communication range of the selected robot.
If it is determined that the second robot is not located within the communication range of the selected robot, it is determined again whether the number of the selected robots is smaller than the preset number, step 603.
Wherein the preset number is a preset number of robots that can be selected.
When there is no robot around the second robot, i.e. the first robot has no possibility to find a robot, so that the second robot is located within its communication range. In this case, if the method according to the embodiment of fig. 4 is adopted, the first robot may continuously select the robot, which may cause downtime of the first robot. To avoid this, the number of robots that can be selected may be preset. Then, the robots are continuously selected according to the method of the embodiment of fig. 4, and when the number of the selected robots is equal to the preset number, a position between the first robot and the second robot and within the communication range of the last selected robot is selected by the method of the embodiment of fig. 5. Thereafter, one robot is continuously selected by the method of the embodiment of fig. 5 described above until the second robot is within the communication range of the selected robot.
If it is determined that the second robot is not located within the communication range of the selected robot and the number of the selected robots is smaller than the preset number, step 604 is performed, and if the selected robot is the target robot, one robot is selected from the robots located within the communication range of the target robot, and the process returns to step 602 and the subsequent steps.
Step 605, if it is determined that the second robot is not located within the communication range of the selected robot and the number of the selected robots is greater than or equal to the preset number, selecting one robot from the first robot, the second robot and the robots other than the selected robot through the master control unit, controlling the selected robot to move to a position between the first robot and the second robot and within the communication range of the last selected robot, and returning to step 602 and subsequent steps.
At least one relay robot is determined from all robots that have been selected.
If it is determined that the second robot is located within the communication range of the selected robot, all the robots selected are determined to be relay robots, and at least one relay robot is obtained in step 606.
The steps 601 to 606 may refer to the embodiment of fig. 4 and the embodiment of fig. 5, and are not described herein.
It should be noted that, according to the embodiment of the present application, at least one relay robot may be flexibly determined from the remaining robots other than the first robot and the second robot according to the position information and the communication range of the robots, where one relay robot of the at least one relay robot is located within the communication range of the first robot, and the second robot is located within the communication range of one relay robot of the at least one relay robot, so that when the second robot is not located within the communication range of the first robot, the communication between the first robot and the second robot may be achieved through the at least one relay robot.
In one embodiment, there is also provided a robot including a communication interface for communicating with other individuals, a memory, a processor, and a computer program stored in the memory and executable on the processor, when executing the computer program, to implement the steps in the multi-robot communication method and the method of determining at least one relay robot of the above embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments of the present application is not intended to limit the application, but rather, the application is to be construed as limited to the appended claims.
Claims (7)
1. A multi-robot communication method, characterized by being applied to a multi-robot system including a plurality of robots and a main control unit, the plurality of robots being respectively connected with the main control unit, the method comprising:
If the first robot determines that communication with the second robot is needed, determining first position information and a communication range of the first robot, and acquiring second position information of the second robot through the main control unit, wherein the first robot and the second robot are any two of the plurality of robots;
if the first robot determines that the second robot is not located within the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, determining at least one relay robot from the rest robots except the first robot and the second robot, and generating a target communication link according to the identification of the first robot, the identification of the at least one relay robot and the identification of the second robot;
If the first robot determines that the second robot is located in the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, generating a target communication link between the first robot and the second robot according to the identification of the first robot and the identification of the second robot;
The first robot communicates with the second robot according to the target communication link;
The determining at least one relay robot from the remaining robots other than the first robot and the second robot includes:
selecting one robot from robots located within a communication range of the first robot;
determining whether the second robot is within a communication range of the selected robot;
if the second robot is determined not to be in the communication range of the selected robots and the number of the selected robots is smaller than the preset number, selecting one robot from the robots in the communication range of the target robot by taking the selected robots as the target robots, and returning to the step and the subsequent steps of determining whether the second robot is in the communication range of the selected robots;
If the second robot is determined not to be located in the communication range of the selected robot and the number of the selected robots is greater than or equal to the preset number, selecting one robot from the first robot, the second robot and the robots except the selected robots through the main control unit, controlling the selected robot to move to a position between the first robot and the second robot and located in the communication range of the last selected robot, and returning to the step and the subsequent steps of determining whether the second robot is located in the communication range of the selected robot;
and if the second robot is determined to be located in the communication range of the selected robot, determining all the selected robots as relay robots to obtain the at least one relay robot.
2. The method of claim 1, wherein the first robot communicates with the second robot according to the target communication link, comprising:
the first robot determines the next communication node of the first robot according to the target communication link;
The first robot sends a transmission data packet to the next communication node of the robot, wherein the transmission data packet comprises the target communication link, a sending identifier, a receiving identifier and main body data, the sending identifier is used for indicating the first robot, the receiving identifier is used for indicating the second robot, and the main body data is data to be sent to the second robot by the first robot;
And the first robot sends the main body data to the second robot through the sent transmission data packet.
3. The method of claim 2, wherein the first robot transmitting the body data to the second robot via the transmitted transmission data packet, comprising:
For a first communication node in the target communication link, if the first communication node is a relay robot, the relay robot receives the transmission data packet sent by a last communication node of the relay robot, determines a next communication node of the relay robot according to the target communication link, and sends the transmission data packet to the next communication node of the relay robot node, wherein the first communication node is a communication node except the first robot in the target communication link;
And if the first communication node is the second robot, the second robot receives the transmission data packet sent by the last communication node of the second robot and responds to the main body data.
4. The method of claim 1, wherein the obtaining, by the master control unit, second location information of the second robot comprises:
the first robot sends a position information acquisition request to the main control unit, wherein the position information acquisition request carries an identifier of the second robot;
the main control unit receives the position information acquisition request, acquires second position information of the second robot from the stored position information of the plurality of robots according to the identification of the second robot, and sends the second position information to the first robot;
The first robot receives the second location information.
5. The method of claim 4, wherein the step of obtaining the second position information of the second robot from the stored position information of the plurality of robots based on the identification of the second robot further comprises:
The third robot determines own position information and sends the determined position information to the main control unit, wherein the third robot is any one of the robots;
And the main control unit receives the position information sent by the third robot and correspondingly stores the received position information and the identification of the third robot.
6. The multi-robot system is characterized by comprising a plurality of robots and a main control unit, wherein the robots are respectively connected with the main control unit;
The first robot is used for determining first position information and a communication range of the first robot and sending a position information acquisition request to the main control unit if the first robot determines that the first robot needs to communicate with the second robot, wherein the position information acquisition request carries an identifier of the second robot;
The main control unit is used for receiving the position information acquisition request, acquiring second position information of the second robot from the stored position information of the plurality of robots according to the identification of the second robot, and sending the second position information to the first robot;
the first robot is used for receiving the second position information sent by the main control unit;
if the first robot determines that the second robot is not located within the communication range of the first robot according to the first position information, the second position information and the communication range of the first robot, determining at least one relay robot from the rest robots except the first robot and the second robot, and generating a target communication link according to the identification of the first robot, the identification of the at least one relay robot and the identification of the second robot;
The first robot is configured to, if it is determined that the second robot is located within the communication range of the first robot according to the first location information, the second location information, and the communication range of the first robot, generate a target communication link between the first robot and the second robot according to the identifier of the first robot and the identifier of the second robot;
the first robot is used for communicating with the second robot according to the target communication link;
Wherein the determining at least one relay robot from the remaining robots other than the first robot and the second robot includes:
selecting one robot from robots located within a communication range of the first robot;
determining whether the second robot is within a communication range of the selected robot;
if the second robot is determined not to be in the communication range of the selected robots and the number of the selected robots is smaller than the preset number, selecting one robot from the robots in the communication range of the target robot by taking the selected robots as the target robots, and returning to the step and the subsequent steps of determining whether the second robot is in the communication range of the selected robots;
If the second robot is determined not to be located in the communication range of the selected robot and the number of the selected robots is greater than or equal to the preset number, selecting one robot from the first robot, the second robot and the robots except the selected robots through the main control unit, controlling the selected robot to move to a position between the first robot and the second robot and located in the communication range of the last selected robot, and returning to the step and the subsequent steps of determining whether the second robot is located in the communication range of the selected robot;
and if the second robot is determined to be located in the communication range of the selected robot, determining all the selected robots as relay robots to obtain the at least one relay robot.
7. A robot comprising a communication interface, a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the communication interface is adapted to communicate with other individuals, the processor executing the computer program to carry out the steps of the method according to any one of claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111036887.6A CN113852941B (en) | 2021-09-03 | 2021-09-03 | Multi-robot communication method, multi-robot system and robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111036887.6A CN113852941B (en) | 2021-09-03 | 2021-09-03 | Multi-robot communication method, multi-robot system and robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113852941A CN113852941A (en) | 2021-12-28 |
CN113852941B true CN113852941B (en) | 2024-06-21 |
Family
ID=78973359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111036887.6A Active CN113852941B (en) | 2021-09-03 | 2021-09-03 | Multi-robot communication method, multi-robot system and robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852941B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212404A (en) * | 2020-01-10 | 2020-05-29 | 北京猎户星空科技有限公司 | Robot communication method, system, device, robot and storage medium |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100977514B1 (en) * | 2008-04-02 | 2010-08-23 | 연세대학교 산학협력단 | System and method for finding path using multiple mobile robots |
KR101039282B1 (en) * | 2009-09-17 | 2011-06-07 | 재단법인대구경북과학기술원 | Method, follower robot and system for spacing wireless sensor networks based robots |
KR101277452B1 (en) * | 2009-12-09 | 2013-07-05 | 한국전자통신연구원 | Mobile robot based on a crowed intelligence, method for controlling the same and watching robot system |
CA2718870A1 (en) * | 2010-10-26 | 2012-04-26 | Penguin Automated Systems Inc. | Telerobotic communications system and method |
CN103256931B (en) * | 2011-08-17 | 2014-11-26 | 清华大学 | Visual navigation system of unmanned planes |
WO2013059513A1 (en) * | 2011-10-18 | 2013-04-25 | Reconrobotics, Inc. | Robot control translation and gateway system |
JP5321717B2 (en) * | 2012-06-18 | 2013-10-23 | 日本電気株式会社 | Road-to-vehicle and vehicle-to-vehicle communication system, road-to-vehicle and vehicle-to-vehicle communication method, program thereof, and program recording medium |
CN108260081A (en) * | 2016-12-27 | 2018-07-06 | 纳恩博(北京)科技有限公司 | Network capacity extension methods, devices and systems |
KR102639716B1 (en) * | 2017-01-03 | 2024-02-23 | 한화에어로스페이스 주식회사 | Robot management method and robot management system |
CN108123749A (en) * | 2017-11-29 | 2018-06-05 | 中国人民解放军陆军工程大学 | Communication relay backup unmanned mobile device, topology system and construction method |
CN108770031B (en) * | 2018-03-21 | 2022-05-17 | 洪贵顺 | Dynamic path planning method, dynamic path planning system, and storage medium |
WO2019204987A1 (en) * | 2018-04-24 | 2019-10-31 | 深圳前海达闼云端智能科技有限公司 | Information transmission method controlled by cloud, robot, and group robot system |
CN110605713B (en) * | 2018-06-15 | 2023-06-27 | 科沃斯机器人股份有限公司 | Robot positioning method, robot, and storage medium |
CN109176510A (en) * | 2018-08-21 | 2019-01-11 | 深圳威琳懋生物科技有限公司 | A kind of exploration robot with collaboration capabilities |
CN111447545A (en) * | 2018-12-29 | 2020-07-24 | 华为技术有限公司 | Communication method and device |
CN111836329B (en) * | 2019-04-19 | 2022-04-22 | Oppo广东移动通信有限公司 | Data transmission method and related device |
CN110167097B (en) * | 2019-04-22 | 2024-02-20 | 北京邮电大学 | Mobile robot relay routing method based on weighted metric forwarding and path planning |
KR20190114930A (en) * | 2019-09-19 | 2019-10-10 | 엘지전자 주식회사 | Mobile robot and security system using the same |
CN113119105A (en) * | 2019-12-31 | 2021-07-16 | 北京配天技术有限公司 | Robot multi-machine linkage control method, multi-machine linkage control equipment and control system |
CN112040534B (en) * | 2020-08-17 | 2023-02-17 | 深圳优地科技有限公司 | Robot rescue method, device and system based on unmanned aerial vehicle and storage medium |
CN112286222B (en) * | 2020-10-15 | 2023-01-24 | 珠海格力电器股份有限公司 | Unmanned aerial vehicle control method, device and equipment |
CN112235545B (en) * | 2020-10-19 | 2021-06-15 | 中国人民解放军国防科技大学 | Multi-machine cooperation and video relay transmission method |
CN113225383A (en) * | 2021-04-13 | 2021-08-06 | 陶晓健 | Multi-link communication system for realizing communication link with robot system |
-
2021
- 2021-09-03 CN CN202111036887.6A patent/CN113852941B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212404A (en) * | 2020-01-10 | 2020-05-29 | 北京猎户星空科技有限公司 | Robot communication method, system, device, robot and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113852941A (en) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sahingoz | Networking models in flying ad-hoc networks (FANETs): Concepts and challenges | |
US8527457B2 (en) | Arrangement for autonomous mobile network nodes to organize a wireless mobile network based on detected physical and logical changes | |
US10834766B2 (en) | Unmanned vehicle controlling system and method of operating same | |
US7813326B1 (en) | Swarm location service for mobile ad hoc network communications | |
CN107968692B (en) | Unmanned aerial vehicle communication method and communication device and unmanned aerial vehicle | |
US11334069B1 (en) | Systems, methods and computer program products for collaborative agent control | |
EP2941847B1 (en) | Delegated channel switching for mesh-type networks | |
CN108698227A (en) | Cloud-controlled information transmission method, robot and swarm robot system | |
CN113867382A (en) | Topology control method of unmanned aerial vehicle cluster network | |
CN113852941B (en) | Multi-robot communication method, multi-robot system and robot | |
Waheed et al. | Laod: Link aware on demand routing in flying ad-hoc networks | |
CN114302265B (en) | Coordinate addressing unmanned aerial vehicle all-optical networking method | |
KR102368357B1 (en) | Multicast Routing Method based on Predictive Location of Unmanned Vehicle | |
Choi et al. | Information delivery scheme of micro UAVs having limited communication range during tracking the moving target | |
US11956067B2 (en) | Wireless base station, control system, electronic device, and wireless communication terminal | |
Takahashi et al. | Cooperative object tracking with mobile robotic sensor network | |
CN114826817A (en) | Communication control method, electronic device and storage medium | |
Azem et al. | Dynamic time slot allocation algorithm for quadcopter swarms | |
WO2022029158A1 (en) | A method for controlling a plurality of uavs | |
Pinto et al. | Network enabled cooperation of autonomous vehicles: a communications perspective | |
JP7516183B2 (en) | Multi-agent system and node device | |
CN112799010A (en) | Indoor positioning system and method | |
Durnyak et al. | Intelligent System for Sensor Wireless Network Access: Modeling Methods of Network Construction | |
Li et al. | Implementation of unmanned ground vehicle navigation in wireless sensor and actuator networks | |
Yoon et al. | A new search algorithm using autonomous and cooperative multiple sensor nodes |
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 |