A robot control system, method, apparatus and robot

By controlling multiple robots through a management platform, specifying their formation, and adjusting and detecting their positions, the problem of unstable formation in multi-robot collaborative work was solved, and the task was successfully executed.

CN116394243BActive Publication Date: 2026-06-02HANGZHOU HIKROBOT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU HIKROBOT TECH CO LTD
Filing Date
2023-03-31
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

How to control multiple robots to work together and maintain a relatively stable formation to complete a task.

Method used

The management platform identifies the master and slave robots, specifies the formation and adjusts their positions, detects positional relationships, and sends notifications and instructions to ensure the smooth execution of the task.

Benefits of technology

It achieves formation stability when multiple robots work together, ensuring the smooth completion of tasks and high execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116394243B_ABST
    Figure CN116394243B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a robot control system, method, device and robot, and are applied to the technical field of robots. The robot control system comprises a management platform and a plurality of robots. The management platform determines a specified formation of a plurality of target robots and issues the specified formation; each target robot adjusts a position according to the specified formation; each slave robot detects an initial detection position of a master robot, and reports a first notification message when a detection error of a detection position relationship and a specified position relationship satisfies a detection error condition; the master robot determines an initial formation, and reports a second notification message when a positioning error of the initial formation and the specified formation satisfies a positioning error condition and the first notification message reported by each slave robot is received; the management platform issues a task start instruction based on the second notification message; and each target robot executes a to-be-executed task. By applying the scheme provided in the embodiments of the present application, the plurality of robots can be controlled to work cooperatively.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a robot control system, method, apparatus, and robot. Background Technology

[0002] With the continuous development of robotics technology, robots are being widely used in various scenarios of production and daily life. For example, in homes, cleaning robots are used to clean room floors; in the logistics and transportation industry, AGVs (Automated Guided Vehicles) are used to transport goods.

[0003] Typically, certain tasks, such as material handling or exhibitions, require multiple robots to work together. In the process of multiple robots collaborating on the same task, they need to maintain a relatively stable formation to ensure the task can proceed smoothly.

[0004] Therefore, how to control multiple robots to work together is an urgent problem to be solved. Summary of the Invention

[0005] The purpose of this application is to provide a robot control system, method, apparatus, and robot for controlling multiple robots to work collaboratively. The specific technical solution is as follows:

[0006] In a first aspect, embodiments of the present invention provide a robot control system, the system including a management platform and multiple robots;

[0007] The management platform is used to identify the master robot and slave robots among the plurality of robots that are to perform the task to be performed, as target robots, and to determine a specified formation of the target robots based on the task to be performed; and to send the specified formation to each target robot; wherein, the specified formation includes: a specified position of the master robot, and a specified positional relationship between each slave robot and the master robot;

[0008] Each target robot is used to adjust its position according to the specified formation to obtain a starting position;

[0009] Each slave robot is also used to report its own starting position to the master robot; to perform position detection on the master robot to obtain the initial detection position of the master robot; and to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition; wherein, the detected position relationship is: the positional relationship between the initial detection position and the starting position of the slave robot;

[0010] The main robot is also used to determine the initial formation of multiple target robots based on the starting position of each target robot; when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, and receives the first notification message reported by each sub-robot, it sends a second notification message to the management platform.

[0011] The management platform is also used to send a task start instruction carrying the task to be executed to each target robot when it receives the second notification message;

[0012] Each target robot is also used to execute the task to be executed when it receives the task start instruction.

[0013] Alternatively, in one specific implementation,

[0014] The master robot is further configured to, when it detects that the positioning error does not meet the positioning error condition, issue a first adjustment instruction to each slave robot to instruct it to adjust its position according to the specified formation, and return to the step of adjusting its position according to the specified formation to obtain the starting position;

[0015] Each robot is also configured to, upon receiving the first adjustment instruction, return to the step of adjusting its position according to the specified formation to obtain the starting position.

[0016] Alternatively, in one specific implementation,

[0017] The master robot is also used to issue a judgment instruction to each slave robot to instruct the slave robot to perform a position relationship judgment when the positioning error is detected to meet the positioning error condition;

[0018] Each slave robot performs position detection on the master robot, including:

[0019] When each slave robot receives the judgment instruction, it performs position detection on the master robot.

[0020] Alternatively, in one specific implementation,

[0021] Each slave robot is also configured to, when the detection error does not meet the detection error condition, adjust its position based on the detection error, update the starting position according to the adjustment result, and determine whether the detection error meets the detection error condition to obtain a determination result; if the determination result is met, report the starting position and the first notification message to the master robot; otherwise, return to the step of adjusting the position based on the detection error.

[0022] The master robot is also used to return to the step of determining the initial formation of the plurality of target robots based on the starting position of each target robot.

[0023] Alternatively, in one specific implementation,

[0024] Each slave robot is further configured to determine, before performing position adjustment based on the detection error, whether the determination result is unsatisfactory for a consecutive preset number of times; if not, return to the step of performing position detection on the master robot; if yes, send a position adjustment request to the master robot.

[0025] The master robot is further configured to, upon receiving the position adjustment request, return to the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation.

[0026] Alternatively, in one specific implementation,

[0027] Each slave robot is also configured to perform the following steps according to a preset cycle during the execution of the task to be performed: report its own first moving position to the master robot, and perform position detection on the master robot to obtain the moving detection position of the master robot; calculate the moving position relationship between the first moving position and the moving detection position, and report the moving position relationship and the specified position relationship to the master robot.

[0028] The master robot is further configured to, during the execution of the task to be executed, perform the following steps according to the preset cycle: determine its own second moving position; determine the first moving formation of the plurality of target robots based on the first moving position and the second moving position of each slave robot, and determine the first formation error between the first moving formation and the specified formation; determine the second formation error based on the moving error reported by each slave robot; and detect whether the current error between the current moving formation of the plurality of target robots and the specified formation satisfies the preset error condition based on the first formation error and the second formation error.

[0029] The master robot is also configured to, if it detects that the current error does not meet the preset error condition, issue a task stop instruction to each slave robot and stop executing the task to be executed; and report a first alarm notification to the management platform.

[0030] Each robot is also configured to stop executing the task to be executed upon receiving the task stop instruction;

[0031] The management platform is also used to receive the first alarm notification.

[0032] Optionally, in one specific implementation, the main robot, based on the first formation error and the second formation error, detects whether the current error between the current movement formation of the plurality of target robots and the specified formation meets a preset error condition, including:

[0033] Calculate the difference between the first formation error and the second formation error;

[0034] If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition.

[0035] If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

[0036] Alternatively, in one specific implementation,

[0037] The master robot is also used to send the second movement position to each slave robot according to the preset cycle;

[0038] The robot is further configured to adjust its position according to the relationship between the most recently received second movement position and the specified position when the movement error does not meet the detection error condition;

[0039] The master robot is also configured to report a second alarm notification to the management platform before issuing a task stop command to each slave robot, and determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a consecutive specified number of preset periods; if so, then issue a task stop command to each slave robot.

[0040] Alternatively, in one specific implementation,

[0041] The master robot is further configured to perform the following steps after stopping the execution of the task to be executed: send the current movement position of the master robot and a second adjustment instruction to each slave robot, indicating that the position should be adjusted according to the current movement position and the specified position relationship; determine a second movement formation of the plurality of target robots based on the third movement position of each slave robot and the current movement position, and determine a third formation error between the second movement formation and the specified formation; determine a fourth formation error based on the current error between the current position relationship reported by each slave robot and the specified position relationship; detect whether the current error between the current adjusted formation of the plurality of target robots and the specified formation satisfies the preset error condition based on the third formation error and the fourth formation error; if satisfied, send a task continuation instruction to each slave robot and continue executing the task to be executed; report an alarm stop notification to the management platform.

[0042] Each slave robot is further configured to perform the following steps after ceasing execution of the task to be executed: upon receiving the second adjustment instruction, adjust its position according to the current movement position and the specified position relationship to obtain the third movement position; report the third movement position to the master robot and perform position detection on the master robot to obtain the current detection position of the master robot; calculate the current position relationship between the third movement position and the current detection position and report the current error to the master robot; and continue executing the task to be executed upon receiving the task continuation instruction.

[0043] The management platform is also used to receive the alarm stop notification.

[0044] In a second aspect, embodiments of the present invention provide a robot control method, applied to a master robot among multiple robots in a robot control system for performing a task to be performed, the system further including a management platform and the multiple robots; the method includes:

[0045] The starting position is obtained by adjusting the position according to the specified formation of the target robot sent by the management platform; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot;

[0046] The system receives the starting position of each slave robot and determines an initial formation of multiple target robots based on the starting position of each target robot. The starting position of each slave robot is reported to the master robot after each slave robot adjusts its position according to the specified formation to obtain its starting position.

[0047] When the positioning error between the initial formation and the designated formation is detected to meet the positioning error condition, and a first notification message is received from each slave robot, a second notification message is sent to the management platform. This allows the management platform to receive the second notification message and issue a task start instruction carrying the task to be executed to each target robot. The first notification message is reported by each slave robot to the master robot when it detects that the detection error between the probe position relationship and the designated position relationship meets the detection error condition. The probe position relationship is the positional relationship between the initial probe position of the master robot and the starting position of the slave robot, obtained by the slave robot probing the master robot.

[0048] Receive the task start instruction and execute the task to be executed.

[0049] Optionally, in one specific implementation, the method further includes:

[0050] When the positioning error is detected to not meet the positioning error condition, a first adjustment instruction is issued to each slave robot to instruct it to adjust its position according to the specified formation, so that each slave robot, upon receiving the first adjustment instruction, adjusts its position according to the specified formation to obtain a starting position, and returns to the step of adjusting its position according to the specified formation to obtain a starting position.

[0051] Optionally, in one specific implementation, the method further includes:

[0052] When the positioning error is detected to meet the positioning error condition, a judgment instruction is issued to each slave robot to instruct the slave robot to perform position relationship judgment, so that each slave robot can perform position detection on the master robot when it receives the judgment instruction.

[0053] Optionally, in one specific implementation, the method further includes:

[0054] Upon receiving a position adjustment request, the process returns to the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation; wherein, the position adjustment request is reported by each slave robot when, before adjusting its position based on the detection error, it has determined that the detection error does not meet the detection error condition for a consecutive preset number of judgments.

[0055] Optionally, in one specific implementation, the method further includes:

[0056] During the execution of the task to be executed, the following steps are performed according to the preset cycle:

[0057] Determine its second moving position;

[0058] A first movement formation of the plurality of target robots is determined based on the first movement position and the second movement position reported by each robot, and a first formation error between the first movement formation and the specified formation is determined.

[0059] A second formation error is determined based on the movement error reported by each slave robot regarding the movement position relationship and the specified position relationship; wherein, the movement position relationship is the relationship between the movement detection position of the master robot obtained by each slave robot based on position detection and the first movement position;

[0060] Based on the first formation error and the second formation error, it is detected whether the current movement formation of the plurality of target robots and the current error of the specified formation meet the preset error conditions.

[0061] If the current error is detected to not meet the preset error condition, the execution of the task to be executed is stopped, and a task stop instruction is sent to each slave robot so that each slave robot stops executing the task to be executed when it receives the task stop instruction;

[0062] The first alarm notification is reported to the management platform so that the management platform receives the first alarm notification.

[0063] Optionally, in one specific implementation, detecting whether the current error between the current movement formation of the plurality of target robots and the specified formation satisfies a preset error condition based on the first formation error and the second formation error includes:

[0064] Calculate the difference between the first formation error and the second formation error;

[0065] If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition.

[0066] If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

[0067] Optionally, in one specific implementation, the method further includes:

[0068] According to the preset cycle, the second movement position is sent to each slave robot so that when the movement error does not meet the detection error condition, the slave robot adjusts its position according to the relationship between the most recently received second movement position and the specified position.

[0069] Before issuing a task stop command to each slave robot, a second alarm notification is reported to the management platform, and it is determined whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a specified number of consecutive preset periods; if so, a task stop command is issued to each slave robot.

[0070] Optionally, in one specific implementation, the method further includes:

[0071] After stopping the execution of the task to be executed, perform the following steps:

[0072] The system sends the current movement position of the master robot and a second adjustment instruction to each slave robot to indicate position adjustment according to the current movement position and the specified position relationship. When each slave robot receives the second adjustment instruction, it adjusts its position according to the current movement position and the specified position relationship to obtain a third movement position and reports the third movement position to the master robot. The system also performs position detection on the master robot to obtain the current detection position of the master robot, calculates the current position relationship between the third movement position and the current detection position, and reports the current error between the current position relationship and the specified position relationship to the master robot.

[0073] The second movement formation of the plurality of target robots is determined based on the third movement position of each slave robot and the current movement position, and the third formation error between the second movement formation and the specified formation is determined; a fourth formation error is determined based on the current error reported by each slave robot.

[0074] Based on the third formation error and the fourth formation error, it is detected whether the current error between the current adjusted formation of the plurality of target robots and the current error of the specified formation meets the preset error condition;

[0075] If the conditions are met, the task to be executed continues, and a task continuation instruction is issued to each slave robot so that each slave robot continues to execute the task to be executed upon receiving the task continuation instruction.

[0076] Report the alarm stop notification to the management platform so that the management platform receives the alarm stop notification.

[0077] Thirdly, embodiments of the present invention provide a robot control method applied to a slave robot among multiple robots in a robot control system for performing a task to be performed; the system further includes a management platform and the multiple robots; the method includes:

[0078] The starting position is obtained by adjusting the position according to the specified formation of the target robot sent by the management platform; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot;

