Multi-robot cooperation method and multi-robot cooperation system based on moment inner ring

Through a multi-machine collaboration method based on the torque inner ring, the master-slave robot independently calculates joint execution information, solving the stability and flexibility of the multi-machine arm collaboration scheme in the prior art, and achieving efficient multi-robot collaborative operation.

CN120363225AActive Publication Date: 2025-07-25SHANGHAI JIEKA ROBOT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510511735.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-22
Publication Date
2025-07-25
Estimated Expiration
2045-04-22

AI Technical Summary

Technical Problem

The existing multi-robot collaborative solution requires mathematical modeling in advance, resulting in poor stability, poor flexibility, and high requirements for hardware and data transmission, making it difficult to flexibly switch the number of robot arms and operate workpieces.

Method used

The multi-machine collaboration method based on the torque inner ring is adopted to independently calculate joint execution information through the master robot and the slave robot, without the need for a high-performance central computing core, and the preset direction matrix is used to adjust the flexible direction and speed position to achieve coordinated operation.

Benefits of technology

It lowers the hardware and application threshold, improves the flexibility and scalability of the system, reduces the delay interference of electronic communications, and improves the collaborative efficiency of multiple robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120363225A_ABST
    Figure CN120363225A_ABST
Patent Text Reader

Abstract

The invention provides a multi-robot cooperation method and system based on a moment inner ring, the multi-robot cooperation system comprises a master robot and at least one slave robot, and the method comprises the following steps: the master robot carries out multi-robot cooperation according to a current instruction, a previous master execution result, a first preset direction matrix and a second preset direction matrix; determining the current main execution information of each joint on the main robot, and controlling each joint on the main robot to execute the operation indicated by the current main execution information; and the slave robot determines the current slave execution information of each joint on the slave robot according to 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 second preset direction matrix is used for indicating the soft direction of opening of the slave robot in the speed position dimension. A high-performance central computing core is not needed 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] The present application relates to the technical field of robotics, and in particular, to a multi-robot cooperation method and a multi-robot cooperation system based on a torque inner loop. Background Art

[0002] A single-arm robotic arm often has difficulty in gripping or fixing due to the special shape of the workpiece, or may be unable to handle large-mass workpieces due to factors such as its own load limit. The cooperative operation of two or even multiple robotic arms can well solve the above problems.

[0003] In the prior art, most of the multi-robotic arm cooperation schemes consider the two-arm cooperation scheme. After accurately mathematically modeling the robotic arm and the workpiece gripping constraints, they are used as a whole for kinematic or dynamic control to achieve the effect of cooperative work. However, the existing cooperation schemes require prior mathematical modeling, and have poor stability and flexibility. Summary of the Invention

[0004] The purpose of the present application is to provide a multi-robot cooperation method and a multi-robot cooperation system based on a torque inner loop, aiming at the deficiencies in the above-mentioned prior art, to improve the flexibility and scalability of multi-robot cooperation.

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

[0006] In a first aspect, an embodiment of the present application provides a multi-robot cooperation method based on a torque inner loop, which is applied to a multi-robot cooperation system. The multi-robot cooperation system includes: a master robot and at least one slave robot, and the master robot is connected to each slave robot. The method includes:

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

[0008] The master robot determines the current master execution information of each joint on the master robot according to the current instruction, the previous master execution result, a first preset direction matrix, and a second preset direction matrix, and controls each joint on the master robot to execute the operation indicated by the current master execution information. The first preset direction matrix is used to indicate the opening of all compliant directions in the force dimension, and the second preset direction matrix is used to indicate the opening direction of the master robot in the speed-position dimension;

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

[0010] The slave robot determines the current slave execution information of each joint on the slave robot according to 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 opening direction of the slave robot in the speed and position dimension.

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

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

[0013] The master robot determines the current master execution information of each joint on the master robot according to the current target force, current target position, current target speed, the previous master execution external force, the previous master actual position, the previous master actual speed, the first preset direction matrix, and the second preset direction matrix in the current instruction.

[0014] Optionally, the master robot determines the current master execution information of each joint on the master robot according to the current target force, current target position, current target speed, the previous master execution external force, the previous master actual position, the previous master actual speed, the first preset direction matrix, and the second preset direction matrix in the current instruction, including:

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

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

[0017] Determine the current master execution information of each joint on the master robot according to the first execution information and the second execution information.

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

[0019] Calculating a force error between the current target force and the previous master execution external force;

[0020] Determining the first execution information of each joint on the master robot according to the force error, the first preset direction matrix, and the second preset direction matrix.

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

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

[0023] Determining the end force of the master robot according to the force error, the first direction difference matrix, and a force control law;

