Multi-robot coordination method based on torque inner loop and multi-robot coordination system

By adopting a multi-robot collaborative method based on torque inner loop, the master and slave robots independently calculate joint execution information, which solves the stability and flexibility problems of existing multi-robot collaborative schemes and realizes efficient multi-robot collaborative operation.

CN120363225BActive Publication Date: 2026-07-07SHANGHAI JIEKA ROBOT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI JIEKA ROBOT TECH CO LTD
Filing Date
2025-04-22
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing multi-robotic arm collaborative solutions require prior mathematical modeling, have poor stability and flexibility, and have high requirements for hardware and communication systems, making it difficult to flexibly cope with different numbers of robotic arms and changes in workpieces.

Method used

A multi-machine collaborative method based on torque inner loop is adopted. The master and slave robots independently calculate joint execution information without the need for a high-performance central computing core. The operation in the force, speed and position dimensions is adjusted by using a preset direction matrix to achieve robot collaboration.

Benefits of technology

It lowers the hardware and application barriers, improves the system's flexibility and scalability, reduces communication latency interference, and enhances the efficiency of multi-robot collaboration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120363225B_ABST
    Figure CN120363225B_ABST
Patent Text Reader

Abstract

The application provides a multi-robot coordination method based on a torque inner ring and a multi-robot coordination system. The multi-robot coordination system comprises a master robot and at least one slave robot. The method comprises the following steps: the master robot determines current master execution information of each joint on the master robot according to a current instruction, a last master execution result, a first preset direction matrix and a second preset direction matrix, and controls each joint on the master robot to execute an operation indicated by the current master execution information; the slave robot determines current slave execution information of each joint on the slave robot according to the last master execution result, a last slave execution result, the first preset direction matrix and a third preset direction matrix, and controls each joint on the slave robot to execute an operation of the current slave execution information, and the second preset direction matrix is used for indicating a compliance direction opened by the slave robot in a speed position dimension. A high-performance central computing core is not required for overall planning, and the hardware threshold and the application threshold are reduced.
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 more specifically, to a multi-robot collaborative method and a multi-robot collaborative system based on a torque inner loop. Background Technology

[0002] Single-arm robotic arms often face difficulties in clamping or securing workpieces due to their unusual shapes, and may also be unable to handle large, heavy workpieces due to their own load-bearing limitations. However, the coordinated operation of dual-arm or even multiple robotic arms can effectively solve these problems.

[0003] In existing technologies, most multi-arm collaborative solutions consider a two-arm collaborative approach. This involves accurately mathematically modeling the robotic arm and workpiece clamping constraints and then controlling them as a whole through kinematics or dynamics to achieve collaborative work. However, existing collaborative solutions require prior mathematical modeling and suffer from poor stability and flexibility. Summary of the Invention

[0004] The purpose of this application is to address the shortcomings of the prior art by providing a multi-machine collaborative method and a multi-robot collaborative system based on a torque inner loop, thereby improving the flexibility and scalability of multi-level collaboration.