[0079] The robot reports its starting position to the master robot, so that the master robot can determine the initial formation of multiple target robots based on the starting position of each target robot.

[0080] The main robot is subjected to position detection to obtain its initial detection position;

[0081] When the detection error between the detected position relationship and the specified position relationship meets the detection error condition, a first notification message is reported to the master robot. This allows the master robot to send a second notification message to the management platform upon receiving the first notification message from each slave robot, after detecting that the positioning error between the initial formation and the specified formation meets the positioning error condition. Upon receiving the second notification message, the management platform then issues a task start command carrying the task to be executed to each target robot. The detected position relationship is defined as the positional relationship between the initial detection position and the starting position of the slave robot.

[0082] Receive the task start instruction and execute the task to be executed.

[0083] Optionally, in one specific implementation, the method further includes:

[0084] Upon receiving the first adjustment instruction, the process returns to the step of adjusting the position according to the specified formation to obtain the starting position; wherein, the first adjustment instruction is an instruction issued by the master robot to each slave robot to instruct it to adjust the position according to the specified formation when the master robot detects that the positioning error does not meet the positioning error condition.

[0085] Optionally, in one specific implementation, position detection of the main robot includes:

[0086] Upon receiving a judgment instruction, the master robot performs position detection; wherein, the judgment instruction is an instruction issued by the master robot to each slave robot when it detects that the positioning error meets the positioning error condition, instructing the slave robot to perform a position relationship judgment.

[0087] Optionally, in one specific implementation, the method further includes:

[0088] When the detection error is detected to not meet the detection error condition, the position is adjusted based on the detection error, the starting position is updated according to the adjustment result, and it is determined whether the detection error meets the detection error condition.

[0089] If the conditions are met, the starting position and the first notification message are reported to the master robot so that the master robot can determine the initial formation of the multiple target robots based on the starting position of each target robot.

[0090] Otherwise, return to the step of adjusting the position based on the detection error.

[0091] Optionally, in one specific implementation, the method further includes:

[0092] Before adjusting the position based on the detection error, it is determined whether the judgment result is unsatisfactory for a preset number of consecutive times;

[0093] If not, return to the step of detecting the position of the main robot;

[0094] If so, a position adjustment request is sent to the master robot, so that when the master robot receives the position adjustment request, it issues a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation.

[0095] Optionally, in one specific implementation, the method further includes:

[0096] During the execution of the task to be executed, the following steps are performed according to a preset cycle:

[0097] The master robot performs position detection on itself to obtain the master robot's movement detection position and reports its own first movement position, so that the master robot determines the first movement formation of the multiple target robots based on the first movement position of each slave robot and its own second movement position determined according to a preset period, and determines the first movement formation error between the first movement formation and the specified formation.

[0098] The system calculates the positional relationship between the first moving position and the moving detection position, and reports the movement error between the positional relationship and the specified positional relationship to the master robot. This allows the master robot to determine a second formation error based on the movement error reported by each slave robot. Based on the first formation error and the second formation error, the system detects whether the current error between the current moving formation of the multiple target robots and the specified formation meets a preset error condition. If the current error does not meet the preset error condition, the system stops executing the task to be executed and issues a task stop command to each slave robot. The system also reports a first alarm notification to the management platform, enabling the management platform to receive the first alarm notification.

[0099] Upon receiving the task stop instruction, the execution of the task to be executed is stopped.

[0100] Optionally, in one specific implementation, the method further includes:

[0101] When the movement error does not meet the detection error condition, the position is adjusted according to the relationship between the most recently received second movement position and the specified position; wherein, the second movement position is issued by the master robot to each slave robot according to the preset cycle.

[0102] Optionally, in one specific implementation, the method further includes:

[0103] After stopping the execution of the task to be executed, perform the following steps:

[0104] Upon receiving the second adjustment instruction, the position is adjusted according to the current movement position issued by the master robot and the specified position relationship to obtain the third movement position; wherein, the second adjustment instruction is an instruction issued by the master robot to each slave robot to instruct the position adjustment according to the current movement position and the specified position relationship;

[0105] The third moving position is reported to the main robot, and the position of the main robot is detected to obtain the current detection position of the main robot;

[0106] The system calculates the current positional relationship between the third moving position and the current detection position, and reports the current error between the current positional relationship and the specified positional relationship to the master robot. This allows the master robot to determine the second moving formation of the multiple target robots based on the third moving position and the current moving position of each slave robot, and to determine the third formation error between the second moving formation and the specified formation. Based on the current error reported by each slave robot, a fourth formation error is determined. Based on the third and fourth formation errors, the system checks whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition. If it does, the system continues to execute the task to be executed, issues a task continuation instruction to each slave robot, and reports an alarm stop notification to the management platform, enabling the management platform to receive the alarm stop notification.

[0107] Upon receiving the task continuation instruction, the task to be executed continues.

[0108] Fourthly, embodiments of the present invention provide a robot control device applied to a master robot among multiple robots in a robot control system for performing a task to be performed; the system further includes a management platform and the multiple robots; the device includes:

[0109] The first position adjustment module is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified position relationship between each slave robot and the master robot;

[0110] The initial formation determination module is used to receive the starting position of each slave robot and determine the initial formation of multiple target robots based on the starting position of each target robot; wherein, the starting position of each slave robot is reported to the master robot after each slave robot has adjusted its position according to the specified formation to obtain the starting position;

[0111] The detection module is configured to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives a first notification message reported by each slave robot. This allows the management platform to receive the second notification message and issue a task start instruction carrying the task to be executed to each target robot. The first notification message is reported by each slave robot to the master robot when it detects that the detection error between the probe position relationship and the specified position relationship meets the detection error condition. The probe position relationship is the positional relationship between the initial probe position of the master robot and the starting position of the slave robot, obtained by the slave robot probing the master robot.

[0112] The first execution module is used to receive the task start instruction and execute the task to be executed.

[0113] Optionally, in one specific implementation, the apparatus further includes:

[0114] The first sending module is used to send a first adjustment instruction to each slave robot when the positioning error is detected to not meet the positioning error condition, instructing it to adjust its position according to the specified formation, so that each slave robot, upon receiving the first adjustment instruction, adjusts its position according to the specified formation to obtain a starting position, and returns to the step of adjusting its position according to the specified formation to obtain the starting position.

[0115] Optionally, in one specific implementation, the apparatus further includes:

[0116] The second sending module is used to send a judgment instruction to each slave robot when the positioning error is detected to meet the positioning error condition, so that each slave robot can perform position detection on the master robot when it receives the judgment instruction.

[0117] Optionally, in one specific implementation, the apparatus further includes:

[0118] The first return module is used to return the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation when a position adjustment request is received; wherein, the position adjustment request is reported by each slave robot when the judgment result of a consecutive preset number of judgments is that the detection error does not meet the detection error condition before adjusting its position based on the detection error.

[0119] Optionally, in one specific implementation, the apparatus further includes:

[0120] The first determining module is used to determine its second moving position according to the preset period during the execution of the task to be executed;

[0121] The second determining module is used to determine the first movement formation of the plurality of target robots based on the first movement position and the second movement position reported by each robot, and to determine the first movement formation and the first formation error between the first movement formation and the specified formation.

[0122] The third determining module is used to determine the second formation error based on the movement error reported by each slave robot regarding the movement position relationship and the specified position relationship; wherein, the movement position relationship is the relationship between the movement detection position of the master robot obtained by each slave robot based on position detection and the first movement position;

[0123] The first condition detection module is used to detect whether the current error between the current movement formation of the plurality of target robots and the specified formation meets a preset error condition based on the first formation error and the second formation error.

[0124] The third sending module is used to stop executing the task to be executed if the current error is detected to not meet the preset error condition, and to send a task stop instruction to each slave robot so that each slave robot stops executing the task to be executed when it receives the task stop instruction;

[0125] The first reporting module is used to report a first alarm notification to the management platform so that the management platform can receive the first alarm notification.

[0126] Optionally, in one specific implementation, the third determining module is specifically used for:

[0127] Calculate the difference between the first formation error and the second formation error;

[0128] If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition.

[0129] If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

[0130] Optionally, in one specific implementation, the device further includes

[0131] The fourth sending module is used to send the second movement position to each slave robot according to the preset period, so that when the movement error does not meet the detection error condition, the slave robot can adjust its position according to the relationship between the most recently received second movement position and the specified position.

[0132] The second reporting module is used to report a second alarm notification to the management platform before issuing a task stop command to each slave robot, and to determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a consecutive specified number of preset periods; if so, a task stop command is issued to each slave robot.

[0133] Optionally, in one specific implementation, the device further includes

[0134] The fifth sending module is used to perform the following steps after stopping the execution of the task to be executed: sending the current movement position of the master robot and a second adjustment instruction to each slave robot to indicate position adjustment according to the current movement position and the specified position relationship, so that each slave robot, upon receiving the second adjustment instruction, adjusts its position according to the current movement position and the specified position relationship to obtain a third movement position, and reports the third movement position to the master robot; performing position detection on the master robot to obtain the current detection position of the master robot; calculating the current position relationship between the third movement position and the current detection position; and reporting the current error between the current position relationship and the specified position relationship to the master robot.

[0135] The fourth determining module is used to determine the second movement formation of the plurality of target robots based on the third movement position of each robot and the current movement position, and to determine the third formation error between the second movement formation and the specified formation;

[0136] The fifth determination module is used to determine the fourth formation error based on the current error reported by each robot;

[0137] The second condition detection module is used to detect whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition based on the third formation error and the fourth formation error; if it does, the sixth sending module is triggered.

[0138] The sixth sending module is used to continue executing the task to be executed and to send a task continuation instruction to each slave robot, so that each slave robot continues to execute the task to be executed when it receives the task continuation instruction;

[0139] The third reporting module is used to report the alarm stop notification to the management platform so that the management platform can receive the alarm stop notification.

[0140] Fifthly, embodiments of the present invention provide a robot control device applied to a slave robot among multiple robots in a robot control system for performing a task to be performed; the system further includes a management platform and the multiple robots; the device includes:

[0141] The second position adjustment module is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot;

[0142] The position reporting module is used to report its own starting position to the main robot, so that the main robot can determine the initial formation of multiple target robots based on the starting position of each target robot;

[0143] The detection module is used to detect the position of the main robot and obtain the initial detection position of the main robot;

[0144] The message reporting module is used to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition. This allows the master robot to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives the first notification message reported by each slave robot. This allows the management platform to issue a task start instruction carrying the task to be executed to each target robot upon receiving the second notification message. The detected position relationship is the positional relationship between the initial detection position and the starting position of the slave robot.

[0145] The second execution module is used to receive the task start instruction and execute the task to be executed.

[0146] Optionally, in one specific implementation, the apparatus further includes:

[0147] The second return module is used to return to the step of adjusting the position according to the specified formation to obtain the starting position when the first adjustment instruction is received; wherein, the first adjustment instruction is an instruction issued by the master robot to each slave robot to instruct it to adjust the position according to the specified formation when the master robot detects that the positioning error does not meet the positioning error condition.

[0148] Optionally, in one specific implementation, the detection module is specifically used for:

[0149] Upon receiving a judgment instruction, the master robot performs position detection; wherein, the judgment instruction is an instruction issued by the master robot to each slave robot when it detects that the positioning error meets the positioning error condition, instructing the slave robot to perform a position relationship judgment.

[0150] Optionally, in one specific implementation, the apparatus further includes:

[0151] The first judgment module is used to adjust the position based on the detection error when the detection error does not meet the detection error condition, update the starting position according to the adjustment result, and determine whether the detection error meets the detection error condition; if it does, the fourth reporting module is triggered; otherwise, the third return module is triggered.

[0152] The fourth reporting module is used to report the starting position and the first notification message to the master robot, so that the master robot can determine the initial formation of the multiple target robots based on the starting position of each target robot.

[0153] The third return module is used to return the step of adjusting the position based on the detection error.

[0154] Optionally, in one specific implementation, the apparatus further includes:

[0155] The second judgment module is used to determine whether the judgment result is unsatisfactory for a preset number of consecutive times before the position adjustment is performed based on the detection error; if not, the fourth return module is triggered; if yes, the first sending module is triggered.

[0156] The fourth return module is used to return the step of performing position detection on the main robot;

[0157] The first sending module is configured to send a position adjustment request to the master robot, so that when the master robot receives the position adjustment request, it issues a first adjustment instruction to each slave robot, instructing each slave robot to adjust its position according to the specified formation.

[0158] Optionally, in one specific implementation, the apparatus further includes:

[0159] The fifth reporting module is used to perform the following steps according to a preset period during the execution of the task to be executed: to perform position detection on the main robot, obtain the movement detection position of the main robot, and report its own first movement position, so that the main robot can determine the first movement formation of the multiple target robots based on the first movement position of each slave robot and its own second movement position determined according to the preset period, and determine the first movement formation error between the first movement formation and the specified formation;

[0160] The sixth reporting module is used to calculate the positional relationship between the first moving position and the moving detection position, and report the movement error between the positional relationship and the specified positional relationship to the master robot, so that the master robot determines the second formation error based on the movement error reported by each slave robot. Based on the first formation error and the second formation error, it detects whether the current error between the current moving formation of the multiple target robots and the specified formation meets the preset error condition. If the current error does not meet the preset error condition, it stops executing the task to be executed and issues a task stop instruction to each slave robot, and reports a first alarm notification to the management platform, so that the management platform receives the first alarm notification.

[0161] The stop module is used to stop the execution of the task to be executed when the task stop instruction is received.