[0024] Converting the end force of the master robot based on a force conversion matrix to obtain the first execution information of each joint on the master robot.

[0025] Optionally, determining the second execution information of each joint on the master robot according to the current target speed, the current target position, the previous master actual position, the previous master actual speed, and the second preset direction matrix includes:

[0026] Determining a master speed difference according to the current target speed and the previous master actual speed;

[0027] Determining a master position difference according to the current target position and the previous master actual position;

[0028] Determining the second execution information of each joint on the master robot according to the master speed difference, the master position difference, and the second preset direction matrix.

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

[0030] The slave robot determines the current slave execution information of each joint on the slave robot according to 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 according to the previous master execution external force in the previous master execution result, the previous actual slave position, the previous actual slave speed, the initial position and initial speed of the slave robot, the first preset direction matrix, and the third preset direction matrix.

[0032] Optionally, the slave robot determines the current slave execution information according to the previous master execution external force in the previous master execution result, the previous actual slave position, the previous actual slave speed, the initial position and initial speed of the slave robot, the first preset direction matrix, and the third preset direction matrix, including:

[0033] Determine the third execution information of each joint on the slave robot according to the previous master execution external force, the first preset direction matrix, and the third preset direction matrix;

[0034] Determine the fourth execution information of each joint on the slave robot according to the initial position and initial speed of the slave robot, the previous actual slave position, the previous actual slave speed, and the third preset direction matrix;

[0035] Determine the current slave execution information of each joint on the slave robot according to the third execution information and the fourth execution information.

[0036] Optionally, the determining the third execution information of each joint on the slave robot according to the previous master execution external force, the first preset direction matrix, and the third preset direction matrix includes:

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

[0038] Determine the end force of the slave robot according to the previous master execution external force, the second direction difference matrix, and the force control law;

[0039] Based on the force conversion matrix, convert the end force of the slave robot to obtain the third execution information of each joint on the slave robot.

[0040] In a second aspect, an embodiment of the present application further provides a multi-robot cooperation system, including: a master robot and at least one slave robot, where the master robot is connected to each slave robot;

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

[0042] In a third aspect, an embodiment of the present application further provides 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 program runs, the processor communicates with the storage medium through the bus. The processor executes the program instructions to perform the steps of the multi-robot collaborative method based on the torque inner loop described in the first aspect above.

[0043] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium. A computer program is stored on the computer-readable storage medium. The computer program is read and executed to perform the steps of the multi-robot collaborative method based on the torque inner loop described in the first aspect above.

[0044] The beneficial effects of the present application are as follows:

[0045] A multi-robot collaborative method and a multi-robot collaborative system based on a torque inner loop provided by the present application. The master robot determines the current master execution information of each joint on the master robot according to 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 according to 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. Then, 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, without the need for a high-performance central computing core for overall planning, reducing the hardware threshold and application threshold, and without considering problems such as delay 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-slave tasks, improving the flexibility and scalability of the system. Description of the Drawings

[0046] To more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, without creative efforts, other relevant drawings can be obtained based on these drawings.

[0047] Figure 1 It is a schematic diagram of a multi-robot collaborative system architecture provided by an embodiment of the present application;

[0048] Figure 2 It is a schematic flowchart of a multi-robot collaborative method based on a torque inner loop provided by an embodiment of the present application;

[0049] Figure 3 A flowchart showing a method for determining current main execution information provided by an embodiment of the present application;

[0050] Figure 4 A schematic diagram showing master-slave cooperation provided by an embodiment of the present application;

[0051] Figure 5 A flowchart showing another method for determining current main execution information provided by an embodiment of the present application;

[0052] Figure 6 A flowchart showing yet another method for determining current main execution information provided by an embodiment of the present application;

[0053] Figure 7 A flowchart showing still another method for determining current main execution information provided by an embodiment of the present application;

[0054] Figure 8 A flowchart showing a method for determining current slave execution information provided by an embodiment of the present application;

[0055] Figure 9 A flowchart showing a method for determining third execution information provided by an embodiment of the present application;

[0056] Figure 10 A schematic diagram showing another master-slave cooperation provided by an embodiment of the present application;

[0057] Figure 11 A block diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

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

[0059] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all embodiments. The components of the embodiments of the present application described and illustrated in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the present application claimed, but only represents the selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts belong to the scope of protection of the present application.

[0060] It should be noted that the term "including" will be used in the embodiments of the present application to indicate the existence of the features stated thereafter, but does not exclude the addition of other features.