[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:

[0006] In a first aspect, embodiments of this application provide a multi-robot collaborative method based on a torque inner loop, applied to a multi-robot collaborative system, the multi-robot collaborative system comprising: a master robot and at least one slave robot, the master robot being connected to each of the slave robots, the method comprising:

[0007] The main robot receives the current instruction sent by the host computer and the previous main execution result after the main robot executes the previous main execution information;

[0008] The main robot determines the current main execution information of each joint on the main robot based on the current instruction, the previous main execution result, the first preset direction matrix, and the second preset direction matrix, and controls each joint on the main robot to execute the operation indicated by the current main execution information. The first preset direction matrix is ​​used to indicate the activation of all compliant directions in the force dimension, and the second preset direction matrix is ​​used to indicate the activation direction of the main robot in the velocity-position dimension.

[0009] The slave robot receives the previous master execution result and the previous slave execution result after executing the previous slave execution information of the slave robot;

[0010] The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, and controls each joint on the slave robot to perform the operation based on the current slave execution information. The third preset direction matrix is ​​used to indicate the opening direction of the slave robot in the velocity-position dimension.

[0011] Optionally, the current instruction includes the current target force, current target position, and current target velocity of the main robot; the previous main execution result includes: the previous main execution external force, the previous main actual position, and the previous main actual velocity;

[0012] The main robot determines the current main execution information of each joint on the main robot based on the current instruction, the previous main execution result, the first preset direction matrix, and the second preset direction matrix, including:

[0013] The main robot determines the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, the previous main execution external force, the previous main actual position, the previous main actual velocity, the first preset direction matrix, and the second preset direction matrix in the current command.

[0014] Optionally, the main robot determines the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, the previous main execution external force, the previous main actual position, the previous main actual velocity, the first preset direction matrix, and the second preset direction matrix in the current command, including:

[0015] Based on the current target force in the current instruction, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix, the first execution information of each joint on the main robot is determined. The first execution information is used to indicate the output force generated by each joint on the main robot in the force dimension.

[0016] Based on the current target speed, current target position, previous master actual position, previous master actual speed and second preset direction matrix in the current instruction, the second execution information of each joint on the master robot is determined. The second execution information is used to indicate the force generated by the joint on the master robot in the speed and position dimension.

[0017] The current main execution information of each joint on the main robot is determined based on the first execution information and the second execution information.

[0018] Optionally, determining the first execution information of each joint on the main robot based on the current target force in the current instruction, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix includes:

[0019] Calculate the force error between the current target force and the previous main executing external force;

[0020] Based on the force error, the first preset direction matrix, and the second preset direction matrix, the first execution information of each joint on the main robot is determined.

[0021] Optionally, determining the first execution information of each joint on the main robot based on the force error, the first preset direction matrix, and the second preset direction matrix includes:

[0022] Subtract the first preset direction matrix from the second preset direction matrix to obtain the first direction difference matrix;

[0023] The end effector force of the main robot is determined based on the force error, the first direction difference matrix, and the force control law.

[0024] The end effector force of the main robot is converted based on the force conversion matrix to obtain the first execution information of each joint on the main robot.

[0025] Optionally, determining the second execution information of each joint on the main robot based on the current target velocity, current target position, previous main actual position, previous main actual velocity, and second preset direction matrix in the current instruction includes:

[0026] The main speed difference is determined based on the current target speed and the previous main actual speed.

[0027] The primary position difference is determined based on the current target position and the previous primary actual position.

[0028] The second execution information of each joint on the main robot is determined based on the main velocity difference, the main position difference, and the second preset direction matrix.

[0029] Optionally, the previous execution result includes: the previous actual position and the previous actual speed;

[0030] The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, including:

[0031] The slave robot determines the current slave execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the slave robot's initial position and initial velocity, the first preset direction matrix, and the third preset direction matrix in the previous master execution result.

[0032] Optionally, the slave robot determines the current slave execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the slave robot's initial position and initial velocity, the first preset direction matrix, and the third preset direction matrix from the previous master execution result, including:

[0033] Based on the previous main execution external force, the first preset direction matrix, and the third preset direction matrix, the third execution information of each joint on the robot is determined;

[0034] Based on the initial position and initial velocity of the slave robot, the actual position and actual velocity of the previous slave robot, and the third preset direction matrix, the fourth execution information of each joint on the slave robot is determined;

[0035] The current execution information of each joint on the slave robot is determined based on the third execution information and the fourth execution information.

[0036] Optionally, determining the third execution information of each joint on the robot based on the previous main executing external force, the first preset direction matrix, and the third preset direction matrix includes:

[0037] Subtract the first preset direction matrix from the third preset direction matrix to obtain the second direction difference matrix;

[0038] The end effector force of the slave robot is determined based on the previous main actuator external force, the second direction difference matrix, and the force control law;

[0039] The force transformation matrix is ​​used to transform the end effector force of the slave robot to obtain the third execution information of each joint on the slave robot.

[0040] Secondly, embodiments of this application also provide a multi-robot collaborative system, including: a master robot and at least one slave robot, wherein the master robot is connected to each of the slave robots;

[0041] The master robot is used to execute the method steps described in the first aspect above; the slave robot is used to execute the method steps described in the first aspect above.

[0042] Thirdly, embodiments of this application also provide an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores program instructions executable by the processor. When the application runs, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to perform the steps of the multi-machine cooperative method based on the torque inner loop described in the first aspect.

[0043] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which is read and executes the steps of the multi-machine cooperative method based on the torque inner loop described in the first aspect.

[0044] The beneficial effects of this application are:

[0045] This application provides a multi-machine collaborative method and a multi-robot collaborative system based on a torque inner loop. The master robot determines the current master execution information of each joint based on the current instruction, the previous master execution result, a first preset direction matrix, and a second preset direction matrix, and controls each joint to execute the operation indicated by the current master execution information. The slave robot determines the current slave execution information of each joint based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and a third preset direction matrix, and controls each joint to execute the operation indicated by the current slave execution information. Thus, both the master robot and each slave robot can independently calculate their own current execution information and control each joint to execute it. This eliminates the need for a high-performance central computing core for overall coordination, lowering hardware and application barriers. Furthermore, it avoids issues such as latency interference from electronic communication, improving the collaborative efficiency between master and slave robots. Simultaneously, by adjusting the first and second preset direction matrices, the master and slave robots can complete different types of master-slave tasks, improving the system's flexibility and scalability. Attached Figure Description

[0046] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This application provides a schematic diagram of a multi-robot collaborative system architecture.

[0048] Figure 2 A flowchart illustrating a multi-machine collaborative method based on a torque inner loop provided in this application embodiment;

[0049] Figure 3 A flowchart illustrating a method for determining current main execution information provided in an embodiment of this application;

[0050] Figure 4 A schematic diagram illustrating a master-slave collaboration method provided in an embodiment of this application;

[0051] Figure 5 A flowchart illustrating another method for determining current main execution information provided in an embodiment of this application;

[0052] Figure 6 A flowchart illustrating another method for determining current main execution information provided in an embodiment of this application;

[0053] Figure 7 A flowchart illustrating another method for determining current main execution information provided in an embodiment of this application;

[0054] Figure 8 A flowchart illustrating a method for determining current execution information provided in an embodiment of this application;

[0055] Figure 9 A flowchart illustrating a method for determining third execution information provided in an embodiment of this application;

[0056] Figure 10 A schematic diagram illustrating another master-slave collaboration method provided in this application embodiment;

[0057] Figure 11 This is a structural block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0058] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.