[0162] Optionally, in one specific implementation, the apparatus further includes:

[0163] The third position adjustment module is used to adjust the position according to the relationship between the most recently received second movement position and the specified position when the movement error does not meet the detection error condition; wherein, the second movement position is issued by the master robot to each slave robot according to the preset period.

[0164] Optionally, in one specific implementation, the apparatus further includes:

[0165] The first position determination module is used to perform the following steps after stopping the execution of the task to be executed: upon receiving the second adjustment instruction, adjusting the position according to the current movement position issued by the master robot and the specified position relationship to obtain a third movement position; wherein, the second adjustment instruction is an instruction issued by the master robot to each slave robot to instruct the position adjustment according to the current movement position and the specified position relationship;

[0166] The second position determination module is used to report the third movement position to the main robot and perform position detection on the main robot to obtain the current detection position of the main robot;

[0167] The calculation module is used to calculate the current positional relationship between the third moving position and the current detection position, and report the current error between the current positional relationship and the specified positional relationship to the master robot, so that the master robot determines the second moving formation of the multiple target robots based on the third moving position of each slave robot and the current moving position, and determines the third formation error between the second moving formation and the specified formation. Based on the current error reported by each slave robot, a fourth formation error is determined. Based on the third formation error and the fourth formation error, it detects whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition. If it does, the pending task is continued to be executed, and a task continuation instruction is issued to each slave robot. An alarm stop notification is reported to the management platform, so that the management platform receives the alarm stop notification.

[0168] The continuation module is used to continue executing the task to be executed when the task continuation instruction is received.

[0169] Sixthly, embodiments of the present invention provide a robot, comprising:

[0170] Memory, used to store computer programs;

[0171] A processor, when executing a program stored in memory, implements the method described in either the second or third aspect described above.

[0172] In a seventh aspect, embodiments of the present invention provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method described in either the second or third aspect above.

[0173] Eighthly, embodiments of this application also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of any of the above method embodiments.

[0174] Beneficial effects of the embodiments in this application:

[0175] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method. Attached Figure Description

[0176] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0177] Figure 1 A schematic diagram of a robot control system provided in an embodiment of this application;

[0178] Figure 2 Another schematic diagram of the robot control system provided in the embodiments of this application;

[0179] Figure 3 A signaling interaction diagram of a robot control system provided in an embodiment of this application;

[0180] Figures 4(a)-4(d) The following are specific example diagrams illustrating the sensor positions provided in the embodiments of this application;

[0181] Figure 5 Another signaling interaction diagram of the robot control system provided in the embodiments of this application;

[0182] Figure 6 A flowchart illustrating a specific example of a robot control system provided in this application embodiment;

[0183] Figure 7 A flowchart illustrating a robot control method provided in this application embodiment;

[0184] Figure 8 A flowchart illustrating yet another robot control method provided in this application embodiment;

[0185] Figure 9 This is a schematic diagram of the structure of a robot control device provided in an embodiment of this application;

[0186] Figure 10 This is a schematic diagram of the structure of another robot control device provided in the embodiments of this application;

[0187] Figure 11 A schematic diagram of the structure of a robot provided in an embodiment of this application;

[0188] Figure 12 This is a schematic diagram of the structure of another robot provided in an embodiment of this application. Detailed Implementation

[0189] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0190] Typically, certain tasks, such as material handling or exhibitions, require multiple robots to work collaboratively. During this collaborative task, the robots need to maintain a relatively stable formation to ensure the task proceeds smoothly. Therefore, how to control the collaborative work of multiple robots is a pressing problem that needs to be solved.

[0191] To address the aforementioned technical problems, this application provides a robot control system, which includes a management platform and multiple robots.

[0192] This robot control system is applicable to various scenarios where multiple robots work collaboratively, such as controlling two robots to jointly transport the same goods, or controlling multiple robots to arrange themselves into a certain shape for queue display. Therefore, this application does not specifically limit the application scenarios of this system.

[0193] The aforementioned management platform can be any electronic device capable of communicating with multiple robots, such as a server, mobile phone, or computer. Based on this, the embodiments of this application do not specifically limit the executing entity of the system.

[0194] Furthermore, in order to implement the control method provided in the embodiments of this application, each of the above robots is equipped with a positioning module that can determine its own position, such as GPS (Global Positioning System); and a detection module that can perform position detection, such as a laser sensor, radar sensor, etc.; these are all reasonable and are not specifically limited in the embodiments of this application.

[0195] The management platform is configured to identify the master robot and slave robots among the plurality of robots that are to perform the task to be performed, as target robots, and to determine a specified formation of the target robots based on the task to be performed; and to send the specified formation to each target robot; wherein the specified formation includes: a specified position of the master robot, and a specified positional relationship between each slave robot and the master robot;

[0196] Each target robot is used to adjust its position according to the specified formation to obtain a starting position;

[0197] Each slave robot is also used to report its own starting position to the master robot; to perform position detection on the master robot to obtain the initial detection position of the master robot; and to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition; wherein, the detected position relationship is: the positional relationship between the initial detection position and the starting position of the slave robot;

[0198] The main robot is also used to determine the initial formation of multiple target robots based on the starting position of each target robot; when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, and receives the first notification message reported by each sub-robot, it sends a second notification message to the management platform.

[0199] The management platform is also used to send a task start instruction carrying the task to be executed to each target robot when it receives the second notification message;

[0200] Each target robot is also used to execute the task to be executed when it receives the task start instruction.

[0201] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0202] The following is a detailed description of a robot control system provided in the embodiments of this application, with reference to the accompanying drawings.

[0203] Figure 1 This is a schematic diagram of a robot control system provided in an embodiment of this application, such as... Figure 1 As shown, the system may include a management platform 100 and multiple robots 200. A schematic diagram of the master robot 210 and slave robots 220 used to execute tasks within the management platform 100 and the multiple robots 200 is shown below. Figure 2 As shown.

[0204] The management platform 100 is used to identify the master robot 210 and slave robot 220 among the plurality of robots 200 that are used to perform the task to be performed, as target robots, and to determine a specified formation of the target robots based on the task to be performed; and to send the specified formation to each target robot; wherein, the specified formation includes: a specified position of the master robot 210, and a specified positional relationship between each slave robot 220 and the master robot 210;

[0205] Each target robot is used to adjust its position according to the specified formation to obtain a starting position;

[0206] Each slave robot 220 is also configured to report its own starting position to the master robot 210; perform position detection on the master robot 210 to obtain the initial detection position of the master robot 210; and when the detection error between the detected position relationship and the specified position relationship meets the detection error condition, report a first notification message to the master robot 210; wherein, the detection position relationship is: the positional relationship between the initial detection position and the starting position of the slave robot 220;

[0207] The main robot 210 is also used to determine the initial formation of multiple target robots based on the starting position of each target robot; when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, and receives the first notification message reported by each robot 220, it sends a second notification message to the management platform 100.

[0208] The management platform 100 is also used to send a task start instruction carrying the task to be executed to each target robot when it receives the second notification message;

[0209] Each target robot is also used to execute the task to be executed when it receives the task start instruction.

[0210] Below, in conjunction with Figure 3 The signaling interaction process of the management platform 100, the master robot 210, and the slave robot 220 in the above-mentioned robot control system is described in detail.

[0211] Figure 3 A signaling interaction diagram of the management platform 100, master robot 210, and slave robot 220 provided in the embodiments of this application is shown below. Figure 3 As shown, the interaction process between the management platform 100, the master robot 210, and the slave robot 220 in the above-mentioned robot control system may include the following steps S301-S311.

[0212] S301: The management platform 100 identifies the master robot 210 and slave robot 220 among multiple robots 200 that are used to perform the task to be performed, as the target robots, and determines the designated formation of the target robots based on the task to be performed;

[0213] The specified formation includes: the specified position of the master robot 210, and the specified positional relationship between each slave robot 220 and the master robot 210;

[0214] S302: The management platform 100 sends the specified formation to each target robot;

[0215] For users, when they want to use multiple robots to perform a certain task, they can send the task to the management platform 100, and the task to be performed can carry the task information of the task to be performed.

[0216] In this way, the management platform 100 can receive the task to be executed, determine the master robot 210 and slave robot 220 to be executed among the multiple robots 200 in the robot control system, and designate the master robot 210 and slave robot 220 as the target robots.

[0217] Optionally, the user can pre-determine the master robot 210 and slave robot 220 from among the multiple robots 200 in the robot management system to perform the task to be performed. Then, a task to be performed is generated, carrying the device identifier of the master robot 210, the device identifier of the slave robot 220, and the task information. The task to be performed is then sent to the management platform 100. In this way, the management platform 100 can receive the task to be performed, determine the master robot 210 and slave robot 220 to perform the task, and use the master robot 210 and slave robot 220 as the target robots.

[0218] Optionally, after receiving the aforementioned task to be executed, the management platform 100 may, based on the task information of the task to be executed and the device information of the multiple robots 200, select the master robot 210 and the slave robot 220 from the multiple robots 200 to execute the task to be executed, and designate the master robot 210 and the slave robot 220 as the target robots.

[0219] Subsequently, based on the task information of the task to be executed and the equipment information of each target robot, the designated formation of the multiple target robots when cooperating to execute the task to be executed is determined, and the determined designated formation is sent to each target robot.

[0220] The designated formation mentioned above may include the designated position of the master robot 210 and the designated positional relationship between each slave robot 220 and the master robot 210.

[0221] The specified location can be a coordinate position in a preset coordinate system, such as a coordinate position in the world coordinate system; or it can be latitude and longitude, which are all reasonable and are not specifically limited in this embodiment.

[0222] The specified positional relationship between each slave robot 220 and the master robot 210 can be information such as the distance, direction, and angle between each slave robot 220 and the master robot 210; or it can be the coordinates of each slave robot 220 relative to the master robot 210 in a preset coordinate system with the specified position of the master robot 210 as the origin. Specifically, when the coordinates of the master robot 210 are (0, 0, 0), the positional relationship between the nth slave robot 220 and the master robot 210 is (x...). n y n θ n ), x n This represents the x-axis coordinate of the nth robot 220 in the aforementioned preset coordinate system, y n θ represents the vertical coordinate of the nth robot 220 in the aforementioned preset coordinate system. nThis represents the orientation angle of the nth slave robot 220 in the aforementioned preset coordinate system. Of course, the specified positional relationship between each slave robot 220 and the master robot 210 can also be represented in other ways or include other information, which is reasonable and not specifically limited in this embodiment.

[0223] For example, when multiple robots are desired to perform a transport task, the user can send the task to the management platform. This task may include information such as the dimensions of the goods to be transported, their current location, and the destination location. Upon receiving the task, the management platform can, based on this information, identify the master robot A, slave robot B, slave robot C, and slave robot D from among the multiple robots 200 to perform the task, and determine a specific formation for these robots to collaboratively transport the goods. Specifically, in determining this formation, the designated position of the master robot A is first determined. Then, a preset coordinate system is established with the master robot A's designated position as the origin. Finally, based on the equipment information of each robot performing the transport task, the coordinates of slave robots B, C, and D within this preset coordinate system are determined, representing their positional relationship with the master robot A.

[0224] S303: The main robot 210 adjusts its position according to the specified formation to obtain the starting position;

[0225] S304: Each robot 220 adjusts its position according to the specified formation to obtain the starting position;

[0226] The master robot 210 and each slave robot 220 can receive the designated formation sent by the management platform 100, and after receiving the designated formation, they can adjust their positions according to the designated formation, that is, move themselves to the position indicated by the designated formation, and after the adjustment is completed, use their own positioning device to determine their current position as their starting position.

[0227] In other words, the main robot 210 can receive the specified formation, move to the specified position included in the specified formation, and obtain its own starting position;

[0228] Each slave robot 220 can receive the specified formation, determine its own position to move to based on the specified position of the master robot 210 in the specified formation and the specified position relationship between itself and the master robot 210, and then move to that position to obtain its own starting position.

[0229] S305: Each slave robot 220 reports its starting position to the master robot 210;

[0230] S306: The main robot 210 determines the initial formation of multiple target robots based on the starting position of each target robot;

[0231] After determining its own starting position, each slave robot 220 can report its own starting position to the master robot 210. In this way, the master robot 210 can receive the specified position of each slave robot 220 and determine the initial formation of multiple target robots based on its own starting position and the starting positions of each slave robot 220.

[0232] S307: Each slave robot 220 performs position detection on the master robot 210 to obtain the initial detection position of the master robot 210;

[0233] S308: When each slave robot 220 detects that the detection error between the detected position relationship and the specified position relationship meets the detection error condition, it reports a first notification message to the master robot 210.

[0234] The detection position relationship is: the positional relationship between the initial detection position and the starting position of the robot 220;

[0235] Each target robot is equipped with a sensor capable of position detection. This sensor can be a laser sensor, a radar sensor, or other types of sensors, all of which are reasonable and are not specifically limited in the embodiments of this application.

[0236] Furthermore, the number of sensors installed in each target robot and the location of each sensor can be set according to actual needs. For example, as shown in Figure 4(a), a sensor 300 can be installed on the front side of the main robot 210 and each slave robot 220; as shown in Figure 4(b), a sensor 300 can be installed on the front and rear sides of the main robot 210 and each slave robot 220; as shown in Figure 4(c), a sensor 300 can be installed on the front edge and rear edge of the main robot 210 and each slave robot 220; as shown in Figure 4(d), a sensor 300 can be installed on the front, rear, left, and right sides of the main robot 210 and each slave robot 220. These are all reasonable, and the specific number and location of the sensors are not limited in this embodiment.