[0061] Single-arm robotic arms often have difficulties in clamping or fixing due to the special shape of the workpiece, and may also be unable to handle large-mass workpieces due to factors such as their own load limitations. The collaborative operation of two or even multiple robotic arms can well solve the above problems. Most of the existing multi-robotic arm collaborative schemes consider the two-arm collaborative scheme. After accurately mathematically modeling the robotic arms and the workpiece clamping constraints, they are used as a whole for kinematic or dynamic control, so as to achieve the effect of collaborative work. It is true that such a scheme of uniformly controlling multiple robotic arms as a whole can obtain better accuracy and real-time performance. However, at the application level, it is limited because mathematical modeling needs to be carried out in advance. The number of robotic arms allowed and the workpieces used are determined during mathematical modeling. Once the overall structure changes, it is necessary to re-model and design the control method, lacking flexibility. At the hardware level, due to the increase in the complexity of its control system and the number of motion mechanisms, high requirements are put forward for the control computing core and data transmission bandwidth on the hardware. The method provided by the present invention does not require prior mathematical modeling. The number of robotic arms and the workpieces to be operated can be flexibly switched. Moreover, each arm is embedded in the whole system as an independent module, carrying its own computing core and data link, without the need for a high-performance central computing core for overall planning, greatly reducing both the hardware threshold and the application threshold.

[0062] Figure 1 A schematic diagram of a multi-robot collaborative system architecture provided for the embodiments of the present application, as Figure 1 shown, this 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 the instructions sent by the upper computer and execute the instructions sent by the upper computer using the method provided for the embodiments of the present application. The slave robot does not receive the instructions sent by the upper computer, and uses the method provided for the embodiments of the present application to cooperate with the master robot to execute the execution information of the slave robot.

[0063] Figure 2The flowchart of a multi-robot cooperation method based on a torque inner loop provided by an embodiment of this application. The execution subject of this method is the master robot and each slave robot in the aforementioned multi-robot cooperation system. As Figure 2 shown, this method includes:

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

[0065] Optionally, the master robot can be communicatively connected to the host computer, and the host computer can send instructions to the master robot. When the master robot receives the current instruction sent by the host computer, it converts the current instruction into the master execution information of each joint on the master robot for the current time, so that each joint on the master robot executes operations according to the master execution information for the current time. Then, the current instruction refers to the instruction that the host computer requires the master robot to execute for the current time. The previous master execution information refers to the master execution information of each joint on the master robot for the previous time of the current time. When each joint on the master robot finishes executing the operations indicated by the previous master execution information, a previous master execution result will be obtained.

[0066] Among them, the previous master execution information can include, for example, the output force of each joint on the master robot, etc. The previous master execution result refers to information such as the actual position and actual speed of the master robot after each joint on the master robot executes the operations according to the output force of each joint.

[0067] S102. The master robot determines the current master execution information of each joint on the master robot according to 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 operations indicated by the current master execution information.

[0068] Among them, the first preset direction matrix is used to indicate to turn on all compliant directions in the force dimension. For example, it can be represented by I. I can be a 6-dimensional direction matrix, including three translational directions and three rotational directions. Then, the I matrix can be all 0. The second preset direction matrix is used to indicate the opening direction of the master robot in the speed-position dimension. For example, it can be represented by S1. The second preset direction matrix can be a 6-dimensional direction matrix. For example, the x direction of the master robot in the speed-position dimension is open, and other directions are closed. Then, the switch corresponding to the x direction in the S1 matrix can be represented by 1, and the switches corresponding to other directions are represented by 0. It should be noted that the directions in the second preset direction matrix are different from the compliant directions in the first preset direction matrix. And if the x direction of the master robot in the speed-position dimension is the open direction, then the x direction of the master robot in the force dimension is the closed direction. That is to say, the compliant directions opened by the master robot in the force dimension are opposite to the opening directions of the master robot in the speed-position dimension.

[0069] Optionally, the master robot can use a preset method based on the current instruction received from the host computer, the previous master execution result, the first preset direction matrix, and the second preset direction matrix to determine the current master execution information of each joint on the master robot, where the current master execution information can refer to the output components of each joint on the master robot in the current time, and control each joint on the master robot to execute operations according to the output components in the current time.

[0070] S103. The slave robot receives the previous master execution result and the previous slave execution result after the slave robot executes the previous slave execution information of the slave robot.

[0071] Optionally, the slave robot does not need to receive the current instruction from the host computer. The slave robot only receives the previous master execution result after the master robot executes the previous master execution information of the master robot, and the previous slave execution result after the slave robot executes the previous slave execution information of the slave robot. Among them, the previous slave execution information can include, for example, the output of each joint on the slave robot. The previous slave execution result refers to information such as the actual position and actual speed of the slave robot after each joint on the slave robot executes the operation according to the output of each joint.