[0059] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0060] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.

[0061] Single-arm robotic arms often face difficulties in clamping or securing workpieces due to their unique shapes, and may be unable to handle large-mass workpieces due to their own load limitations. However, collaborative operation of dual-arm or even multiple robotic arms can effectively solve these problems. Most existing multi-arm collaborative solutions consider dual-arm collaboration, employing accurate mathematical modeling of the robotic arms and workpiece clamping constraints before kinematic or dynamic control as a whole to achieve collaborative work. While this approach of controlling multiple robotic arms as a unified whole can achieve better accuracy and real-time performance, it is limited in application because it requires advance mathematical modeling. The allowed number of robotic arms and the workpieces used are determined during mathematical modeling; once the overall structure changes, remodeling and redesigning the control mechanism are necessary, lacking flexibility. At the hardware level, the increased complexity of the control system and the increased number of motion mechanisms place high demands on the control computing core and data transmission bandwidth. The method provided by this invention does not require prior mathematical modeling, and the number of robotic arms and the workpieces operated can be flexibly switched. Each arm is embedded in the entire system as an independent module, carrying its own computing core and data link. It does not require a high-performance central computing core for overall coordination, which greatly reduces both the hardware and application thresholds.

[0062] Figure 1 This application provides a schematic diagram of a multi-robot collaborative system architecture, as shown in the embodiments. Figure 1 As shown, the multi-robot collaborative system includes a master robot and at least one slave robot. The master robot can be physically connected to each slave robot. The master robot can receive instructions sent by a host computer and execute the instructions sent by the host computer using the method provided in this application embodiment. The slave robots do not receive instructions sent by the host computer and use the method provided in this application embodiment to coordinate with the master robot to execute the execution information of the slave robots.

[0063] Figure 2This is a flowchart illustrating a multi-machine collaborative method based on a torque inner loop, provided as an embodiment of this application. The executing entities of this method are, as described above, the master robot and each slave robot in the multi-machine collaborative system. Figure 2 As shown, the method includes:

[0064] S101, The main robot receives the current instruction sent by the host computer and the result of the previous main execution after the main robot executes the previous main execution information.

[0065] Optionally, the main robot can communicate with a host computer, which can send instructions to the main robot. When the main robot receives the current instruction from the host computer, it converts the current instruction into the main execution information for each joint on the main robot in the current iteration, so that each joint on the main robot performs the operation according to the current main execution information. Here, the current instruction refers to the instruction that the host computer requires the main robot to execute in the current iteration. The previous main execution information refers to the main execution information of each joint on the main robot in the previous iteration. After each joint on the main robot completes the operation indicated by the previous main execution information, it will obtain the result of the previous main execution.

[0066] The previous main execution information may include, for example, the force output of each joint on the main robot. The previous main execution result refers to the actual position and speed of the main robot after each joint has completed its operation according to its force output.

[0067] S102. The main robot determines the current main execution information of each joint on the main robot based on the current instruction, the previous main execution result, the first preset direction matrix and the second preset direction matrix, and controls each joint on the main robot to perform the operation indicated by the current main execution information.

[0068] The first preset direction matrix indicates the activation of all compliant directions in the force dimension. For example, it can be represented by I, a 6-dimensional direction matrix including three translational and three rotational directions, where all values ​​in the I matrix are 0. The second preset direction matrix indicates the activation direction of the main robot in the velocity-position dimension, for example, it can be represented by S1. The second preset direction matrix can also be a 6-dimensional direction matrix. For instance, if the main robot is active in the x-direction of the velocity-position dimension and inactive in other directions, the switch corresponding to the x-direction in the S1 matrix can be represented by 1, and the switches corresponding to other directions by 0. It is worth noting that the directions in the second preset direction matrix are different from the compliant directions in the first preset direction matrix. Furthermore, if the main robot is active in the x-direction of the velocity-position dimension, then it is inactive in the x-direction of the force dimension. In other words, the compliant directions activated by the main robot in the force dimension are opposite to the active directions in the velocity-position dimension.

[0069] Optionally, the main robot can use a preset method to determine the current main execution information of each joint on the main robot based on the current instruction received from the host computer, the previous main execution result, the first preset direction matrix, and the second preset direction matrix. The current main execution information may refer to the force component of each joint on the main robot in the current execution, and control each joint on the main robot to perform operations according to the force component of the current execution.

[0070] S103, Receive the previous master execution result from the robot, and execute the previous slave execution result after the slave robot executes the previous slave execution information.