[0237] Based on this, after the position adjustment is completed and the starting position is obtained, in order to determine the position information of the master robot 210, each slave robot 220 can use the set sensors for position detection to detect the position of the master robot 210 and obtain the initial detection position of the master robot 210.

[0238] For each slave robot 220, the slave robot 220 can determine the detection position relationship between the initial detection position of the master robot 210 and its own starting position, and based on the specified position relationship between the master robot 210 and itself in the specified queue, determine the detection error between the detection position relationship and the specified position relationship. Then, the slave robot 220 can determine whether the detection error meets a preset detection error condition, and when it detects that the detection error meets the preset detection error condition, it reports a first notification message to the master robot 210 to indicate that the slave robot 220's detection error meets the detection error condition, thereby informing the master robot 210 that it is in position and ready to execute the task.

[0239] Optionally, the above-mentioned detection error condition can be no greater than a preset detection error threshold. Furthermore, the above-mentioned detection error threshold can be set according to actual needs, such as 3 cm, 0.5 dm, 0.1 degrees, etc., which are all reasonable and are not specifically limited in this application embodiment.

[0240] In this specific implementation, for each slave robot 220, the aforementioned specified positional relationship can be understood as the ideal distance between the slave robot 220 and the master robot 210 during collaborative work; while the aforementioned detected positional relationship can characterize the actual distance between the slave robot 220 and the master robot 210 at the start of task execution. Furthermore, for each slave robot 220, the aforementioned detection error can be used to characterize the error between the actual distance between the slave robot 220 and the master robot 210 and the ideal distance between the slave robot 220 and the master robot 210, that is, the degree of deviation of the actual distance between the slave robot 220 and the master robot 210 from the ideal distance between the slave robot 220 and the master robot 210. The degree of deviation can affect the degree of deviation between the actual formation of each target robot and the aforementioned specified formation, thereby affecting the smooth execution of the task to be executed.

[0241] To ensure the successful completion of the task, the actual formation of each robot should maintain a small deviation from the specified formation throughout the entire execution process. Therefore, the actual distance between each slave robot 220 and the master robot 210 should be close to the ideal distance between them. Based on this, if the detection error meets the specified conditions, it indicates that the error between the actual distance between the slave robot 220 and the master robot 210 and the ideal distance is small at the start of the task. When the errors between the actual distances of each slave robot 220 and the master robot 210 and the ideal distances are all small, it can be considered that the actual formation of each target robot is close to the specified formation. This improves the closeness between the actual formation of each robot and the specified formation during the execution of the task, thereby ensuring the successful completion of the task.

[0242] S309: When the main robot 210 detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, and receives the first notification message reported by each robot 220, it sends a second notification message to the management platform.

[0243] After determining the initial formation of multiple target robots, the main robot 210 can determine the positioning error of the initial formation and the specified formation, and determine whether the positioning error meets the preset positioning error conditions.

[0244] In addition, the master robot 210 can receive the first notification message reported by each slave robot 220.

[0245] In this way, when the master robot 210 detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives the first notification message reported by each slave robot 220, it can send a second notification message to the management platform 100 to indicate that each target robot can start executing the above-mentioned task to be executed.

[0246] The aforementioned positioning error requirement may be no greater than a preset positioning error threshold. Furthermore, the aforementioned positioning error threshold may be set according to actual needs, such as 3 centimeters, 0.5 meters, 0.1 degrees, etc., which are all reasonable and are not specifically limited in this application embodiment.

[0247] The positioning error between the initial formation and the specified formation satisfies the positioning error condition, indicating that the error between the initial formation and the specified formation of multiple target robots is small, meaning the initial formation is close to the specified formation. Furthermore, since the first notification message is reported by each slave robot 220 to the master robot 210 when it determines that the error between its actual distance and the ideal distance is small, the master robot 210, upon receiving a first notification message from any slave robot 220, can determine that the actual distance between that slave robot 220 and itself is close to the ideal distance. Therefore, when the master robot 210 receives first notification messages from all slave robots 220, it can determine that the actual positions of all slave robots 220 and itself are close to the ideal positions.

[0248] Based on this, when the master robot 210 detects that the positioning error between the initial formation and the designated formation meets the positioning error condition, and receives the first notification message reported by each slave robot 220, the master robot 210 can determine that the initial formation composed of multiple target robots is close to the designated formation, and that the actual distance between each slave robot 220 and itself is close to the ideal distance. Thus, the master robot 210 can determine that all target robots have moved to the positions indicated by the designated formation and can perform the task to be performed according to the designated formation.

[0249] S310: When the management platform 100 receives the second notification message, it sends a task start instruction carrying the task to be executed to each target robot.

[0250] S311: Each target robot executes the task to be performed upon receiving the task start instruction.

[0251] The management platform 100 can receive the aforementioned second notification message, and upon receiving the aforementioned second notification message, issue a task start instruction carrying the task to be executed to each target robot.

[0252] In this way, each target robot can receive the above task start command and execute the above tasks to be executed.

[0253] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0254] Since the initial formation is determined based on the starting positions of each target robot, if the starting position of any slave robot 220 deviates from the position determined based on the specified position of the master robot 210 and the aforementioned specified position relationship, the positioning error between the initial formation and the specified formation will not meet the aforementioned positioning error condition. Therefore, when it is determined that the positioning error does not meet the aforementioned positioning error condition, each slave robot 220 can be controlled to readjust its position.

[0255] Alternatively, in one specific implementation,

[0256] The master robot 210 is also used to issue a first adjustment instruction to each slave robot 220 to instruct it to adjust its position according to a specified formation when the positioning error is detected to be unsatisfactory, and to return to the step of adjusting its position according to the specified formation to obtain the starting position.

[0257] Each robot 220 is also used to return to the step of adjusting its position according to the specified formation to obtain the starting position when it receives the first adjustment instruction.

[0258] Among them, such as Figure 5 As shown, the above process may include the following steps S312-S314:

[0259] S312: When the positioning error is detected to be inconsistent with the positioning error condition, the master robot 210 issues a first adjustment instruction to each slave robot 220 to instruct it to adjust its position according to the specified formation.

[0260] S313: When the positioning error is detected to be not in accordance with the positioning error condition, the main robot 210 returns to step S303;

[0261] S314: Each slave robot 220 returns to step S304 upon receiving the first adjustment instruction.

[0262] In this specific implementation, after determining the positioning error between the initial formation and the specified formation, if the master robot 210 detects that the positioning error does not meet the positioning error condition, it can issue a first adjustment instruction to each slave robot 220 to instruct it to adjust its position according to the specified formation. Furthermore, the master robot 210 can adjust its position again according to the specified formation to obtain a new starting position.

[0263] Each robot 220 can receive the first adjustment instruction and, in accordance with the first adjustment instruction, adjust its position again according to the specified formation to obtain a new starting position.

[0264] In this way, the master robot 210 and each slave robot 220 adjust their positions again according to the specified formation to obtain a new starting position. Then, the master robot 210 can determine the positioning error again based on the new starting positions of the multiple target robots and check whether the positioning error meets the positioning error condition.

[0265] When determining whether the multiple target robots have completed the specified positions using the two dimensions of positioning error and detection error, the master robot 210 can first determine whether the initial formation formed is close to the specified formation based on the starting positions of the multiple target robots. When the initial formation is close to the specified formation, each slave robot 220 can then determine whether its detection position relationship with the master robot 210 is close to the specified position relationship in the specified formation.

[0266] Based on this, in one possible specific implementation method,

[0267] The master robot 210 is also used to issue a judgment instruction to each slave robot 220 when the positioning error is detected to meet the positioning error condition, instructing the slave robot 220 to perform a position relationship judgment.

[0268] Step S307 above, in which each slave robot 220 performs position detection on the master robot 210, may include:

[0269] When each slave robot 220 receives a judgment instruction, it performs position detection on the master robot 210.

[0270] In this specific implementation, the master robot 210 can first determine whether the positioning error between the initial formation and the specified formation meets the positioning error condition. When the master robot 210 detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, it can issue a judgment command to each slave robot 220, instructing the slave robot 220 to perform a position relationship determination. Each slave robot 220 can receive the judgment command and, upon receiving the command, perform position detection on the master robot 210.

[0271] Optionally, each slave robot 220 may not perform position detection on the master robot 210 if it does not receive the aforementioned judgment instruction.

[0272] When each robot 220 detects that the detection error does not meet the above detection error conditions, it can adjust its position again based on the above detection error, and after adjustment, it can judge again whether the detection error meets the detection error conditions.

[0273] Based on this, in one possible specific implementation method,

[0274] Each slave robot 220 is also used to adjust its position based on the detection error when the detection error does not meet the detection error condition, update the starting position according to the adjustment result, and determine whether the detection error meets the detection error condition to obtain the judgment result; if the judgment result is met, it reports the starting position and the first notification message to the master robot 210; otherwise, it returns to the step of adjusting the position based on the detection error.

[0275] The main robot 210 is also used to return to step S306 above to determine the initial formation of multiple target robots based on the starting position of each target robot.

[0276] In this specific implementation, when each slave robot 220 determines the detection error between the detected position relationship and the specified position relationship, and detects that the detection error does not meet the detection error condition, it can adjust its own starting position based on the aforementioned detection error and update the adjustment result as its own starting position. Afterwards, each slave robot 220 can again detect the position of the master robot 210 and determine the detection position relationship between the updated starting position and the master robot 210. Furthermore, it determines the detection error between the detected position relationship and the specified position relationship, and again judges whether the aforementioned detection error meets the detection error condition, obtaining a judgment result. If the judgment result indicates that the detection error meets the aforementioned detection error condition, it reports its own starting position and a first notification message to the master robot 210. In this way, the master robot 210 can receive the starting positions of the slave robots 220 and determine the initial formation of multiple target robots based on the starting positions of each target robot; if the judgment result indicates that the aforementioned detection error still does not meet the aforementioned detection error condition, the slave robot 220 can adjust its position again based on the detection error.

[0277] As can be seen, when the detection error does not meet the detection error conditions, the robot 220 can adjust its position based on the detection error. In this way, each starting position received by the main robot 210 is a position where the detection error meets the detection error conditions.

[0278] Since the detection results obtained from each slave robot 220 may be erroneous, in order to avoid inaccurate results from a single position detection, position detection can be performed again at positions where the detection error does not meet the aforementioned detection error conditions, and the detection error can be judged again to see if it meets the aforementioned detection error conditions. However, continuously performing position detection by the slave robot 220 would waste a lot of time. Therefore, a preset number can be set. When the preset number of judgment results all indicate that the detection error of the starting position of the slave robot 220 does not meet the aforementioned detection error conditions, the starting position adjustment of the slave robot 220 can be considered to have failed, and position adjustment can be performed according to the aforementioned detection error.

[0279] Based on this, in one possible specific implementation method,

[0280] Each slave robot 220 is also used to determine whether the judgment result is unsatisfactory for a preset number of consecutive times before adjusting the position based on the detection error; if not, return to the step of performing position detection on the master robot 210; if yes, send a position adjustment request to the master robot 210.

[0281] The master robot 210 is also configured to, upon receiving a position adjustment request, return to the step of issuing a first adjustment instruction to each slave robot 220 to instruct each slave robot 220 to adjust its position according to a specified formation.

[0282] In this specific implementation, when each slave robot 220 determines that the above-mentioned detection error does not meet the detection error condition, before adjusting its position based on the above-mentioned detection error, it can first determine whether the judgment result is not met for a preset number of consecutive times; if not, it can re-detect the position of the master robot 210, determine the detection position relationship between the slave robot 220 and the master robot 210, and determine again whether the detection error between the above-mentioned detection position relationship and the above-mentioned specified position relationship meets the detection error condition;

[0283] If the judgment results are all unsatisfactory after a preset number of consecutive times, a position adjustment request can be sent to the master robot 210. In this way, the master robot 210 can receive the position adjustment request and issue a first adjustment instruction to each slave robot 220 to instruct each slave robot 220 to adjust its position according to the specified formation.

[0284] In this way, each robot 220 can adjust its position again according to the specified formation based on the first adjustment instruction mentioned above.

[0285] Optionally, when the master robot 210 receives a position adjustment request from a slave robot 220, it may issue a first adjustment instruction to the slave robot 220, instructing the slave robot 220 to adjust its position according to a specified formation. In this way, the slave robot 220 can adjust its position based on the aforementioned first adjustment instruction.

[0286] During the execution of the aforementioned tasks by the multiple target robots, in order to prevent the movement formation of each target robot from deviating from the specified formation, a preset period can be set, and the movement formation of each target robot can be detected and adjusted based on the preset period.

[0287] Based on this, in one possible specific implementation method,

[0288] Each robot 220 is also used to perform the following steps according to a preset cycle during the execution of the task to be performed:

[0289] The robot reports its first moving position to the main robot 210 and performs position detection on the main robot 210 to obtain the moving detection position of the main robot 210; it calculates the moving position relationship between the first moving position and the moving detection position, and reports the moving error between the moving position relationship and the specified position relationship to the main robot 210.

[0290] The main robot 210 is also used to perform the following steps according to a preset cycle during the execution of the task to be performed:

[0291] Determine its own second moving position; determine the first moving formation of multiple target robots based on the first and second moving positions of each slave robot 220, and determine the first formation error between the first moving formation and the specified formation; determine the second formation error based on the moving error reported by each slave robot 220; and detect whether the current error between the current moving formation of multiple target robots and the specified formation meets the preset error condition based on the first and second formation errors.

[0292] The master robot 210 is also used to send a task stop command to each slave robot 220 and stop executing the pending task if the current error is detected to be unsatisfactory; and to report the first alarm notification to the management platform 100.