[0072] Optionally, when the master robot executes the previous master execution information of the master robot, each joint on the slave robot will also execute the previous slave execution information of the slave robot. Among them, the previous slave execution information refers to the previous slave execution information of each joint on the slave robot in the current time. After each joint on the slave robot executes the operation indicated by the previous slave execution information, the previous slave execution result will be obtained and returned to the slave robot. That is, when each joint on the slave robot executes the operation according to the previous output 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 according to 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.

[0074] Among them, the third preset direction matrix refers to the starting direction of the slave robot in the velocity-position dimension, which is represented by S2 for example. If all directions except the z-direction are closed in the S2 matrix, then the switches corresponding to all directions except the z-direction in the S2 matrix are 0, and the switch corresponding to the z-direction is 1. It should be noted that the directions in the third preset direction matrix are different from the compliant directions in the first preset direction matrix. Moreover, if the z-direction is the starting direction of the slave robot in the velocity-position dimension, then the z-direction of the slave robot in the force dimension is closed. That is to say, the compliant direction in which the slave robot is turned on in the force dimension is opposite to the starting direction of the slave robot in the velocity-position dimension.

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

[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, so as to complete different types of master-slave tasks. For example, in the task of sharing output force, the end of the master robot is physically connected to the end of the slave robot, and the end of the slave robot carries an additional large load. The slave robot closes all directions in the velocity-position dimension, that is, the S2 matrix is all 0, and the S1 of the master robot can be preset according to actual needs. In the task of restricting directions, the S1 matrix of the master robot is all 0, and the S2 of the slave robot can restrict some directions according to actual needs. For example, in the S2 matrix of the slave robot, all directions except the z-direction are 1, then the slave robot can only be driven by the master robot in the z-direction and cannot be driven in other directions. In the task of balancing output force, the master robot and the slave robot grip a workpiece at the same time. The slave robot can turn on the z compliant direction, and the master robot can not turn on any compliant direction. In this way, if the workpiece is elastic in the z-direction and is subjected to unwanted extrusion or stretching during the task, it will generate stress on the slave robot. Because the slave robot turns on the compliance in the z-direction, it will respond to this stress and move along with this stress, so as to eliminate this excess stress.

[0077] In this embodiment, the master robot determines the current master execution information of each joint on the master robot according to 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 according to 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. Then, 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, without the need for a high-performance central computing core for overall planning, reducing the hardware threshold and application threshold. Moreover, there is no need to consider problems such as delay interference caused by electronic communication, improving the cooperation 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-slave tasks, improving the flexibility and scalability of the system.

[0078] Optionally, the current instruction may include: the current target force, the current target position, and the current target speed of the master robot. The current target force of the master robot refers to the target force of the master robot, for example, represented by F d ; the current target position refers to the target position of the master robot, for example, represented by x d ; the current target speed also refers to the target speed of the master robot, for example, represented by . Then the current instruction can instruct the master robot to move to the target position at the target speed in the current instruction and execute the action with the target force.

[0079] Optionally, the previous master execution result may include: the previous master execution external force, the previous master actual position, and the previous master actual speed. Among them, the previous master execution external force refers to the interaction force generated between the master robot and the external environment after each joint on the master robot executes the previous master execution information, for example, it can be represented by F 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 .

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

[0081] Specifically, the master robot can determine the current main execution information of each joint on the master robot according to the current target force, current target position, current target speed, previous main execution external force, previous main actual position, previous main actual speed, first preset direction matrix, and second preset direction matrix in the current instruction.

[0082] That is, the master robot can determine the current target force F of the master robot according to the current instruction d and the current target position x of the master robot d the current target speed of the master robot , and the previous main execution external force F of the master robot after each joint on the master robot has executed the previous main execution information ext , the previous main actual position x1 of the master robot, the previous main actual speed of the master robot , and the first preset direction matrix S1 and the second preset direction matrix S2 use a preset method to determine the current main execution information τ of each joint on the master robot c1 , that is, to determine the output force components of each joint on the master robot in the current time.

[0083] Figure 3 FIG. is a schematic flowchart of a method for determining the current main execution information provided by an embodiment of the present application. As Figure 3 shown, the above-mentioned master robot determines the current main execution information of each joint on the master robot according to the current target force, current target position, current target speed, previous main execution external force, previous main actual position, previous main actual speed, first preset direction matrix, and second preset direction matrix in the current instruction, including:

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

[0085] Among them, the first execution information refers to the output force components of each joint on the master robot in the compliant direction in the force dimension. Then the master robot can determine the first execution information of each joint on the master robot according to the current target force F d , the previous main execution external force F ext , the first preset direction matrix I, and the second preset direction matrix S1, and use a preset method to determine the first execution information of each joint on the master robot, that is, to determine the output force components of each joint on the master robot in the force dimension. Among them, the output force components of each joint on the master robot in the force dimension can be represented by the joint output torque τ f1 . Specifically, as Figure 4 shown.

[0086] S202. Determine the second execution information of each joint on the master robot according to 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.

[0087] Among them, the second execution information refers to the output component of each joint on the master robot in the opening direction in the speed-position dimension. Then, the master robot can determine the second execution information of each joint on the master robot according to the current target speed in the current instruction , current target position x d , previous master actual position x1, previous master actual speed and the second preset direction matrix S1, and use a preset method to determine the second execution information of each joint on the master robot, that is, determine the output component of each joint on the master robot in the speed-position dimension. Among them, the output component of each joint on the master robot in the speed-position dimension can use the joint output torque τ p1 to represent. Specifically, as Figure 4 shown.

[0088] S203. Determine the current master execution information of each joint on the master robot according to the first execution information and the second execution information.

[0089] Specifically, the first execution information τ f1 can be added to the second execution information τ p1 to obtain the total execution information τ c1 , and the total execution information τ c1 is input to the servo for conversion processing to obtain the current master execution information τ1 of each joint on the master robot.

[0090] In this embodiment, the master robot can independently determine the output of each joint on the master robot according to the current instruction received from the host computer and the previous master execution result returned by the master robot, without prior mathematical modeling and without the need for a high-performance central computing core for overall planning, improving the applicability and flexibility of the system.

[0091] Figure 5 As shown in the flowchart of another method for determining the current master execution information provided by the embodiment of the present application, as Figure 5 shown, in the above S201, determining the first execution information of each joint on the master robot according to the current target force, previous master execution external force, first preset direction matrix, and second preset direction matrix may include:

[0092] S301. Calculate the force error between the current target force and the previous master execution external force.

[0093] Specifically, as Figure 4 shown, the current target force F dSubtract the previous main execution external force F ext , to obtain the force error e f1 . For example, if the target force is 8N and the previous main execution external force F ext returned is 5N, then the force error e f1 is 3N.

[0094] S302. Determine the first execution information of each joint on the master robot according to the force error, the first preset direction matrix, and the second preset direction matrix.

[0095] Optionally, the first execution information τ f1 of each joint on the master robot can be determined by using a preset method according to the force error e f1 , the first preset direction matrix I, and the second preset direction matrix S1.

[0096] Figure 6 is a flowchart of another method for determining the current main execution information provided by the embodiments of the present application. As Figure 6 shown, in the above S302, determining the first execution information of each joint on the master robot according to the force error, the first preset direction matrix, and the second preset direction matrix may include:

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

[0098] Optionally, the first preset direction matrix I is a matrix that turns on all compliant directions in the force dimension, and the second preset direction matrix S1 is the turned-on direction of the master robot in the speed position dimension. Subtracting the second preset direction matrix from the first preset direction matrix, the obtained first direction difference matrix turns off the turned-on direction of the master robot in the speed position dimension in the force dimension, which refers to the compliant direction turned on by the master robot in the force dimension.

[0099] For example, if the x direction in the second preset direction matrix is turned on, 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 turned off, and the other compliant directions except the x compliant direction are turned on.

[0100] S402. Determine the end force of the master robot according to 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 force F end1 of the master robot in the force dimension. That is, the end force in the compliant direction turned on by the end of the master robot's manipulator in the force dimension is obtained.

[0102] S403. Convert the end - effector force of the master robot based on the force transformation matrix to obtain the first execution information of each joint on the master robot.

[0103] Among them, the force transformation matrix can be the Jacobian matrix J T . That is, use the Jacobian matrix to convert the end - effector force F of the master robot end1 into the first execution information of each joint, that is, convert it into the joint output torque τ f1 .

[0104] Figure 7 is a schematic flowchart of another method for determining the current master execution information provided by the embodiment of the present application. As Figure 7 shown, the above - mentioned S202. Determine the second execution information of each joint on the master robot according to the current target speed, current target position, previous master actual position, previous master actual speed, and the second preset direction matrix, including:

[0105] S501. Determine the master speed difference according to the current target speed and the previous master actual speed.

[0106] Specifically, the current target speed in the current instruction can be subtracted from the previous master actual speed of the master robot returned by the master robot to obtain the master speed difference of the master robot .

[0107] S502. Determine the master position difference according to the current target position and the previous master actual position.

[0108] Specifically, the current target position x in the current instruction d can be subtracted from the previous master actual position x1 of the master robot returned by the master robot to obtain the master position difference e of the master robot x1 .

[0109] Among them, after each joint on the master robot executes the previous master execution information, what is returned to the master robot is the previous actual position q1 of each joint and the previous actual speed of each joint , and through forward kinematics, the previous actual position q1 of each joint and the previous actual speed of each joint are converted into the previous master actual position x1 and the previous master actual speed of the robot .

[0110] S503. Determine the second execution information of each joint on the master robot according to the master speed difference, the master position difference, and the second preset direction matrix.

[0111] Optionally, the master speed difference , the master position difference e x1And the second preset direction matrix S1 is input to the position control law to calculate the acceleration of the end of the master robot in the velocity-position dimension. And input the acceleration of the end of the master robot to the inverse kinematics to obtain the second execution information of each joint on the master robot, that is, the output matrix τ of each joint. p1 .

[0112] Optionally, in the above S104, the slave robot determines the current slave execution information of each joint on the slave robot according to 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 slave robot determines the current slave execution information according to the previous master execution external force in the previous master execution result, the previous slave actual position, the previous slave actual velocity, the initial position of the slave robot, the first preset direction matrix, and the third preset direction matrix.

[0114] That is, the slave robot can determine the current slave execution information according to the previous master execution external force F generated by the master robot after executing the previous master execution information and interacting with the external environment ext , the previous slave actual position x2 of the master robot when the slave robot executes the previous slave execution information of the slave robot, the previous slave actual velocity , the initial position x0 and the initial velocity of the slave robot , the first preset direction matrix I, and the third preset direction matrix, where the initial position of the slave robot is a fixed position, and the initial velocity of the slave robot is fixed at 0.

[0115] Figure 8 FIG. is a schematic flowchart of a method for determining the current slave execution information provided by an embodiment of the present application. As Figure 8 shown, the above-mentioned determining the current slave execution information according to the previous master execution external force in the previous master execution result, the previous slave actual position, the previous slave actual velocity, the initial position of the slave robot, the first preset direction matrix, and the third preset direction matrix may include:

[0116] S601. Determine the third execution information of each joint on the slave robot according to the previous master execution external force, the first preset direction matrix, and the third preset direction matrix.

[0117] Wherein, the second execution information refers to the output component of each joint on the slave robot in the compliant direction in the force dimension.

[0118] Optionally, the third execution information τ of each joint on the slave robot can be determined by using a preset method according to the previous master execution external force F ext , the first preset direction matrix I, and the third preset direction matrix S2. f2 .

[0119] S602. Determine the fourth execution information of each joint on the slave robot according to the initial position, initial velocity, previous actual position, previous actual velocity of the slave robot, and the third preset direction matrix.

[0120] Among them, the fourth execution information refers to the output component of each joint on the slave robot in the opening direction in the velocity-position dimension. Then, the initial position x0 and initial velocity of the slave robot , the previous actual position x2 of the slave robot, and the previous actual velocity of the slave robot , and the third preset direction matrix S2 are used to determine the fourth execution information of each joint on the slave robot. That is, to determine the output component of each joint on the slave robot in the velocity-position dimension. Among them, the output component of each joint on the slave robot in the velocity-position dimension can be represented by the joint output torque τ p2 . Specifically, as Figure 4 shown.

[0121] Specifically, the slave position difference e of the master robot can be obtained by subtracting the previous actual position x2 of the returned slave robot from the initial position x0 of the slave robot x2 . Subtract the previous actual velocity of the returned slave robot from the initial velocity 0 of the slave robot to obtain the slave velocity difference of the slave robot .

[0122] Among them, after each joint on the slave robot executes the previous slave execution information, the previous actual position q2 of each joint and the previous actual velocity of each joint are returned to the slave robot . Through forward kinematics, the previous actual position q2 of each joint and the previous actual velocity of each joint are converted into the previous actual position x2 and previous actual velocity of the slave robot .

[0123] Optionally, the velocity difference , the slave position difference e x2 , and the third preset direction matrix S2 can be input into the position control law to calculate the acceleration at the end of the slave robot in the velocity-position dimension , and the acceleration at the end of the slave robot in the velocity-position dimension is input into the inverse kinematics to obtain the fourth execution information of each joint on the slave robot, that is, the output matrix τ of each joint p2 .

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

[0125] Specifically, the third execution information τ f2and the fourth execution information τ p2 Add them to obtain the total execution information τ of the slave robot c2 and input the total execution information τ c2 into the servo for conversion processing to obtain the current slave execution information τ2 of each joint on the slave robot.

[0126] In this embodiment, the slave robot can independently calculate the current slave execution information of each joint on the slave robot, and the input of the force control law of the slave robot completely comes from the previous master external force generated when the master robot executes the previous master execution information, and the input of the position control law is the position difference and speed difference of the slave robot. This makes the information interaction between the master and slave robots completely carried out in a physical manner, with good compatibility and expandability. Even for completely different types of robots, they can be seamlessly coordinated without communication adaptation and can be directly applied between different robots.

[0127] Figure 9 It is a schematic flowchart of a method for determining the third execution information provided by an embodiment of the present application. As Figure 9 shown, in step S601 above, determining the third execution information of each joint on the slave robot according to the previous master execution external force, the first preset direction matrix, and the third preset direction matrix may include:

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

[0129] Specifically, the first preset direction matrix I is a matrix that turns on all compliant directions in the force dimension, and the third preset direction matrix S2 is the turned-on direction of the slave robot in the speed-position dimension. Subtracting the third preset direction matrix from the first preset direction matrix, the obtained second direction difference matrix turns off the turned-on direction of the slave robot in the speed-position dimension in the force dimension, which refers to the compliant directions turned on by the slave robot in the force dimension.

[0130] For example, if the z direction in the third preset direction matrix is turned on, 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 turned off, and the other compliant directions except the z compliant direction are turned on.

[0131] S702. Determine the end force of the slave robot according to the previous master execution external force, the second direction difference matrix, and the force control law.

[0132] Specifically, the previous master execution external force and the second direction difference matrix can be input into the force control law to obtain the end force F of the slave robot end2 . That is, the end force in the compliant direction turned on by the end of the slave robot's manipulator in the force dimension is obtained.

[0133] S703. Convert the end - effector force of the slave robot based on the force transformation matrix to obtain the third execution information of each joint on the slave robot.

[0134] Among them, the force transformation matrix can be the Jacobian matrix J T . That is, use the Jacobian matrix to convert the end - effector force F of the slave robot end2 into the third execution information of each joint, that is, convert it into the output torque τ of each joint f2 .

[0135] Optionally, the present application also provides a method for correcting the positions of the joints of the robot according to the previous actual positions of each joint and the previous actual speeds of each joint returned by the robot. Specifically, as Figure 10 shown.

[0136] The master robot can add the end - effector force F of the master robot in the force dimension end1 and the acceleration at the end of the master robot in the speed - position dimension to obtain the current master execution end - effector force F of the master robot end3 . Then input the current master execution end - effector force F end3 into the inverse kinematics to obtain the current master execution position information q of each joint on the master robot c1 , and input the current master execution position information q of each joint c1 , the previous actual position q1 returned by the master robot, and the previous actual speeds of each joint into the servo, and use the control law to obtain the current master execution information τ4 of each joint on the master robot.

[0137] For the slave robot, the slave robot can add the end - effector force F of the slave robot in the force dimension end2 and the acceleration at the end of the slave robot in the speed - position dimension to obtain the current slave execution end - effector force F of the slave robot end4 . Then input the current slave execution end - effector force F end4 into the inverse kinematics to obtain the current slave execution position information q of each joint on the slave robot c2 , and input the current slave execution position information q of each joint c2 , the previous actual position q2 returned by the slave robot, and the previous actual speeds of each joint into the servo, and use the control law to obtain the current slave execution information τ4 of each joint on the slave robot.

[0138] Figure 11 It is a structural block diagram of an electronic device 800 provided by an embodiment of the present application. As Figure 11 shown, the electronic device may include: a processor 801, a memory 802.

[0139] Optionally, a bus 803 may further be included. The memory 802 is used to store machine-readable instructions executable by the processor 801. When the electronic device 800 runs, the processor 801 communicates with the memory 802 through the bus 803. When the machine-readable instructions are executed by the processor 801, the method steps in the above method embodiments are executed.

[0140] An embodiment of the present application further provides a computer-readable storage medium. A computer program is stored on the computer-readable storage medium. When the computer program is run by a processor, the method steps in the above method embodiments of the multi-machine cooperation method based on a torque inner loop are executed.

[0141] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems and devices described above can refer to the corresponding processes in the method embodiments, which will not be elaborated in this application. 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 the modules is only a logical function division, and there may be other division methods in actual implementation. For another example, 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 couplings or direct couplings or communication connections to each other can be through some communication interfaces. The indirect couplings or communication connections of the devices or modules can be in electrical, mechanical, or other forms.

[0142] In addition, in each embodiment of the present application, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc that can store program codes.

[0143] The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application.

Claims

1. A multi-machine cooperation method based on an inner torque loop, characterized in that Applied to a multi-robot collaborative system, the multi-robot collaborative system includes: a master robot and at least one slave robot, the master robot is connected to each of the slave robots, and the method includes: The master robot receives the current instruction sent by the host computer and the previous master execution result after the master robot executes the previous master execution information of the master robot; The master robot determines the current master execution information of each joint on the master robot according to 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 first preset direction matrix is used to indicate the opening of all compliant directions in the force dimension, and the second preset direction matrix is used to indicate the opening direction of the master robot in the speed-position dimension; The slave robot receives the previous master execution result and the previous slave execution result after the slave robot executes 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 according to 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 opened by the slave robot in the speed-position dimension.

2. The multi-machine cooperation method based on the torque inner loop according to claim 1, wherein The current instruction includes the current target force, current target position, and current target speed of the master robot; The previous master execution result includes: the previous master execution external force, the previous master actual position, and the previous master actual speed; The master robot determines the current master execution information of each joint on the master robot according to the current instruction, the previous master execution result, the first preset direction matrix, and the second preset direction matrix, including: The master robot determines the current master execution information of each joint on the master robot according to the current target force, current target position, current target speed, the previous master execution external force, the previous master actual position, the previous master actual speed, the first preset direction matrix, and the second preset direction matrix in the current instruction.

3. The multi-machine cooperation method based on the torque inner loop according to claim 2, wherein, The master robot determines the current master execution information of each joint on the master robot according to the current target force, current target position, current target speed, the previous master execution external force, the previous master actual position, the previous master actual speed, the first preset direction matrix, and the second preset direction matrix in the current instruction, including: Determine the first execution information of each joint on the master robot according to the current target force, the previous master execution external force, the first preset direction matrix, and the second preset direction matrix in the current instruction. The first execution information is used to indicate the output force generated by each joint on the master robot in the force dimension; Determine the second execution information of each joint on the master robot according to the current target speed, current target position, the previous master actual position, the previous master actual speed, and the second preset direction matrix in the current instruction, where the second execution information is used to indicate the output generated by the joints on the master robot in the speed and position dimensions; Determine the current master execution information of each joint on the master robot according to the first execution information and the second execution information.

4. The multi-machine cooperation method based on the torque inner loop according to claim 3, characterized in that The determining of the first execution information of each joint on the master robot according to the current target force in the current instruction, the previous master 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 master execution external force; Determine the first execution information of each joint on the master robot according to the force error, the first preset direction matrix, and the second preset direction matrix.

5. The multi-machine cooperation method based on the torque inner loop according to claim 4, characterized in that The determining of the first execution information of each joint on the master robot according to 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 a first direction difference matrix; Determine the end force of the master robot according to the force error, the first direction difference matrix, and the force control law; Based on the force conversion matrix, convert the end force of the master robot to obtain the first execution information of each joint on the master robot.

6. The multi-machine cooperation method based on a torque inner loop according to claim 3, wherein The determining of the second execution information of each joint on the master robot according to the current target speed, current target position, the previous master actual position, the previous master actual speed, and the second preset direction matrix includes: Determine the master speed difference according to the current target speed and the previous master actual speed; Determine the master position difference according to the current target position and the previous master actual position; Determine the second execution information of each joint on the master robot according to the master speed difference, the master position difference, and the second preset direction matrix.

7. The multi-machine cooperation method based on the torque inner loop according to claim 1, wherein The previous slave execution result includes: the previous slave actual position and the previous slave actual speed; The slave robot determines the current slave execution information of each joint on the slave robot according to 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 according to the previous master execution external force in the previous master execution result, the previous slave actual position, the previous slave actual speed, the initial position and initial speed of the slave robot, the first preset direction matrix, and the third preset direction matrix.

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

9. The multi-machine cooperation method based on an inner torque loop according to claim 8, characterized in that The determining the third execution information of each joint on the slave robot according to the previous master execution external force, the first preset direction matrix, and the third preset direction matrix includes: Subtract the third preset direction matrix from the first preset direction matrix to obtain a second direction difference matrix; Determine the end force of the slave robot according to the previous master execution external force, the second direction difference matrix, and the force control law; Convert the end force of the slave robot based on the force conversion matrix to obtain the third execution information of each joint on the slave robot.

10. A multi-robot cooperation system, characterized in that, including: A master robot and at least one slave robot, the master robot being connected to each slave robot; The master robot is configured to execute the method steps executed by the master robot according to any one of claims 1-9 above; the slave robot is configured to execute the method steps executed by the slave robot according to any one of claims 1-9 above.

Citation Information

Patent Citations

  • Method and device for controlling coordinated motion of double arms of robot and electronic equipment

    CN112123341A

  • Double-robot collaborative compliant assembling and adjusting method for assembling large weak-rigidity structural member

    CN113189950A

  • Flexible control method and system of master-slave robot, electronic equipment and storage medium

    CN116423523A

  • Master-slave type double-arm force-position hybrid control method for deboning tail wishbone

    CN119658705A

  • Dual-robot position / force multivariate-data-driven method using reinforcement learning

    US20220371186A1