[0071] Optionally, the slave robot does not need to receive current instructions from the host computer. Instead, it only receives the previous master execution result after the master robot executes its previous master execution information, and the previous slave execution result after the slave robot executes its previous slave execution information. The previous slave execution information may include, for example, the force output of each joint on the slave robot. The previous slave execution result refers to the actual position and speed of the slave robot after each joint has completed its operation according to its respective force output.

[0072] Optionally, when the master robot executes its previous master execution information, each joint on the slave robot also executes its previous slave execution information. The previous slave execution information refers to the slave execution information of each joint on the slave robot in the current instance. After each joint on the slave robot completes the operation indicated by the previous slave execution information, it obtains the previous slave execution result and returns it to the slave robot. That is, after each joint on the slave robot executes the operation according to the previous output force component of the slave robot, the previous slave execution result is returned to the slave robot.

[0073] S104. The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, and controls each joint on the slave robot to perform the operation of the current slave execution information.

[0074] The third preset direction matrix refers to the activation direction of the robot in the velocity-position dimension, and this third preset direction matrix is ​​represented by, for example, S2. If the S2 matrix is ​​open except for the z-direction and closed in other directions, then the switch in the S2 matrix is ​​1 for the z-direction and 0 for the other directions. It is worth noting that the directions in the third preset direction matrix are different from the compliant directions in the first preset direction matrix. Furthermore, if the z-direction is the activation direction in the velocity-position dimension, then the z-direction is closed in the force dimension. In other words, the compliant direction activated by the robot in the force dimension is opposite to the activation direction in the velocity-position dimension.

[0075] Optionally, the slave robot can use a preset method to determine the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix. The current slave execution information can refer to the force component of each joint on the slave robot in the current execution, and control each joint on the slave robot to perform operations according to the force component of the current execution.

[0076] Optionally, the second preset direction matrix S1 of the master robot and the third preset direction matrix S2 of the slave robot can be set according to different actual tasks to complete different types of master-slave tasks. For example, in a force-sharing task, the end effector of the master robot is physically connected to the end effector of the slave robot, while the end effector of the slave robot carries an additional large load. The slave robot closes all directions in the velocity-position dimension, i.e., the S2 matrix is ​​all 0, while the S1 matrix of the master robot can be preset according to actual needs. In a direction-restricted task, the S1 matrix of the master robot is all 0, and the S2 matrix of the slave robot can restrict some directions according to actual needs. For example, if the S2 matrix of the slave robot is 1 in all directions except the z-direction, then the slave robot will only be driven by the master robot in the z-direction and cannot be driven to move in other directions. In a balanced force output task, the master robot and the slave robot simultaneously clamp a workpiece. The slave robot can activate the compliant direction in the z direction, while the master robot can not activate any compliant direction. In this way, if the workpiece is elastic in the z direction, if it is subjected to unwanted compression or stretching during the task, it will generate stress on the slave robot. Because the slave robot has activated the compliant direction in the z direction, it will respond to this stress and move in accordance with this stress, thereby eliminating this excess stress.

[0077] In this embodiment, the master robot determines the current master execution information of each joint on the master robot based on the current instruction, the previous master execution result, the first preset direction matrix, and the second preset direction matrix, and controls each joint on the master robot to execute the operation indicated by the current master execution information. The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, and controls each joint on the slave robot to execute the operation indicated by the current slave execution information. Thus, both the master robot and each slave robot can independently calculate the current execution information of each robot and control each joint on each robot to execute the current execution information. This eliminates the need for a high-performance central computing core for overall coordination, reducing hardware and application barriers. Furthermore, it eliminates the need to consider issues such as latency interference caused by electronic communication, improving the collaborative efficiency between the master and slave robots. At the same time, by adjusting the first preset direction matrix and the second preset direction matrix, the master and slave robots can complete different types of master and slave tasks, improving the system's flexibility and scalability.

[0078] Optionally, the current command may include: the main robot's current target force, current target position, and current target velocity. The main robot's current target force refers to the main robot's target force, for example, using F... d To indicate, the current target position refers to the target position of the main robot, for example, using x. d To indicate, the current target speed also refers to the target speed of the main robot, for example, using... This can be represented by the current command. The current command instructs the main robot to move to the target position at the target speed specified in the current command, and to perform the action with the target force.

[0079] Optionally, the previous main execution result may include: the previous main execution external force, the previous main actual position, and the previous main actual velocity. Here, the previous main execution external force refers to the interaction force between the main robot and the external environment generated after each joint on the main robot executes the previous main execution information. For example, F can be used. ext The previous master actual position refers to the actual position of the master robot after each joint on the master robot executes the previous master execution information, for example, it can be represented by x1; the previous master actual speed refers to the actual speed of the master robot after each joint on the master robot executes the previous master execution information, for example, it can be represented by x1. express.

[0080] Optionally, in S102 above, the main robot determines the current main execution information of each joint on the main robot based on the current instruction, the result of the previous main execution, the first preset direction matrix, and the second preset direction matrix, which may include:

[0081] Specifically, the main robot can determine the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, previous main execution external force, previous main actual position, previous main actual velocity, first preset direction matrix and second preset direction matrix in the current command.