[0293] Each robot 220 is also used to stop executing the task to be executed when it receives a task stop instruction;

[0294] The management platform 100 is also used to receive the first alarm notification.

[0295] To facilitate understanding, the specific method for formation detection during the execution of the task to be performed will be explained in conjunction with the signaling interaction process between the management platform 100, the master robot 210, and the slave robot 220 in the robot control system described above.

[0296] The following describes the steps performed by the master robot 210 and the slave robot 220 during the execution of a task, using a preset cycle as an example. The steps performed by the master robot 210 and the slave robot 220 during this preset cycle may include the following steps 101-112:

[0297] Step 101: Each robot 220 reports its first movement position to the master robot 210;

[0298] Step 102: The main robot 210 determines its second moving position;

[0299] Step 103: The master robot 210 determines the first movement formation of the multiple robots based on the first and second movement positions of each slave robot 220, and determines the first movement formation error between the first movement formation and the specified formation;

[0300] Step 104: Each slave robot 220 performs position detection on the master robot 210 to obtain the movement detection position of the master robot 210;

[0301] Step 105: Each robot 220 calculates the positional relationship between the first moving position and the moving detection position;

[0302] Step 106: Each robot 220 reports the movement error between its positional relationship and the specified positional relationship to the main robot 210;

[0303] Step 107: The master robot 210 determines the second formation error based on the movement error reported by each slave robot 220;

[0304] Step 108: The main robot 210 detects whether the current error between the current movement formation of multiple robots and the specified formation meets the preset error condition based on the first formation error and the second formation error.

[0305] Step 109: If the master robot 210 detects that the current error does not meet the preset error condition, it sends a task stop command to each slave robot 220 and stops executing the task to be executed;

[0306] Step 110: Each slave robot 220 stops executing its pending task upon receiving a stop command;

[0307] Step 111: The main robot 210 reports the first alarm notification to the management platform 100;

[0308] Step 112: The management platform 100 receives the first alarm notification.

[0309] In this specific implementation, each slave robot 220 can use its own positioning and navigation device to determine its first moving position according to a preset period and report the first moving position to the master robot 210; similarly, the master robot 210 can use its own positioning and navigation device to determine its second moving position according to a preset period.

[0310] Subsequently, the master robot 210 can determine the first movement formation of multiple target robots based on the first movement position of each slave robot 220 and its own second movement position, and determine the first movement formation error between the first movement formation and the specified formation.

[0311] Each slave robot 220 can use its own sensors to detect the position of the master robot 210 and obtain the movement detection position of the master robot 210. Then, each slave robot 220 can calculate the movement position relationship between its own first movement position and the aforementioned movement detection position, and then, based on the movement position relationship, determine the movement error between the aforementioned movement position relationship and the specified position relationship, and report the aforementioned movement error to the master robot 210.

[0312] In this way, the master robot 210 can determine the second formation error of multiple target robots based on the movement error reported by each slave robot 220, and detect whether the current movement formation of multiple target robots meets the preset error condition based on the first formation error and the second formation error.

[0313] If the current error is detected to be inconsistent with the preset error condition, the master robot 210 can issue a task stop instruction to each slave robot 220 to instruct each slave robot 220 to stop executing the task to be executed, and also stop executing the task to be executed itself; each slave robot 220 can stop executing the task to be executed when it receives the task stop instruction.

[0314] Furthermore, after the main robot 210 stops executing the aforementioned tasks, it can also report a first alarm notification to the management platform 100 to indicate that each target robot has stopped executing the aforementioned tasks. In this way, the management platform 100 can receive the aforementioned first alarm notification.

[0315] The aforementioned preset error condition can be no greater than a preset threshold, or the difference from the preset threshold can be within a specified numerical range. Furthermore, the aforementioned preset threshold can be set according to actual needs, such as 0.2 meters, 1 decimeter, 0.1 degrees, etc., which are all reasonable and are not specifically limited in this application embodiment.

[0316] In other words, during the execution of the aforementioned tasks by each target robot, each target robot can acquire its own movement position according to a preset cycle. Thus, the main robot 210 can determine the first formation error between the first movement formation and the designated formation of each target robot based on their movement positions, and determine the second formation error based on the movement error sent from robot 220. Based on the first and second formation errors, the main robot 210 can then determine the current movement formation of the multiple target robots. If the current error between the current movement formation and the designated formation does not meet the preset error condition, it can be considered that the deviation between the current movement formation and the designated formation of the multiple target robots is large, thus requiring the execution of the tasks to be stopped and the current movement formation adjusted. Conversely, if the current error between the current movement formation and the designated formation meets the preset error condition, it can be considered that the deviation between the current movement formation and the designated formation of the multiple target robots is small, thus requiring no adjustment of the current movement formation, and the execution of the tasks to be performed can continue.

[0317] When determining the current moving formation based on the difference between the first formation error and the second formation error, since any of the above formation errors may be calculated incorrectly, it is necessary to verify the first formation error and the second formation error.

[0318] Based on this, step 108 above may optionally include the following steps 1081-1083:

[0319] Step 1081: Calculate the difference between the first formation error and the second formation error;

[0320] Step 1082: If the difference meets the preset difference condition, then perform a weighted average calculation on the first moving formation and the second moving formation to obtain the current moving formation of multiple target robots, and check whether the current error between the current moving formation and the specified formation meets the preset error condition.

[0321] Step 1083: If the difference does not meet the preset difference condition, return to the step of issuing a task stop command to each robot 220.

[0322] In this specific implementation, since both the first formation error and the second formation error are calculated based on the movement positions of multiple target robots, ideally, the first formation error and the second formation error are the same. However, due to the existence of errors such as detection errors and calculation errors, the first formation error and the second formation error may have a small difference. In the case where either the current error between the current moving formation and the current error of the specified formation is incorrect, the difference between the two is large.

[0323] Based on this, the main robot 210 can calculate the difference between the first formation error and the second formation error, and determine whether the difference satisfies the preset difference condition.

[0324] If the above difference meets the preset difference condition, it can be determined that neither the first formation error nor the second formation error is incorrect. Then, based on the data reliability of the first moving formation and the second moving formation, weights can be assigned to the first moving formation and the second moving formation respectively, and a weighted average calculation can be performed on the first moving formation and the second moving formation to obtain the current moving formation of multiple target robots. Then, it can be detected whether the current error between the current moving formation and the specified formation meets the preset error condition.

[0325] The aforementioned preset difference condition can be no greater than a preset difference threshold. Furthermore, the aforementioned difference threshold can be set according to actual needs, such as 0.1 meters, 0.5 decimeters, 0.1 degrees, etc., which are all reasonable and are not specifically limited in this application embodiment.

[0326] The weights of the above first moving formation and the above second moving formation can be set according to actual needs. For example, the weight of the first moving formation is 0.3 and the weight of the second moving formation is 0.7; the weight of the first moving formation is 0.5 and the weight of the second moving formation is 0.5, etc. These are all reasonable, and the above weights are not specifically limited in the embodiments of the present application.

[0327] On the contrary, if the above difference does not meet the preset difference condition, the master robot 210 can return to the above step 110, send a task stop instruction to each slave robot 220, and stop executing the pending task.

[0328] That is to say, if the difference between the above first formation error and the second formation error does not meet the preset difference condition, it can be determined that at least one of the above first formation error and the second formation error is incorrect. Furthermore, the pending task can be stopped from being executed, and the position adjustment can be performed again.

[0329] During the execution of the task to be executed by each target robot, the position of each slave robot 220 may shift. That is to say, the moving position relationship between the first moving position of each slave robot 220 and the second moving position of the master robot 210 no longer meets the above specified position relationship. In this case, the slave robot 220 can first perform position adjustment by itself.

[0330] Optionally, in a specific implementation manner,

[0331] The master robot 210 is further configured to send the second moving position to each slave robot 220 according to a preset period;

[0332] The slave robot 220 is further configured to perform position adjustment according to the second moving position received most recently and the specified position relationship when the moving error does not meet the detection error condition;

[0333] The master robot 210 is further configured to report a second warning notification to the management platform 100 before sending a task stop instruction to each slave robot 220, and determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition in a continuous specified number of preset periods; if so, send a task stop instruction to each slave robot 220.

[0334] In this specific implementation, the master robot 210 can also send its second moving position to each slave robot 220 at a preset period. In this way, each slave robot 220 can receive the above-mentioned second moving position, and when the moving error based on the moving position relationship and the specified position relationship does not meet the detection error condition, it can determine the moving position it should reach according to the most recently received second moving position and the above-mentioned specified position relationship, and then adjust its own position.

[0335] Before sending a task stop instruction to each slave robot 220, the master robot 210 can first report a second alarm notification to the management platform 100, and then, it can determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a continuously specified number of preset periods; if so, it can send a task stop instruction to each slave robot 220.

[0336] Among them, the above-mentioned specified number can be set according to actual needs. For example, 3, 5, etc. are all reasonable and are not specifically limited in the embodiments of the present invention.

[0337] That is to say, before sending a task stop instruction to each slave robot 220, the master robot 210 can first determine whether the current error within at least one preset period does not meet the preset error condition, that is, determine whether the current moving formation in multiple preset periods deviates from the above-mentioned specified formation. Furthermore, if the current moving formation in multiple preset periods deviates from the above-mentioned specified formation, a task stop instruction is sent to each slave robot 220.

[0338] After each target robot stops executing the above-mentioned pending task, each target robot can re-adjust its position, and when the error between the adjusted formation and the specified formation meets the preset error condition, resume executing the above-mentioned pending task.

[0339] Optionally, in a specific implementation

[0340] The master robot 210 is further configured to execute the following steps after stopping executing the pending task:

[0341] The system sends the current movement position of the master robot 210 and a second adjustment instruction to each slave robot 220 to indicate position adjustment according to the current movement position and the specified position relationship; it determines the second movement formation of multiple target robots based on the third movement position and the current movement position of each slave robot 220, and determines the third formation error between the second movement formation and the specified formation; it determines the fourth formation error based on the current error between the current position relationship and the specified position relationship reported by each slave robot 220; it checks whether the current error between the current adjusted formation and the specified formation of multiple target robots meets the preset error condition based on the third and fourth formation errors; if it does, it sends a task continuation instruction to each slave robot 220 and continues to execute the task to be executed; it reports an alarm stop notification to the management platform 100.

[0342] Each robot 220 is also used to perform the following steps after stopping the execution of the pending task:

[0343] Upon receiving the second adjustment instruction, the robot adjusts its position according to the current movement position and the specified position relationship to obtain the third movement position; it reports the third movement position to the main robot 210 and performs position detection on the main robot 210 to obtain the current detection position of the main robot 210; it calculates the current position relationship between the third movement position and the current detection position and reports the current error to the main robot 210; upon receiving the task continuation instruction, it continues to execute the task to be executed.

[0344] The management platform 100 is also used to receive alarm stop notifications.

[0345] To facilitate understanding, the specific method for adjusting the position of the master robot 210 and slave robot 220 after stopping the execution of the pending task will be explained in conjunction with the signaling interaction process of the management platform 100, master robot 210 and slave robot 220 in the above-mentioned robot control system.

[0346] The following describes the steps performed by the master robot 210 and the slave robot 220 after they stop executing the task to be executed, taking a preset cycle as an example. The steps performed by the master robot 210 and the slave robot 220 after they stop executing the task to be executed may include the following steps 201-212:

[0347] Step 201: The master robot 210 sends the current moving position of the master robot 210 and a second adjustment instruction for instructing the position adjustment according to the current moving position and the specified position relationship to each slave robot 220;

[0348] Step 202: When each slave robot 220 receives the second adjustment instruction, it adjusts its position according to the current moving position and the specified position relationship to obtain the third moving position;

[0349] Step 203: Each slave robot 220 reports its third movement position to the master robot 210;

[0350] Step 204: Each slave robot 220 performs position detection on the master robot 210 to obtain the current detection position of the master robot 210;

[0351] Step 205: Each slave robot 220 calculates the current positional relationship between the third moving position and the current detection position, and reports the current error between the current positional relationship and the specified positional relationship to the master robot 210;

[0352] Step 206: The master robot 210 determines the second movement formation of multiple target robots based on the third movement position and the current movement position of each slave robot 220, and determines the third formation error between the second movement formation and the specified formation;

[0353] Step 207: The master robot 210 determines the fourth formation error based on the current error reported by each slave robot 220;

[0354] Step 208: Based on the third and fourth formation errors, the main robot 210 detects whether the current error between the current adjusted formation of multiple target robots and the specified formation meets the preset error conditions; if it does, then proceed to step 29.

[0355] Step 209: The master robot 210 issues a task continuation instruction to each slave robot 220 and continues to execute the task to be executed;

[0356] Step 210: Each slave robot 220 continues to execute the task to be executed upon receiving the task continuation instruction;

[0357] Step 211: The main robot 210 reports an alarm stop notification to the management platform 100;

[0358] Step 212: The management platform 100 receives the alarm stop notification.

[0359] In this specific implementation, after ceasing execution of the task to be executed, the master robot 210 can obtain its current position and send the current position and a second adjustment instruction to each slave robot 220, indicating that the position should be adjusted according to the current position and the specified position relationship. Thus, each slave robot 220 can receive the aforementioned current position and second adjustment instruction, then adjust its position according to the aforementioned current position and specified position relationship to obtain a third position, and report the third position.

[0360] The master robot 210 can receive the aforementioned third movement position, and then determine the second movement formation of multiple target robots based on the third movement position of each slave robot 220 and the current movement position, and further determine the third formation error between the aforementioned second movement formation and the specified formation.