[0082] That is, the main robot can determine the current target force F in the current command. d The current target position x of the main robot d The main robot's current target speed And the external force F of the main robot after each joint on the main robot has executed the previous main execution information. ext The previous actual position of the main robot x1, and the previous actual speed of the main robot. And using a preset method, the first preset direction matrix S1 and the second preset direction matrix S2 determine the current main execution information τ of each joint on the main robot. c1 That is, to determine the force components of each joint on the main robot in the current iteration.

[0083] Figure 3 A flowchart illustrating a method for determining current main execution information provided in an embodiment of this application is shown below. Figure 3 As shown, the aforementioned main robot determines the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, previous main execution external force, previous main actual position, previous main actual velocity, first preset direction matrix, and second preset direction matrix in the current command. This information includes:

[0084] S201. Based on the current target force, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix in the current instruction, determine the first execution information of each joint on the main robot.

[0085] Here, the first execution information refers to the force component in the compliant direction of each joint on the main robot in the force dimension. The main robot can then determine the target force F based on this information. d The previous main executing external force F ext The first preset direction matrix S1 and the second preset direction matrix S1 are used to determine the first execution information of each joint on the main robot using a preset method, that is, to determine the force component of each joint on the main robot in the force dimension. The force component of each joint on the main robot in the force dimension can be represented by the joint output torque τ. f1 Indicates. Specifically, as... Figure 4 As shown.

[0086] S202. Based on the current target speed, current target position, previous master actual position, previous master actual speed and the second preset direction matrix in the current instruction, determine the second execution information of each joint on the master robot.

[0087] The second execution information refers to the force components of each joint on the main robot in the opening direction along the velocity-position dimension. The main robot can then determine the current target velocity based on the current command. Current target position x d Previous master actual position x1, previous master actual speed And the second preset direction matrix S1, using a preset method to determine the second execution information of each joint on the main robot, that is, to determine the force components of each joint on the main robot in the velocity-position dimension, wherein the force components of each joint on the main robot in the velocity-position dimension can be represented by the joint output torque τ. p1 Indicates. Specifically, as... Figure 4 As shown.

[0088] S203. Based on the first execution information and the second execution information, determine the current main execution information of each joint on the main robot.

[0089] Specifically, the first execution information τ can be... f1 Add τ to the second execution information p1 , obtain the total execution information τ c1 and will the total execution information τ c1 The input is processed by the servo motor to obtain the current main execution information τ1 of each joint on the main robot.

[0090] In this embodiment, the main robot can independently determine the force output of each joint on the main robot based on the current instruction received from the host computer and the previous main execution result returned by the main robot. There is no need to perform mathematical modeling in advance, and there is no need for a high-performance central computing core to coordinate, which improves the applicability and flexibility of the system.

[0091] Figure 5 A flowchart illustrating another method for determining current main execution information provided in this application embodiment is shown below. Figure 5 As shown, in S201 above, determining the first execution information of each joint on the main robot based on the current target force, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix in the current instruction may include:

[0092] S301. Calculate the force error between the current target force and the previous main executing external force.

[0093] Specifically, such as Figure 4 As shown, the current target force F can be... dSubtract the previous main external force F ext The force error e is obtained. f1 For example, if the target force is 8N, the returned previous primary external force F... ext If the force is 5N, then the force error e f1 It is 3N.

[0094] S302. Based on the force error, the first preset direction matrix, and the second preset direction matrix, determine the first execution information of each joint on the main robot.

[0095] Alternatively, it can be based on the force error e f1 The first preset direction matrix S1 and the second preset direction matrix S1 are used to determine the first execution information τ of each joint on the main robot using a preset method. f1 .

[0096] Figure 6 A flowchart illustrating another method for determining current main execution information provided in this application embodiment is shown below. Figure 6 As shown, in step S302 above, determining the first execution information of each joint on the main robot based on the force error, the first preset direction matrix, and the second preset direction matrix may include:

[0097] S401. Subtract the first preset direction matrix from the second preset direction matrix to obtain the first direction difference matrix.

[0098] Optionally, the first preset direction matrix I is a matrix that enables all compliant directions in the force dimension, and the second preset direction matrix S1 is the main robot's enabled direction in the velocity-position dimension. The first direction difference matrix obtained by subtracting the second preset direction matrix from the first preset direction matrix is ​​the compliant direction enabled by the main robot in the force dimension, which means that the enabled direction in the velocity-position dimension is turned off in the force dimension.

[0099] For example, if the x-direction is enabled in the second preset direction matrix, then the x-compliant direction in the first direction difference matrix obtained by subtracting the second preset direction matrix from the first preset direction matrix is ​​disabled, and all other compliant directions except the x-compliant direction are enabled.

[0100] S402. Determine the end effector force of the main robot based on the force error, the first direction difference matrix, and the force control law.

[0101] Specifically, the force error and the first direction difference matrix can be input into the force control law to obtain the end effector force F of the main robot in the force dimension. end1 This means that the end effector force of the main robot arm in the compliant direction is obtained in the force dimension.

[0102] S403. Based on the force transformation matrix, the end effector force of the main robot is transformed to obtain the first execution information of each joint on the main robot.

[0103] The force transformation matrix can be the Jacobian matrix J. T That is, using the Jacobian matrix to represent the end effector force F of the main robot. end1 This is converted into the first execution information for each joint, that is, into the output force τ of each joint. f1 .

[0104] Figure 7 A flowchart illustrating another method for determining current main execution information provided in this application embodiment is shown below. Figure 7 As shown, in step S202 above, based on the current target velocity, current target position, previous master actual position, previous master actual velocity, and the second preset direction matrix in the current command, the second execution information of each joint on the master robot is determined, including:

[0105] S501. Determine the main speed difference based on the current target speed and the previous main actual speed.

[0106] Specifically, the current target speed in the current command can be... Subtract the previous actual speed of the main robot returned by the main robot. The main speed difference of the main robot is obtained. .

[0107] S502. Determine the master position difference based on the current target position and the previous master actual position.

[0108] Specifically, the current target position x in the current command can be... d Subtracting the previous actual position x1 returned by the main robot, we obtain the main robot's position difference e. x1 .

[0109] After executing the previous main execution information, each joint on the main robot returns its previous actual position q1 and its previous actual velocity to the main robot. By using forward kinematics, the previous actual position q1 and the previous actual velocity of each joint are obtained. Converted to the robot's previous master actual position x1 and previous master actual velocity .

[0110] S503. Based on the main velocity difference, the main position difference, and the second preset direction matrix, determine the second execution information of each joint on the main robot.

[0111] Optionally, the main speed difference can be... , principal position difference e x1The second preset direction matrix S1 is input to the position control law to calculate the acceleration of the end effector of the main robot in the velocity-position dimension. The end effector acceleration of the main robot is then input into the inverse kinematics to obtain the second execution information of each joint on the main robot, namely the output force matrix τ of each joint. p1 .

[0112] Optionally, in S104 above, the slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, which may include:

[0113] Specifically, the robot determines the current execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the robot's initial position, the first preset direction matrix, and the third preset direction matrix from the previous master execution result.

[0114] That is, the slave robot can generate the previous primary execution force F based on the interaction between the slave robot and the external environment after the slave robot executes the previous primary execution information. ext When the robot executes the information from the previous robot, the previous robot's actual position x2 and the previous robot's actual speed are calculated. Starting from the robot's initial position x0 and initial velocity The first preset direction matrix I and the third preset direction matrix determine the current execution information of the robot, wherein the initial position of the robot is a fixed position and the initial velocity of the robot is fixed at 0.

[0115] Figure 8 A flowchart illustrating a method for determining current execution information provided in this application embodiment is shown below. Figure 8 As shown, the above-mentioned determination of the current slave execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the slave robot's initial position, the first preset direction matrix, and the third preset direction matrix in the previous master execution result may include:

[0116] S601. Based on the previous main execution external force, the first preset direction matrix, and the third preset direction matrix, determine the third execution information of each joint on the robot.

[0117] The second execution information refers to the force component in the compliant direction activated by each joint on the robot in the force dimension.

[0118] Optionally, it can be based on the previous main executing external force F ext The first preset direction matrix S1 and the third preset direction matrix S2 are used to determine the third execution information τ of each joint on the robot using a preset method. f2 .

[0119] S602. Based on the robot's initial position, initial velocity, previous actual position, previous actual velocity, and third preset direction matrix, determine the fourth execution information for each joint on the robot.

[0120] The fourth execution information refers to the force components of each joint on the robot in the opening direction along the velocity-position dimension. This is derived from the robot's initial position x0 and initial velocity... 1. Previous from actual position x2, 2. Previous from actual speed And the third preset direction matrix S2, determines the fourth execution information of each joint on the robot. That is, it determines the force components of each joint on the robot in the velocity-position dimension, wherein the force components of each joint on the robot in the velocity-position dimension can be represented by the joint output torque τ. p2 Indicates. Specifically, as... Figure 4 As shown.

[0121] Specifically, the difference in slave position e between the master robot and the slave robot can be obtained by subtracting the previous slave position x2 returned from the slave robot from the master robot's initial position x0. x2 The initial velocity of the robot (0) will be subtracted from the robot's previous actual velocity as it returns. The difference in speed from the robot is obtained. .

[0122] In this process, after each joint on the robot has executed the previous execution information, it returns to the slave robot the previous actual position q2 and the previous actual velocity of each joint. By using forward kinematics, the previous actual position q2 and the previous actual velocity of each joint are obtained. Convert the robot's previous position x2 and previous velocity. .

[0123] Optionally, the speed difference can be... From the position difference e x2 And the third preset direction matrix S2, input to the position control law, calculates the acceleration from the robot's end effector in the velocity-position dimension. And the acceleration from the robot's end effector in the velocity-position dimension. The input is fed into the inverse kinematics to obtain the fourth execution information of each joint on the robot, namely the output force matrix τ of each joint. p2 .

[0124] S603. Determine the current execution information of each joint on the robot based on the third execution information and the fourth execution information.