[0361] Subsequently, the slave robot 220 uses sensors to detect the position of the master robot 210, obtains the current detection position of the master robot 210, calculates the current positional relationship between the aforementioned third moving position and the current detection position, and reports the current error between the current positional relationship and the specified positional relationship to the master robot 210.

[0362] In this way, the master robot 210 can receive the aforementioned current error and determine the fourth formation error based on each current error reported by the robot 220.

[0363] After determining the third and fourth formation errors, the main robot 210 can determine the current adjusted formation of multiple target robots based on the third and fourth formation errors, and detect whether the current error between the current adjusted formation and the specified formation meets the preset error conditions.

[0364] When the current error meets the preset error condition, the master robot 210 can continue to execute the task to be executed and issue a task continuation instruction to each slave robot 220. In this way, each slave robot 220 can continue to execute the task to be executed when it receives the task continuation instruction.

[0365] While continuing to perform the pending tasks, the main robot 210 can also send an alarm stop notification to the management platform 100, so that the management platform 100 can receive the alarm stop notification.

[0366] At this point, after further adjustments, the current formation of the multiple target robots is close to or even matches the specified formation. Thus, the multiple target robots can continue to perform the tasks to be performed according to the specified formation.

[0367] To facilitate understanding of the interaction process between the management platform, the master robot, and the slave robots in the above-mentioned robot control system, combined with Figure 6 The interaction process between the aforementioned management platform, master robot, and slave robot is illustrated with an example.

[0368] like Figure 6 As shown, the process of controlling two AGVs to collaboratively transport a single item may include steps S601-S619:

[0369] S601: The management platform sends a specified formation to the two AGVs;

[0370] S602: The management platform sets the two AGVs to a collaborative state, and the two AGVs can periodically send heartbeats, status information and location information to each other;

[0371] S603: The two AGVs adjust their positions according to the designated formation;

[0372] S604: After adjustment, detect the relative position between the AGV and the main AGV;

[0373] S605: Calculate the current positional relationship between the AGV and the main AGV, and calculate the first deviation a1(e11, e12, e13) between the current positional relationship and the specified formation;

[0374] S606: Determine from the AGV whether the first deviation is less than the first set threshold; if not, proceed to step S607; if yes, proceed to step S608.

[0375] S607: Readjust the position, and after the position adjustment, return to step S604;

[0376] S608: The AGV sends its own pose to the main AGV. Based on the poses of each AGV, the main AGV calculates the second deviation a2(e21, e22, e23) between the current formation and the specified formation.

[0377] S609: The main AGV determines whether the second deviation is less than the second set threshold; if not, proceed to step S607; if yes, proceed to step S610.

[0378] S610: The main AGV sends the first notification message to the management platform. The management platform receives the first notification message and issues a task start instruction to each AGV.

[0379] S611: Each AGV begins to perform the transport task;

[0380] S612: During the execution of the handling task, the AGV performs position detection on the main AGV, calculates the third deviation a3 (e31, e32, e33) between the movement position relationship and the specified formation, and reports the third deviation and its own movement position to the main AGV.

[0381] S613: The master AGV receives the third deviation and the movement position of the slave AGV, calculates the current movement formation based on the movement position of each AGV, and calculates the fourth deviation a4 (e41, e42, e43) between the current movement formation and the specified formation.

[0382] S614: Calculate the current errors an(en1, en2, en3) of the third and fourth deviations;

[0383] S615: Determine whether the current error is less than the third set threshold; if not, proceed to step S616; if yes, proceed to step S618.

[0384] S616: Each AGV stops running, and the main AGV reports an anomaly to the management platform;

[0385] S617: Each AGV will lower its load, readjust its position, and return to step S612;

[0386] S618: Each AGV continues to perform its transport task;

[0387] S619: Task completed. The management platform sets each AGV to an independent working state.

[0388] The user sends a handling task for the goods to be moved to the management platform, which then receives the task. The management platform then selects two AGVs from among multiple AGVs to perform the handling task, and further designates a master AGV and a slave AGV within those two. Based on the handling task, the management platform determines a specific formation for the two AGVs to perform the task and sends this formation to them. This specific formation includes a preset coordinate system, the master AGV's coordinates (x1, y1, θ1) within that system, and a specified positional relationship between the slave AGV and the master AGV. Here, x represents the x-coordinate, y represents the y-coordinate, and θ represents the orientation angle. The specified positional relationship includes the distance between the slave AGV and the master AGV along the x-axis, the distance along the y-axis, and the orientation angle within the preset coordinate system.

[0389] The management platform sets the two AGVs to a collaborative state, allowing them to send heartbeats, status information, and location information to each other.

[0390] Afterwards, the two AGVs can receive the specified formation and adjust their positions accordingly. Once the adjustment is complete, each AGV can determine its own pose based on its own positioning system.

[0391] After the position adjustment is completed, the slave AGV can detect its relative position with the master AGV, calculate the current positional relationship with the master AGV, and calculate the first deviation a1 (e11, e12, e13) between the current positional relationship and the specified formation. Then, the slave AGV determines whether the first deviation is less than a first preset threshold. If the first deviation is not less than the first preset threshold, the slave AGV readjusts its position and detects the relative position with the master AGV again. If the first deviation is less than the first preset threshold, the slave AGV sends its own pose to the master AGV. Thus, the master AGV can calculate the second deviation a2 (e21, e22, e23) between the current formation and the specified formation based on the poses of each AGV.

[0392] After calculating the second deviation, the main AGV can determine whether the second deviation is less than a second preset threshold. If the second deviation is not less than the second preset threshold, each AGV can readjust its position. If the second deviation is less than the second preset threshold, the main AGV can send a first notification message to the management platform. The management platform can then receive the first notification message and issue a task start command to each AGV. After receiving the task start command from the management platform, each AGV can begin executing its transport task.

[0393] During the handling process, the slave AGV can perform position detection on the master AGV according to a preset cycle. Using its own position relative to the master AGV, it calculates the movement position relationship between itself and the master AGV, and calculates the third deviation a3 (e31, e32, e33) between the movement position relationship and the specified formation. Then, it reports the above third deviation and its own movement position to the master AGV.

[0394] The master AGV receives the third deviation and the movement position of the slave AGVs. Then, based on the movement position of each AGV, it calculates the current movement formation and the fourth deviation a4 (e41, e42, e43) between the current movement formation and the specified formation. Next, the master AGV calculates the current error an (en1, en2, en3) between the third and fourth deviations and determines whether the current error is less than a third preset threshold. If the current error is not less than the third preset threshold, each AGV stops running, and after stopping, the load is transferred and the position is readjusted. After the readjustment, the slave AGVs continue to detect the position of the master AGV. If the current error is less than the third preset threshold, each AGV continues to perform the transport task. Furthermore, after each AGV stops running, the master AGV can report an anomaly to the management platform.

[0395] When the handling task is completed, the management platform can set each AGV to an independent working state.

[0396] Corresponding to the above-described robot control system, this application embodiment also provides a robot control method, which is applied to the main robot among multiple robots in the robot control system for performing a task to be performed. The system also includes a management platform and multiple robots.

[0397] Figure 7 A robot control method provided in the embodiments of this application, such as Figure 7 As shown, the method may include the following steps S701-S704:

[0398] S701: Adjust the position according to the specified formation of the target robot sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among multiple robots determined by the management platform, including the master robot and slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified position relationship between each slave robot and the master robot.

[0399] S702: Receive the starting position of each slave robot, and determine the initial formation of multiple target robots based on the starting position of each target robot; wherein, the starting position of each slave robot is reported to the master robot after each slave robot has adjusted its position according to the specified formation to obtain the starting position;

[0400] S703: When the positioning error between the initial formation and the specified formation is detected to meet the positioning error condition, and a first notification message is received from each slave robot, a second notification message is sent to the management platform so that the management platform receives the second notification message and issues a task start instruction carrying the task to be executed to each target robot; wherein, the first notification message is reported by each slave robot to the master robot when it detects that the detection error between the detected position relationship and the specified position relationship meets the detection error condition; the detected position relationship is the positional relationship between the initial detection position of the master robot and the starting position of the slave robot obtained by the slave robot detecting the master robot;

[0401] S704: Receives the task start command and executes the task to be executed.

[0402] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0403] Optionally, in one specific implementation, the method further includes:

[0404] When the positioning error is detected to not meet the positioning error condition, a first adjustment instruction is issued to each slave robot to instruct it to adjust its position according to the specified formation, so that each slave robot, upon receiving the first adjustment instruction, adjusts its position according to the specified formation to obtain a starting position, and returns to the step of adjusting its position according to the specified formation to obtain a starting position.

[0405] Optionally, in one specific implementation, the method further includes:

[0406] When the positioning error is detected to meet the positioning error condition, a judgment instruction is issued to each slave robot to instruct the slave robot to perform position relationship judgment, so that each slave robot can perform position detection on the master robot when it receives the judgment instruction.

[0407] Optionally, in one specific implementation, the method further includes:

[0408] Upon receiving a position adjustment request, the process returns to the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation; wherein, the position adjustment request is reported by each slave robot when, before adjusting its position based on the detection error, it has determined that the detection error does not meet the detection error condition for a consecutive preset number of judgments.

[0409] Optionally, in one specific implementation, the method further includes:

[0410] During the execution of the task to be executed, the following steps are performed according to the preset cycle:

[0411] Determine its second moving position;

[0412] A first movement formation of the plurality of target robots is determined based on the first movement position and the second movement position reported by each robot, and a first formation error between the first movement formation and the specified formation is determined.

[0413] A second formation error is determined based on the movement error reported by each slave robot regarding the movement position relationship and the specified position relationship; wherein, the movement position relationship is the relationship between the movement detection position of the master robot obtained by each slave robot based on position detection and the first movement position;

[0414] Based on the first formation error and the second formation error, it is detected whether the current movement formation of the plurality of target robots and the current error of the specified formation meet the preset error conditions.

[0415] If the current error is detected to not meet the preset error condition, the execution of the task to be executed is stopped, and a task stop instruction is sent to each slave robot so that each slave robot stops executing the task to be executed when it receives the task stop instruction;

[0416] The first alarm notification is reported to the management platform so that the management platform receives the first alarm notification.

[0417] Optionally, in one specific implementation, detecting whether the current error between the current movement formation of the plurality of target robots and the specified formation satisfies a preset error condition based on the first formation error and the second formation error includes:

[0418] Calculate the difference between the first formation error and the second formation error;

[0419] If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition.

[0420] If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

[0421] Optionally, in one specific implementation, the method further includes:

[0422] According to the preset cycle, the second movement position is sent to each slave robot so that when the movement error does not meet the detection error condition, the slave robot adjusts its position according to the relationship between the most recently received second movement position and the specified position.

[0423] Before issuing a task stop command to each slave robot, a second alarm notification is reported to the management platform, and it is determined whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a specified number of consecutive preset periods; if so, a task stop command is issued to each slave robot.

[0424] Optionally, in one specific implementation, the method further includes:

[0425] After stopping the execution of the task to be executed, perform the following steps:

[0426] The system sends the current movement position of the master robot and a second adjustment instruction to each slave robot to indicate position adjustment according to the current movement position and the specified position relationship. When each slave robot receives the second adjustment instruction, it adjusts its position according to the current movement position and the specified position relationship to obtain a third movement position and reports the third movement position to the master robot. The system also performs position detection on the master robot to obtain the current detection position of the master robot, calculates the current position relationship between the third movement position and the current detection position, and reports the current error between the current position relationship and the specified position relationship to the master robot.

[0427] The second movement formation of the plurality of target robots is determined based on the third movement position of each slave robot and the current movement position, and the third formation error between the second movement formation and the specified formation is determined; a fourth formation error is determined based on the current error reported by each slave robot.

[0428] Based on the third formation error and the fourth formation error, it is detected whether the current error between the current adjusted formation of the plurality of target robots and the current error of the specified formation meets the preset error condition;

[0429] If the conditions are met, the task to be executed continues, and a task continuation instruction is issued to each slave robot so that each slave robot continues to execute the task to be executed upon receiving the task continuation instruction.

[0430] Report the alarm stop notification to the management platform so that the management platform receives the alarm stop notification.

[0431] Corresponding to the above-described robot control system, this application embodiment also provides a robot control method, which is applied to a slave robot among multiple robots in a robot control system for performing a task to be performed. The system also includes a management platform and multiple robots.

[0432] Figure 8A robot control method provided in the embodiments of this application, such as Figure 8 As shown, the method may include the following steps S801-S805:

[0433] S801: Adjust the position according to the specified formation of the target robot sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among multiple robots determined by the management platform, including the master robot and slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified position relationship between each slave robot and the master robot.

[0434] S802: Report its own starting position to the main robot so that the main robot can determine the initial formation of multiple target robots based on the starting position of each target robot;

[0435] S803: Perform position detection on the main robot to obtain the initial detection position of the main robot;

[0436] S804: When the detection error between the detected position relationship and the specified position relationship meets the detection error condition, a first notification message is reported to the master robot, so that when the master robot detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives the first notification message reported by each slave robot, a second notification message is sent to the management platform, so that when the management platform receives the second notification message, it issues a task start instruction carrying the task to be executed to each target robot; wherein, the detection position relationship is: the positional relationship between the initial detection position and the starting position of the slave robot;

[0437] S805: Receives the task start command and executes the task to be executed.

[0438] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0439] Optionally, in one specific implementation, the method further includes:

[0440] Upon receiving the first adjustment instruction, the process returns to the step of adjusting the position according to the specified formation to obtain the starting position; wherein, the first adjustment instruction is an instruction issued by the master robot to each slave robot to instruct it to adjust the position according to the specified formation when the master robot detects that the positioning error does not meet the positioning error condition.

[0441] Optionally, in one specific implementation, position detection of the main robot includes:

[0442] Upon receiving a judgment instruction, the master robot performs position detection; wherein, the judgment instruction is an instruction issued by the master robot to each slave robot when it detects that the positioning error meets the positioning error condition, instructing the slave robot to perform a position relationship judgment.

[0443] Optionally, in one specific implementation, the method further includes:

[0444] When the detection error is detected to not meet the detection error condition, the position is adjusted based on the detection error, the starting position is updated according to the adjustment result, and it is determined whether the detection error meets the detection error condition.

[0445] If the conditions are met, the starting position and the first notification message are reported to the master robot so that the master robot can determine the initial formation of the multiple target robots based on the starting position of each target robot.

[0446] Otherwise, return to the step of adjusting the position based on the detection error.

[0447] Optionally, in one specific implementation, the method further includes:

[0448] Before adjusting the position based on the detection error, it is determined whether the judgment result is unsatisfactory for a preset number of consecutive times;

[0449] If not, return to the step of detecting the position of the main robot;

[0450] If so, a position adjustment request is sent to the master robot, so that when the master robot receives the position adjustment request, it issues a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation.

[0451] Optionally, in one specific implementation, the method further includes:

[0452] During the execution of the task to be executed, the following steps are performed according to a preset cycle:

[0453] The master robot performs position detection on itself to obtain the master robot's movement detection position and reports its own first movement position, so that the master robot determines the first movement formation of the multiple target robots based on the first movement position of each slave robot and its own second movement position determined according to a preset period, and determines the first movement formation error between the first movement formation and the specified formation.

[0454] The system calculates the positional relationship between the first moving position and the moving detection position, and reports the movement error between the positional relationship and the specified positional relationship to the master robot. This allows the master robot to determine a second formation error based on the movement error reported by each slave robot. Based on the first formation error and the second formation error, the system detects whether the current error between the current moving formation of the multiple target robots and the specified formation meets a preset error condition. If the current error does not meet the preset error condition, the system stops executing the task to be executed and issues a task stop command to each slave robot. The system also reports a first alarm notification to the management platform, enabling the management platform to receive the first alarm notification.

[0455] Upon receiving the task stop instruction, the execution of the task to be executed is stopped.

[0456] Optionally, in one specific implementation, the method further includes:

[0457] When the movement error does not meet the detection error condition, the position is adjusted according to the relationship between the most recently received second movement position and the specified position; wherein, the second movement position is issued by the master robot to each slave robot according to the preset cycle.

[0458] Optionally, in one specific implementation, the method further includes:

[0459] After stopping the execution of the task to be executed, perform the following steps:

[0460] Upon receiving the second adjustment instruction, the position is adjusted according to the current movement position issued by the master robot and the specified position relationship to obtain the third movement position; wherein, the second adjustment instruction is an instruction issued by the master robot to each slave robot to instruct the position adjustment according to the current movement position and the specified position relationship;

[0461] The third moving position is reported to the main robot, and the position of the main robot is detected to obtain the current detection position of the main robot;

[0462] The system calculates the current positional relationship between the third moving position and the current detection position, and reports the current error between the current positional relationship and the specified positional relationship to the master robot. This allows the master robot to determine the second moving formation of the multiple target robots based on the third moving position and the current moving position of each slave robot, and to determine the third formation error between the second moving formation and the specified formation. Based on the current error reported by each slave robot, a fourth formation error is determined. Based on the third and fourth formation errors, the system checks whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition. If it does, the system continues to execute the task to be executed, issues a task continuation instruction to each slave robot, and reports an alarm stop notification to the management platform, enabling the management platform to receive the alarm stop notification.

[0463] Upon receiving the task continuation instruction, the task to be executed continues.

[0464] Based on the same application concept, and corresponding to the embodiments provided in the above application, Figure 7 The present application also provides a robot control device, which is applied to the main robot in a robot control system for performing a task. The system also includes a management platform and multiple robots.

[0465] Figure 9 This application provides a schematic diagram of the structure of a robot control device for a master robot among multiple robots in a robot control system, used to perform a task to be performed. Figure 9 As shown, the device may include the following modules:

[0466] The first position adjustment module 910 is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot;

[0467] The initial formation determination module 920 is used to receive the starting position of each slave robot and determine the initial formation of multiple target robots based on the starting position of each target robot; wherein, the starting position of each slave robot is reported to the master robot after each slave robot has adjusted its position according to the specified formation to obtain the starting position;

[0468] The detection module 930 is configured to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives a first notification message reported by each slave robot, so that the management platform receives the second notification message and issues a task start instruction carrying the task to be executed to each target robot; wherein, the first notification message is reported by each slave robot to the master robot when it detects that the detection error between the detection position relationship and the specified position relationship meets the detection error condition; the detection position relationship is the positional relationship between the initial detection position of the master robot and the starting position of the slave robot obtained by the slave robot detecting the master robot;

[0469] The first execution module 940 is used to receive the task start instruction and execute the task to be executed.

[0470] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0471] Optionally, in one specific implementation, the apparatus further includes:

[0472] The first sending module is used to send a first adjustment instruction to each slave robot when the positioning error is detected to not meet the positioning error condition, instructing it to adjust its position according to the specified formation, so that each slave robot, upon receiving the first adjustment instruction, adjusts its position according to the specified formation to obtain a starting position, and returns to the step of adjusting its position according to the specified formation to obtain the starting position.

[0473] Optionally, in one specific implementation, the apparatus further includes:

[0474] The second sending module is used to send a judgment instruction to each slave robot when the positioning error is detected to meet the positioning error condition, so that each slave robot can perform position detection on the master robot when it receives the judgment instruction.

[0475] Optionally, in one specific implementation, the apparatus further includes:

[0476] The first return module is used to return the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation when a position adjustment request is received; wherein, the position adjustment request is reported by each slave robot when the judgment result of a consecutive preset number of judgments is that the detection error does not meet the detection error condition before adjusting its position based on the detection error.

[0477] Optionally, in one specific implementation, the apparatus further includes:

[0478] The first determining module is used to determine its second moving position according to the preset period during the execution of the task to be executed;

[0479] The second determining module is used to determine the first movement formation of the plurality of target robots based on the first movement position and the second movement position reported by each robot, and to determine the first movement formation and the first formation error between the first movement formation and the specified formation.

[0480] The third determining module is used to determine the second formation error based on the movement error reported by each slave robot regarding the movement position relationship and the specified position relationship; wherein, the movement position relationship is the relationship between the movement detection position of the master robot obtained by each slave robot based on position detection and the first movement position;

[0481] The first condition detection module is used to detect whether the current error between the current movement formation of the plurality of target robots and the specified formation meets a preset error condition based on the first formation error and the second formation error.

[0482] The third sending module is used to stop executing the task to be executed if the current error is detected to not meet the preset error condition, and to send a task stop instruction to each slave robot so that each slave robot stops executing the task to be executed when it receives the task stop instruction;

[0483] The first reporting module is used to report a first alarm notification to the management platform so that the management platform can receive the first alarm notification.

[0484] Optionally, in one specific implementation, the third determining module is specifically used for:

[0485] Calculate the difference between the first formation error and the second formation error;

[0486] If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition.

[0487] If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

[0488] Optionally, in one specific implementation, the device further includes

[0489] The fourth sending module is used to send the second movement position to each slave robot according to the preset period, so that when the movement error does not meet the detection error condition, the slave robot can adjust its position according to the relationship between the most recently received second movement position and the specified position.

[0490] The second reporting module is used to report a second alarm notification to the management platform before issuing a task stop command to each slave robot, and to determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a consecutive specified number of preset periods; if so, a task stop command is issued to each slave robot.

[0491] Optionally, in one specific implementation, the device further includes

[0492] The fifth sending module is used to perform the following steps after stopping the execution of the task to be executed: sending the current movement position of the master robot and a second adjustment instruction to each slave robot to indicate position adjustment according to the current movement position and the specified position relationship, so that each slave robot, upon receiving the second adjustment instruction, adjusts its position according to the current movement position and the specified position relationship to obtain a third movement position, and reports the third movement position to the master robot; performing position detection on the master robot to obtain the current detection position of the master robot; calculating the current position relationship between the third movement position and the current detection position; and reporting the current error between the current position relationship and the specified position relationship to the master robot.

[0493] The fourth determining module is used to determine the second movement formation of the plurality of target robots based on the third movement position of each robot and the current movement position, and to determine the third formation error between the second movement formation and the specified formation;

[0494] The fifth determination module is used to determine the fourth formation error based on the current error reported by each robot;

[0495] The second condition detection module is used to detect whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition based on the third formation error and the fourth formation error; if it does, the sixth sending module is triggered.

[0496] The sixth sending module is used to continue executing the task to be executed and to send a task continuation instruction to each slave robot, so that each slave robot continues to execute the task to be executed when it receives the task continuation instruction;

[0497] The third reporting module is used to report the alarm stop notification to the management platform so that the management platform can receive the alarm stop notification.

[0498] Based on the same application concept, and corresponding to the embodiments provided in the above application, Figure 8 The present application also provides a robot control device, which is applied to a slave robot in a robot control system for performing a task to be performed. The system also includes a management platform and multiple robots.

[0499] Figure 10 This is a schematic diagram of the structure of a robot control device for a slave robot in a robot control system, used to perform a task, as provided in an embodiment of this application. Figure 10 As shown, the device may include the following modules:

[0500] The second position adjustment module 1010 is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot;

[0501] The position reporting module 1020 is used to report its own starting position to the main robot, so that the main robot can determine the initial formation of multiple target robots based on the starting position of each target robot;

[0502] The detection module 1030 is used to detect the position of the main robot and obtain the initial detection position of the main robot;

[0503] The message reporting module 1040 is used to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition. This allows the master robot to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives the first notification message reported by each slave robot. This allows the management platform to issue a task start instruction carrying the task to be executed to each target robot upon receiving the second notification message. The detected position relationship is the positional relationship between the initial detection position and the starting position of the slave robot.

[0504] The second execution module 1050 is used to receive the task start instruction and execute the task to be executed.

[0505] As can be seen from the above, when applying the solution provided in the embodiments of this application, and when it is desired to control multiple robots to collaboratively execute a certain task, a designated queue for the collaborative execution of the task can first be determined. This allows the multiple robots to be controlled to move to their corresponding positions within the designated queue. Then, the master robot among the multiple robots performs a queue error judgment based on the positions moved to by each robot, and each slave robot among the multiple robots performs a queue error judgment based on the position it detects of the master robot. When both judgments result in errors meeting the error conditions, the multiple robots are controlled to collaboratively execute the task according to the designated queue. In this way, while controlling the collaborative work of multiple robots, the accuracy and stability of the queue formed by the multiple robots can be improved through the mutual verification between the two errors using the aforementioned dual error judgment method.

[0506] Optionally, in one specific implementation, the apparatus further includes:

[0507] The second return module is used to return to the step of adjusting the position according to the specified formation to obtain the starting position when the first adjustment instruction is received; wherein, the first adjustment instruction is an instruction issued by the master robot to each slave robot to instruct it to adjust the position according to the specified formation when the master robot detects that the positioning error does not meet the positioning error condition.

[0508] Optionally, in one specific implementation, the detection module 1030 is specifically used for:

[0509] Upon receiving a judgment instruction, the master robot performs position detection; wherein, the judgment instruction is an instruction issued by the master robot to each slave robot when it detects that the positioning error meets the positioning error condition, instructing the slave robot to perform a position relationship judgment.

[0510] Optionally, in one specific implementation, the apparatus further includes:

[0511] The first judgment module is used to adjust the position based on the detection error when the detection error does not meet the detection error condition, update the starting position according to the adjustment result, and determine whether the detection error meets the detection error condition; if it does, the fourth reporting module is triggered; otherwise, the third return module is triggered.

[0512] The fourth reporting module is used to report the starting position and the first notification message to the master robot, so that the master robot can determine the initial formation of the multiple target robots based on the starting position of each target robot.

[0513] The third return module is used to return the step of adjusting the position based on the detection error.

[0514] Optionally, in one specific implementation, the apparatus further includes:

[0515] The second judgment module is used to determine whether the judgment result is unsatisfactory for a preset number of consecutive times before the position adjustment is performed based on the detection error; if not, the fourth return module is triggered; if yes, the first sending module is triggered.

[0516] The fourth return module is used to return the step of performing position detection on the main robot;

[0517] The first sending module is configured to send a position adjustment request to the master robot, so that when the master robot receives the position adjustment request, it issues a first adjustment instruction to each slave robot, instructing each slave robot to adjust its position according to the specified formation.

[0518] Optionally, in one specific implementation, the apparatus further includes:

[0519] The fifth reporting module is used to perform the following steps according to a preset period during the execution of the task to be executed: to perform position detection on the main robot, obtain the movement detection position of the main robot, and report its own first movement position, so that the main robot can determine the first movement formation of the multiple target robots based on the first movement position of each slave robot and its own second movement position determined according to the preset period, and determine the first movement formation error between the first movement formation and the specified formation;

[0520] The sixth reporting module is used to calculate the positional relationship between the first moving position and the moving detection position, and report the movement error between the positional relationship and the specified positional relationship to the master robot, so that the master robot determines the second formation error based on the movement error reported by each slave robot. Based on the first formation error and the second formation error, it detects whether the current error between the current moving formation of the multiple target robots and the specified formation meets the preset error condition. If the current error does not meet the preset error condition, it stops executing the task to be executed and issues a task stop instruction to each slave robot, and reports a first alarm notification to the management platform, so that the management platform receives the first alarm notification.