[0125] Specifically, the third execution information τ f2and the fourth execution information τ p2 The sum is obtained from the robot's total execution information τ. c2 and will the total execution information τ c2 The current execution information τ2 of each joint on the robot is obtained by inputting it into the servo converter for processing.

[0126] In this embodiment, the slave robot can independently calculate the current execution information of each joint on the slave robot, and the input of the slave robot's force control law comes entirely from the previous master external force generated when the master robot executes the previous master execution information. The input of the position control law is the position difference and velocity difference of the slave robot. This allows the information interaction between the master and slave robots to be carried out entirely by physical means, resulting in good compatibility and scalability. Even for completely different types of robots, they can cooperate seamlessly without communication adaptation and can be directly applied between different robots.

[0127] Figure 9 A flowchart illustrating a method for determining third execution information provided in an embodiment of this application is shown below. Figure 9 As shown, in step S601 above, the determination of the third execution information of each joint on the robot based on the previous main execution external force, the first preset direction matrix, and the third preset direction matrix may include:

[0128] S701. Subtract the first preset direction matrix and the third preset direction matrix to obtain the second direction difference matrix.

[0129] Specifically, the first preset direction matrix I is a matrix that opens all compliant directions in the force dimension, and the third preset direction matrix S2 is the opening direction from the robot in the velocity-position dimension. The second direction difference matrix obtained by subtracting the third preset direction matrix from the first preset direction matrix is ​​the compliant direction that will be closed from the opening direction of the robot in the velocity-position dimension in the force dimension.

[0130] For example, if the z-direction is enabled in the third preset direction matrix, then the z-compliant direction in the second direction difference matrix obtained by subtracting the third preset direction matrix from the first preset direction matrix is ​​disabled, and all other compliant directions except the z-compliant direction are enabled.

[0131] S702. Determine the end effector force of the robot based on the previous main actuator external force, the second directional difference matrix, and the force control law.

[0132] Specifically, the difference matrix between the previous main executing external force and the second direction can be input into the force control law to obtain the end effector force F from the robot. end2 That is, we obtain the end force in the compliant direction initiated from the end of the robot arm in the force dimension.

[0133] S703. Based on the force conversion matrix, the end force of the robot is converted to obtain the third execution information of each joint on the robot.

[0134] The force transformation matrix can be the Jacobian matrix J. T That is, using the Jacobian matrix to measure the end effector force F of the robot. end2 This is converted into the third execution information of each joint, that is, into the output force τ of each joint. f2 .

[0135] Optionally, this application also provides a method for correcting the position of each joint of the robot based on the previous actual position and the previous actual velocity of each joint returned by the robot. Specifically, as shown in the example... Figure 10 As shown.

[0136] The main robot can exert its end effector force F in the force dimension. end1 The acceleration of the end effector of the main robot in the velocity-position dimension Adding them together, we obtain the current master execution end force F of the master machine. end3 Then the current main execution end force F end3 The current main execution position information q of each joint on the main robot is obtained by inputting it into the inverse kinematics. c1 And the current main execution position information q of each joint c1 The previous actual position q1 returned by the main robot and the previous actual velocity of each joint. All inputs are sent to the servo, and the current main execution information τ4 of each joint on the main robot is obtained using the control law.

[0137] For a robot, the robot can exert an end-effector force F from the robot in the force dimension. end2 With acceleration from the robot's end effector in the velocity-position dimension Adding them together, we get the current force F from the end of the machine. end4 Then the current force F from the execution end will be... end4 The current execution position information q of each joint on the robot is obtained by inputting it into the inverse kinematics. c2 And the current execution position information q of each joint. c2 The robot's previous actual position q2 and the previous actual velocity of each joint. All inputs are sent to the servo, and the current execution information τ4 of each joint on the robot is obtained using the control law.

[0138] Figure 11 This is a structural block diagram of an electronic device 800 provided in an embodiment of this application. (See diagram below.) Figure 11 As shown, the electronic device may include: a processor 801 and a memory 802.

[0139] Optionally, a bus 803 may also be included, wherein the memory 802 is used to store machine-readable instructions executable by the processor 801. When the electronic device 800 is running, the processor 801 and the memory 802 communicate via the bus 803. When the machine-readable instructions are executed by the processor 801, the method steps in the above method embodiments are performed.

[0140] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the method steps described in the above embodiments of the multi-machine cooperative method based on the torque inner loop.

[0141] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some communication interfaces; the indirect coupling or communication connection of devices or modules can be electrical, mechanical, or other forms.

[0142] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.

[0143] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A multi-machine collaborative method based on a torque inner loop, characterized in that, The method, applied to a multi-robot collaborative system, includes a master robot and at least one slave robot, wherein the master robot is connected to each of the slave robots, and comprises: The main robot receives the current instruction sent by the host computer and the previous main execution result after the main robot executes the previous main execution information; The main robot determines the current main execution information of each joint on the main robot based on the current instruction, the previous main execution result, the first preset direction matrix, and the second preset direction matrix, and controls each joint on the main robot to execute the operation indicated by the current main execution information. The first preset direction matrix is ​​used to indicate the activation of all compliant directions in the force dimension, and the second preset direction matrix is ​​used to indicate the activation direction of the main robot in the velocity-position dimension. The slave robot receives the previous master execution result and the previous slave execution result after executing the previous slave execution information of the slave robot; The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, and controls each joint on the slave robot to execute the operation of the current slave execution information. The third preset direction matrix is ​​used to indicate the compliant direction activated by the slave robot in the velocity-position dimension. The current instruction includes the current target force, current target position, and current target velocity of the main robot; the previous main execution result includes: the previous main execution external force, the previous main actual position, and the previous main actual velocity; The main robot determines the current main execution information of each joint on the main robot based on the current instruction, the previous main execution result, the first preset direction matrix, and the second preset direction matrix, including: The main robot determines the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, the previous main execution external force, the previous main actual position, the previous main actual velocity, the first preset direction matrix, and the second preset direction matrix in the current command.

2. The multi-machine collaborative method based on the inner torque loop according to claim 1, characterized in that, The main robot determines the current main execution information of each joint on the main robot based on the current target force, current target position, current target velocity, the previous main execution external force, the previous main actual position, the previous main actual velocity, the first preset direction matrix, and the second preset direction matrix in the current command. This includes: Based on the current target force in the current instruction, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix, the first execution information of each joint on the main robot is determined. The first execution information is used to indicate the output force generated by each joint on the main robot in the force dimension. Based on the current target speed, current target position, previous master actual position, previous master actual speed and second preset direction matrix in the current instruction, the second execution information of each joint on the master robot is determined. The second execution information is used to indicate the force generated by the joint on the master robot in the speed and position dimension. The current main execution information of each joint on the main robot is determined based on the first execution information and the second execution information.

3. The multi-machine collaborative method based on the inner torque loop according to claim 2, characterized in that, The step of determining the first execution information of each joint on the main robot based on the current target force in the current instruction, the previous main execution external force, the first preset direction matrix, and the second preset direction matrix includes: Calculate the force error between the current target force and the previous main executing external force; Based on the force error, the first preset direction matrix, and the second preset direction matrix, the first execution information of each joint on the main robot is determined.

4. The multi-machine collaborative method based on the inner torque loop according to claim 3, characterized in that, The step of determining the first execution information of each joint on the main robot based on the force error, the first preset direction matrix, and the second preset direction matrix includes: Subtract the first preset direction matrix from the second preset direction matrix to obtain the first direction difference matrix; The end effector force of the main robot is determined based on the force error, the first direction difference matrix, and the force control law. The end effector force of the main robot is converted based on the force conversion matrix to obtain the first execution information of each joint on the main robot.

5. The multi-machine collaborative method based on the inner torque loop according to claim 2, characterized in that, The step of determining the second execution information of each joint on the main robot based on the current target speed, current target position, previous main actual position, previous main actual speed, and second preset direction matrix in the current instruction includes: The main speed difference is determined based on the current target speed and the previous main actual speed. The primary position difference is determined based on the current target position and the previous primary actual position. The second execution information of each joint on the main robot is determined based on the main velocity difference, the main position difference, and the second preset direction matrix.

6. The multi-machine collaborative method based on the inner torque loop according to claim 1, characterized in that, The previous execution result includes: the previous actual position and the previous actual speed; The slave robot determines the current slave execution information of each joint on the slave robot based on the previous master execution result, the previous slave execution result, the first preset direction matrix, and the third preset direction matrix, including: The slave robot determines the current slave execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the slave robot's initial position and initial velocity, the first preset direction matrix, and the third preset direction matrix in the previous master execution result.

7. The multi-machine collaborative method based on the inner torque loop according to claim 6, characterized in that, The slave robot determines the current slave execution information based on the previous master execution external force, the previous slave actual position, the previous slave actual velocity, the slave robot's initial position and initial velocity, the first preset direction matrix, and the third preset direction matrix from the previous master execution result. This information includes: Based on the previous main execution external force, the first preset direction matrix, and the third preset direction matrix, the third execution information of each joint on the robot is determined; Based on the initial position and initial velocity of the slave robot, the actual position and actual velocity of the previous slave robot, and the third preset direction matrix, the fourth execution information of each joint on the slave robot is determined; The current execution information of each joint on the slave robot is determined based on the third execution information and the fourth execution information.

8. The multi-machine collaborative method based on the inner torque loop according to claim 7, characterized in that, The step of determining the third execution information of each joint on the robot based on the previous main execution external force, the first preset direction matrix, and the third preset direction matrix includes: Subtract the first preset direction matrix from the third preset direction matrix to obtain the second direction difference matrix; The end effector force of the slave robot is determined based on the previous main actuator external force, the second direction difference matrix, and the force control law; The force transformation matrix is ​​used to transform the end effector force of the slave robot to obtain the third execution information of each joint on the slave robot.

9. A multi-robot collaborative system, characterized in that, include: A master robot and at least one slave robot, wherein the master robot is connected to each of the slave robots; The master robot is used to execute the method steps performed by the master robot according to any one of claims 1-8; the slave robot is used to execute the method steps performed by the slave robot according to any one of claims 1-8.