[0521] The stop module is used to stop the execution of the task to be executed when the task stop instruction is received.

[0522] Optionally, in one specific implementation, the apparatus further includes:

[0523] The third position adjustment module is used to adjust the position according to the relationship between the most recently received second movement position and the specified position when the movement error does not meet the detection error condition; wherein, the second movement position is issued by the master robot to each slave robot according to the preset period.

[0524] Optionally, in one specific implementation, the apparatus further includes:

[0525] The first position determination module is used to perform the following steps after stopping the execution of the task to be executed: upon receiving the second adjustment instruction, adjusting the position according to the current movement position issued by the master robot and the specified position relationship to obtain a third movement position; wherein, the second adjustment instruction is an instruction issued by the master robot to each slave robot to instruct the position adjustment according to the current movement position and the specified position relationship;

[0526] The second position determination module is used to report the third movement position to the main robot and perform position detection on the main robot to obtain the current detection position of the main robot;

[0527] The calculation module is used to calculate the current positional relationship between the third moving position and the current detection position, and report the current error between the current positional relationship and the specified positional relationship to the master robot, so that the master robot determines the second moving formation of the multiple target robots based on the third moving position of each slave robot and the current moving position, and determines the third formation error between the second moving formation and the specified formation. Based on the current error reported by each slave robot, a fourth formation error is determined. Based on the third formation error and the fourth formation error, it detects whether the current error between the current adjusted formation of the multiple target robots and the specified formation meets the preset error condition. If it does, the pending task is continued to be executed, and a task continuation instruction is issued to each slave robot. An alarm stop notification is reported to the management platform, so that the management platform receives the alarm stop notification.

[0528] The continuation module is used to continue executing the task to be executed when the task continuation instruction is received.

[0529] This application also provides a robot, such as... Figure 11 As shown, the robot includes: a memory 1101 and a processor 1102;

[0530] Memory 1101 is used to store computer programs;

[0531] The processor 1102, when executing the program stored in the memory 1101, implements the robot control method described above for the master robot among multiple robots in a robot control system.

[0532] Optionally, the robot may also include a communication bus and / or a communication interface, and the processor 1102, the communication interface, and the memory 1101 communicate with each other through the communication bus.

[0533] This application also provides another robot, such as... Figure 12 As shown, the robot includes: a memory 1201 and a processor 1202;

[0534] Memory 1201 is used to store computer programs;

[0535] When the processor 1202 executes the program stored in the memory 1201, it implements the robot control method described above, which is applied to at least one slave robot among a plurality of robots in a robot control system.

[0536] Optionally, the robot may also include a communication bus and / or a communication interface, with the processor 1202, communication interface, and memory 1201 communicating with each other via the communication bus.

[0537] The communication bus mentioned above for the robot can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0538] The communication interface is used for communication between the robot and other devices.

[0539] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0540] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0541] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the robot control methods described above.

[0542] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the robot control methods described above.

[0543] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or other media (e.g., solid state disk (SSD)).

[0544] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0545] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the method embodiments, apparatus embodiments, electronic device embodiments, and computer-readable storage medium embodiments are basically similar to the system embodiments, so the descriptions are relatively simple; relevant parts can be referred to the description of the method embodiments.

[0546] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A robot control system, characterized in that, The system includes a management platform and multiple robots; The management platform is used to identify the master robot and slave robot among the plurality of robots that are to perform the task to be performed, as the target robots, and to determine the specified formation of the target robots based on the task to be performed; The specified formation is sent to each target robot; wherein the specified formation includes: the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot; Each target robot is used to adjust its position according to the specified formation to obtain a starting position; Each slave robot is also used to report its own starting position to the master robot; to perform position detection on the master robot to obtain the initial detection position of the master robot; and to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition; wherein, the detected position relationship is: the positional relationship between the initial detection position and the starting position of the slave robot; The main robot is also used to determine the initial formation of multiple target robots based on the starting position of each target robot; when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition, and receives the first notification message reported by each sub-robot, it sends a second notification message to the management platform. The management platform is also used to send a task start instruction carrying the task to be executed to each target robot when it receives the second notification message; Each target robot is also used to execute the task to be executed when it receives the task start instruction.

2. The system according to claim 1, characterized in that, The master robot is further configured to, when it detects that the positioning error does not meet the positioning error condition, issue a first adjustment instruction to each slave robot to instruct it to adjust its position according to the specified formation, and return to the step of adjusting its position according to the specified formation to obtain the starting position; Each robot is also configured to, upon receiving the first adjustment instruction, return to the step of adjusting its position according to the specified formation to obtain the starting position.

3. The system according to claim 2, characterized in that, The master robot is also used to issue a judgment instruction to each slave robot to instruct the slave robot to perform a position relationship judgment when the positioning error is detected to meet the positioning error condition; Each slave robot performs position detection on the master robot, including: When each slave robot receives the judgment instruction, it performs position detection on the master robot.

4. The system according to claim 3, characterized in that, Each slave robot is also configured to, when it detects that the detection error does not meet the detection error condition, adjust its position based on the detection error, update the starting position according to the adjustment result, and determine whether the detection error meets the detection error condition to obtain a determination result; if the determination result is met, it reports the starting position and the first notification message to the master robot. Otherwise, return to the step of adjusting the position based on the detection error; The master robot is also used to return to the step of determining the initial formation of the plurality of target robots based on the starting position of each target robot.

5. The system according to claim 4, characterized in that, Each slave robot is also configured to determine, before performing position adjustment based on the detection error, whether the determination result is unsatisfactory for a consecutive preset number of times; if not, return to the step of performing position detection on the master robot; If so, send a position adjustment request to the main robot; The master robot is further configured to, upon receiving the position adjustment request, return to the step of issuing a first adjustment instruction to each slave robot to instruct each slave robot to adjust its position according to the specified formation.

6. The system according to claim 1, characterized in that, Each slave robot is also configured to perform the following steps according to a preset cycle during the execution of the task to be performed: report its own first moving position to the master robot, and perform position detection on the master robot to obtain the moving detection position of the master robot; calculate the moving position relationship between the first moving position and the moving detection position, and report the moving position relationship and the specified position relationship to the master robot. The master robot is further configured to, during the execution of the task to be executed, perform the following steps according to the preset cycle: determine its own second moving position; determine the first moving formation of the plurality of target robots based on the first moving position and the second moving position of each slave robot, and determine the first formation error between the first moving formation and the specified formation; determine the second formation error based on the moving error reported by each slave robot; and detect whether the current error between the current moving formation of the plurality of target robots and the specified formation satisfies the preset error condition based on the first formation error and the second formation error. The master robot is also configured to, if it detects that the current error does not meet the preset error condition, issue a task stop instruction to each slave robot and stop executing the task to be executed; Report the first alarm notification to the management platform; Each robot is also configured to stop executing the task to be executed upon receiving the task stop instruction; The management platform is also used to receive the first alarm notification.

7. The system according to claim 6, characterized in that, The main robot, based on the first formation error and the second formation error, detects whether the current error between the current movement formation of the plurality of target robots and the specified formation meets a preset error condition, including: Calculate the difference between the first formation error and the second formation error; If the difference satisfies the preset difference condition, a weighted average is calculated on the first moving formation and the second moving formation to obtain the current moving formation of the plurality of target robots, and it is detected whether the error between the current moving formation and the specified formation satisfies the preset error condition. If the difference does not meet the preset difference condition, then return to the step of issuing a task stop instruction to each robot.

8. The system according to any one of claims 6-7, characterized in that, The master robot is also used to send the second movement position to each slave robot according to the preset cycle; The robot is further configured to adjust its position according to the relationship between the most recently received second movement position and the specified position when the movement error does not meet the detection error condition; The master robot is also configured to report a second alarm notification to the management platform before issuing a task stop instruction to each slave robot, and determine whether the current error between the current moving formation and the specified formation does not meet the preset error condition within a consecutive specified number of preset periods; If so, then issue a task stop command to each robot.

9. The system according to claim 6, characterized in that, The master robot is further configured to perform the following steps after ceasing to execute the task to be executed: send the current movement position of the master robot and a second adjustment instruction to each slave robot, indicating that the position should be adjusted according to the current movement position and the specified position relationship; determine a second movement formation of the plurality of target robots based on the third movement position of each slave robot and the current movement position, and determine a third formation error between the second movement formation and the specified formation; determine a fourth formation error based on the current error between the current position relationship reported by each slave robot and the specified position relationship; and detect whether the current error between the current adjusted formation of the plurality of target robots and the specified formation satisfies the preset error condition based on the third formation error and the fourth formation error. If the conditions are met, a task continuation instruction is issued to each robot, and the task to be executed continues; an alarm stop notification is reported to the management platform. Each slave robot is further configured to perform the following steps after ceasing execution of the task to be executed: upon receiving the second adjustment instruction, adjust its position according to the current movement position and the specified position relationship to obtain the third movement position; report the third movement position to the master robot and perform position detection on the master robot to obtain the current detection position of the master robot; calculate the current position relationship between the third movement position and the current detection position and report the current error to the master robot; and continue executing the task to be executed upon receiving the task continuation instruction. The management platform is also used to receive the alarm stop notification.

10. A robot control method, characterized in that, A master robot among multiple robots used in a robot control system for performing a task to be performed, the system further including a management platform and the multiple robots; the method includes: The starting position is obtained by adjusting the position according to the specified formation of the target robot sent by the management platform; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot; The system receives the starting position of each slave robot and determines an initial formation of multiple target robots based on the starting position of each target robot. The starting position of each slave robot is reported to the master robot after each slave robot adjusts its position according to the specified formation to obtain its starting position. When the positioning error between the initial formation and the designated formation is detected to meet the positioning error condition, and a first notification message is received from each slave robot, a second notification message is sent to the management platform. This allows the management platform to receive the second notification message and issue a task start instruction carrying the task to be executed to each target robot. The first notification message is reported by each slave robot to the master robot when it detects that the detection error between the probe position relationship and the designated position relationship meets the detection error condition. The probe position relationship is the positional relationship between the initial probe position of the master robot and the starting position of the slave robot, obtained by the slave robot probing the master robot. Receive the task start instruction and execute the task to be executed.

11. A robot control method, characterized in that, A slave robot among multiple robots in a robot control system is used to perform a task to be performed; the system further includes a management platform and the multiple robots; the method includes: The starting position is obtained by adjusting the position according to the specified formation of the target robot sent by the management platform; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot; The robot reports its starting position to the master robot, so that the master robot can determine the initial formation of multiple target robots based on the starting position of each target robot. The main robot is subjected to position detection to obtain its initial detection position; When the detection error between the detected position relationship and the specified position relationship meets the detection error condition, a first notification message is reported to the master robot. This allows the master robot to send a second notification message to the management platform upon receiving the first notification message from each slave robot, after detecting that the positioning error between the initial formation and the specified formation meets the positioning error condition. Upon receiving the second notification message, the management platform then issues a task start command carrying the task to be executed to each target robot. The detected position relationship is defined as the positional relationship between the initial detection position and the starting position of the slave robot. Receive the task start instruction and execute the task to be executed.

12. A robot control device, characterized in that, A master robot among multiple robots used in a robot control system for performing a task to be performed; the system also includes a management platform and the multiple robots; the device includes: The first position adjustment module is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified position relationship between each slave robot and the master robot; The initial formation determination module is used to receive the starting position of each slave robot and determine the initial formation of multiple target robots based on the starting position of each target robot; wherein, the starting position of each slave robot is reported to the master robot after each slave robot has adjusted its position according to the specified formation to obtain the starting position; The detection module is configured to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives a first notification message reported by each slave robot. This allows the management platform to receive the second notification message and issue a task start instruction carrying the task to be executed to each target robot. The first notification message is reported by each slave robot to the master robot when it detects that the detection error between the probe position relationship and the specified position relationship meets the detection error condition. The probe position relationship is the positional relationship between the initial probe position of the master robot and the starting position of the slave robot, obtained by the slave robot probing the master robot. The first execution module is used to receive the task start instruction and execute the task to be executed.

13. A robot control device, characterized in that, A slave robot among multiple robots used in a robot control system for performing a task to be performed, the system further including a management platform and the multiple robots; the device includes: The second position adjustment module is used to adjust the position of the target robot according to the specified formation sent by the management platform to obtain the starting position; wherein, the target robot is the robot used to perform the task to be performed among the multiple robots determined by the management platform, including the master robot and the slave robots; the specified formation is determined by the management platform based on the task to be performed, including the specified position of the master robot, and the specified positional relationship between each slave robot and the master robot; The position reporting module is used to report its own starting position to the main robot, so that the main robot can determine the initial formation of multiple target robots based on the starting position of each target robot; The detection module is used to detect the position of the main robot and obtain the initial detection position of the main robot; The message reporting module is used to report a first notification message to the master robot when the detection error between the detected position relationship and the specified position relationship meets the detection error condition. This allows the master robot to send a second notification message to the management platform when it detects that the positioning error between the initial formation and the specified formation meets the positioning error condition and receives the first notification message reported by each slave robot. This allows the management platform to issue a task start instruction carrying the task to be executed to each target robot upon receiving the second notification message. The detected position relationship is the positional relationship between the initial detection position and the starting position of the slave robot. The second execution module is used to receive the task start instruction and execute the task to be executed.

14. A robot, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method of claim 10 or 11.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of claim 10 or 11.