A multi-robot synchronization and cooperation control method and device and a storage medium
By acquiring the robot's operating parameters and stroke, and calculating the time base and interpolation, synchronous and collaborative control of multiple robots is achieved, solving the problem of inconsistent pace in existing technologies, reducing communication and wiring complexity, and improving efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHENGDU CRP ROBOT TECH CO LTD
- Filing Date
- 2022-12-30
- Publication Date
- 2026-05-01
AI Technical Summary
In multi-robot synchronous control scenarios, existing technologies struggle to achieve synchronized movement among multiple robots, especially maintaining consistent timing during acceleration, constant speed, and deceleration phases, leading to complex communication and wiring issues as well as high costs.
By acquiring the operating parameters and travel of each robot, calculating the running time, selecting the time reference, and calculating the running interpolation based on the time reference and travel, the operating control quantities of the robot are obtained through analysis, thus realizing the collaborative operation of multiple robots.
It solves the complex communication and wiring problems of multi-robot synchronous and collaborative control, reduces costs, improves efficiency, and enables the collaborative movement of multiple robots without additional cables.
Smart Images

Figure CN116047965B_ABST
Abstract
Description
A method, device and storage medium for synchronous and cooperative control among multiple robots Technical Field
[0001] This application relates to the field of robotics, and in particular to a method, apparatus and storage medium for synchronous and cooperative control among multiple robots. Background Technology
[0002] With the development of technology, the application scenarios of industrial robots are becoming more and more numerous and complex. In some applications, there are scenarios that require the synchronous control of multiple robots. For example, when welding a car door, it may be necessary for two robots to lift and move the door while another robot performs the welding. This requires the multiple robots to move in unison, that is, multiple robots to start and stop at the same time; at the same time, the acceleration, constant speed and deceleration phases must be kept consistent. Summary of the Invention
[0003] To solve the above-mentioned technical problems, or at least partially solve them, this application provides a method, apparatus, and storage medium for synchronous cooperative control among multiple robots.
[0004] In a first aspect, this application provides a method for synchronous cooperative control among multiple robots, the method comprising the following steps:
[0005] Obtain the operating parameters and travel distance of each robot;
[0006] Calculate the running time based on the running parameters and the running distance;
[0007] Compare the runtimes of each and select the appropriate time benchmark;
[0008] Calculate the interpolation amount based on the time reference and the running distance;
[0009] The interpolation values are analyzed to obtain the operational control values for each robot;
[0010] The robots are controlled to operate collaboratively according to the aforementioned operational control variables.
[0011] Preferably, obtaining the operating parameters and travel distance of each robot includes the following steps:
[0012] Obtain the maximum displacement velocity and maximum orientation velocity of each robot;
[0013] The maximum displacement velocity and the maximum attitude velocity are used as the operating parameters;
[0014] Obtain the operating instructions for each of the robots;
[0015] The execution instructions are parsed to obtain the target execution trajectory;
[0016] The target trajectory is taken as the running journey.
[0017] Preferably, the step of calculating the running time based on the running parameters and the running distance includes the following steps:
[0018] Obtain the maximum displacement velocity and maximum attitude velocity from the operating parameters;
[0019] Obtain the target trajectory during the aforementioned running process;
[0020] Calculate the ratio of the target trajectory to the maximum displacement velocity and obtain the minimum displacement time;
[0021] Calculate the ratio of the target trajectory to the maximum velocity of the attitude, and obtain the minimum attitude time;
[0022] The minimum displacement time and the minimum attitude time are used as the running time.
[0023] Preferably, the step of comparing the running times and filtering the time benchmark includes the following steps:
[0024] Obtain the minimum displacement time and minimum attitude time in the running time;
[0025] Compare the minimum displacement times described above and select the minimum displacement time.
[0026] Compare the minimum time for each of the stated poses and select the minimum time for the pose with the smallest minimum time;
[0027] The time that is the largest of the minimum displacement time and the minimum attitude time is selected as the time reference.
[0028] Preferably, the step of calculating the runtime interpolation amount based on the time reference and the running distance includes the following steps:
[0029] Obtain the target trajectory during the aforementioned running process;
[0030] Select a baseline trajectory from among the target trajectories;
[0031] Calculate the ratio of the baseline trajectory to the time reference and obtain the baseline trajectory change.
[0032] Calculate the reference operating change amount corresponding to the other target operating trajectories with reference to the reference operating change amount;
[0033] The baseline operating change and each of the reference operating changes are used as the operating interpolation amount.
[0034] Preferably, the step of parsing the interpolation quantity and obtaining the operation control quantity of each robot includes the step of: obtaining the baseline operation change quantity and the reference operation change quantity in the interpolation quantity;
[0035] The baseline operational change and each of the reference operational change are analyzed to obtain the joint values corresponding to each robot; each of the joint values is used as the operational control quantity.
[0036] Preferably, controlling the cooperative operation of each robot according to each of the operational control quantities includes the following steps:
[0037] Obtain the joint values in the operation control variables;
[0038] Each joint value is mapped one-to-one with each robot.
[0039] The robots are controlled to operate collaboratively based on the joint values described.
[0040] Secondly, this application provides a multi-robot synchronous cooperative control device, comprising:
[0041] The parameter travel acquisition module is used to acquire the operating parameters and travel distance of each robot;
[0042] The runtime calculation module is used to calculate the runtime based on the runtime parameters and the runtime path.
[0043] The time benchmark filtering module is used to compare the running times of each item and filter the time benchmark.
[0044] The interpolation calculation module is used to calculate the interpolation amount based on the time base and the running stroke.
[0045] The operation control quantity acquisition module is used to parse the operation interpolation quantity and obtain the operation control quantity of each robot;
[0046] The collaborative operation control module is used to control the collaborative operation of each robot according to the aforementioned operation control variables.
[0047] Thirdly, an electronic device is provided, the electronic device comprising:
[0048] At least one processor; and,
[0049] A memory communicatively connected to the at least one processor; wherein,
[0050] The memory stores instructions that can be executed by the at least one processor, which, when executed, enable the at least one processor to perform any of the aforementioned multi-robot synchronous cooperative control methods.
[0051] Fourthly, a non-transitory computer-readable storage medium is provided, which stores computer instructions for causing the computer to execute any of the aforementioned multi-robot synchronous cooperative control methods.
[0052] The technical solutions provided in this application have the following advantages compared with the prior art:
[0053] The present application provides a method, apparatus, and storage medium for synchronous and cooperative control among multiple robots, which solves the problems of complex communication and wiring, as well as cost, required for multiple controllers to control multiple robots. It eliminates the need for additional cables and enables cooperative movement of multiple robots through programming, thereby increasing efficiency and significantly saving costs. Attached Figure Description
[0054] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0055] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0056] Figure 1 is a flowchart illustrating a multi-robot synchronous cooperative control method provided in an embodiment of the present invention;
[0057] Figure 2 is a schematic diagram of a multi-robot synchronous cooperative control device provided in an embodiment of the present invention;
[0058] Figure 3 is a schematic diagram of the structure of an electronic device provided by the present invention;
[0059] Figure 4 is a schematic diagram of the structure of a non-transitory computer-readable storage medium provided by the present invention. Detailed Implementation
[0060] 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. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0061] Figure 1 is a flowchart illustrating a multi-robot synchronous cooperative control method provided in an embodiment of this application.
[0062] This application provides a method for synchronous cooperative control among multiple robots, the method comprising the following steps:
[0063] S1: Obtain the operating parameters and travel distance of each robot;
[0064] In this embodiment of the application, obtaining the operating parameters and travel distance of each robot includes the following steps:
[0065] Obtain the maximum displacement velocity and maximum orientation velocity of each robot;
[0066] The maximum displacement velocity and the maximum attitude velocity are used as the operating parameters;
[0067] Obtain the operating instructions for each of the robots;
[0068] The execution instructions are parsed to obtain the target execution trajectory;
[0069] The target trajectory is taken as the running journey.
[0070] Specifically, a robot's operating parameters can refer to its maximum displacement velocity and maximum attitude velocity. Maximum displacement velocity refers to the maximum speed the robot can achieve while moving along a given spatial trajectory. Attitude refers to the robot's posture during the movement of its end effector. For example, the robot's end effector can maintain the same posture while producing a linear displacement, or it can continuously change its posture to produce a linear displacement. Maximum attitude velocity refers to the maximum speed the robot's end effector can achieve while moving along a given spatial trajectory. Travel distance refers to the target trajectory the robot is expected to travel, such as the trajectory from point A to point B, which is the target trajectory, or travel distance.
[0071] S2: Calculate the running time based on the running parameters and the running distance;
[0072] In this embodiment of the application, the step of calculating the running time based on the running parameters and the running distance includes the following steps:
[0073] Obtain the maximum displacement velocity and maximum attitude velocity from the operating parameters;
[0074] Obtain the target trajectory during the aforementioned running process;
[0075] Calculate the ratio of the target trajectory to the maximum displacement velocity and obtain the minimum displacement time;
[0076] Calculate the ratio of the target trajectory to the maximum velocity of the attitude, and obtain the minimum attitude time;
[0077] The minimum displacement time and the minimum attitude time are used as the running time.
[0078] Specifically, the robot's maximum displacement velocity and maximum attitude velocity are given fixed values, while the target trajectory is set as needed and can have multiple paths. For example, for the trajectory AB between points A and B, theoretically there can be countless choices, and these need to be flexibly adjusted according to the fixed settings of the selected robot. For instance, there are two robots, a linear motion robot 1 and an arc motion robot 2, with maximum displacement velocities a and b, and maximum attitude velocities c and d, respectively. Then, by calculating the minimum displacement time and minimum attitude time for each of the four velocity parameters using physics principles, four minimum times can be obtained.
[0079] S3: Compare the running times described above and select the time benchmark;
[0080] In this embodiment of the application, the step of comparing the various running times and filtering the time benchmark includes the following steps:
[0081] Obtain the minimum displacement time and minimum attitude time in the running time;
[0082] Compare the minimum displacement times described above and select the minimum displacement time.
[0083] Compare the minimum time for each of the stated poses and select the minimum time for the pose with the smallest minimum time;
[0084] The time that is the largest of the minimum displacement time and the minimum attitude time is selected as the time reference.
[0085] Specifically, for the four running times obtained in step S2, the longest time is selected as the time base t for the two robots. Using this time base t ensures that both robots can move from point A to point B.
[0086] S4: Calculate the interpolation amount based on the time base and the running stroke;
[0087] In this embodiment of the application, the step of calculating the runtime interpolation amount based on the time base and the running distance includes the following steps:
[0088] Obtain the target trajectory during the aforementioned running process;
[0089] Select a baseline trajectory from among the target trajectories;
[0090] Calculate the ratio of the baseline trajectory to the time reference and obtain the baseline trajectory change.
[0091] Calculate the reference operating change amount corresponding to the other target operating trajectories with reference to the reference operating change amount;
[0092] The baseline operating change and each of the reference operating changes are used as the operating interpolation amount.
[0093] Specifically, for two robots, after the aforementioned steps, a reference time e can be selected for both robots. Then, for multiple running trajectories between A and B (for ease of description, two trajectories are chosen: a straight-line trajectory Ab and an arc trajectory aB; in reality, there can be more than two trajectories), any one trajectory Ab is chosen as the reference trajectory. Based on physics, the reference motion change corresponding to Ab, i.e., Ab / t, can be calculated. Following the calculation method of this reference motion change Ab / t, the reference motion change for the arc trajectory aB can be obtained as aB / t (i.e., (aB / Ab)*Ab / t). Then, all the quasi-motion changes and each reference motion change are aggregated as motion interpolation quantities. For the two robots mentioned above, the motion interpolation quantities are Ab / t and aB / t, which can be set according to the robot's serial number.
[0094] S5: Analyze the interpolation values and obtain the operating control values for each robot;
[0095] In this embodiment of the application, the step of parsing the interpolation quantity and obtaining the operational control quantity of each robot includes the following steps:
[0096] Obtain the baseline operational change and the reference operational change from the operational interpolation values;
[0097] The baseline operational change and each of the reference operational change are analyzed to obtain the joint values corresponding to each robot; each of the joint values is used as the operational control quantity.
[0098] Specifically, for the two robots mentioned above, the baseline operational change is Ab / t, and the reference operational change is aB / t. By analyzing Ab / t and aB / t, the joint values of robots 1 and 2 are obtained, and each joint value is used as the operational control variable of robots 1 and 2.
[0099] S6: Control the coordinated operation of each robot according to the operation control variables.
[0100] In this embodiment of the application, controlling the cooperative operation of each robot according to each of the said operational control quantities includes the following steps:
[0101] Obtain the joint values in the operation control variables;
[0102] Each joint value is mapped one-to-one with each robot.
[0103] The robots are controlled to operate collaboratively based on the joint values described.
[0104] Specifically, the joint values of robots 1 and 2 are sent to robots 1 and 2, and robots 1 and 2 are controlled to operate collaboratively according to the corresponding joint values.
[0105] As shown in Figure 2, this application provides a multi-robot synchronous cooperative control device, including:
[0106] The parameter travel acquisition module 10 is used to acquire the operating parameters and travel distance of each robot.
[0107] Running time calculation module 20 is used to calculate running time based on the running parameters and the running distance;
[0108] The time reference filtering module 30 is used to compare the running times and filter the time references.
[0109] The interpolation calculation module 40 is used to calculate the interpolation amount based on the time base and the running stroke.
[0110] The operation control quantity acquisition module 50 is used to parse the operation interpolation quantity and obtain the operation control quantity of each robot;
[0111] The collaborative operation control module 60 is used to control the collaborative operation of each robot according to the operation control variables.
[0112] The multi-robot synchronous cooperative control device provided in this application can perform the multi-robot synchronous cooperative control method provided in the above steps.
[0113] It should be understood that the specific embodiments described above are merely illustrative or explanatory of the principles of the invention and do not constitute a limitation thereof. Therefore, any modifications, equivalent substitutions, improvements, etc., made without departing from the spirit and scope of the invention should be included within the protection scope of the invention. Furthermore, the appended claims are intended to cover all variations and modifications falling within the scope and boundaries of the appended claims, or equivalent forms of such scope and boundaries.
[0114] Referring now to FIG3, a schematic diagram of the structure of an electronic device 100 suitable for implementing embodiments of the present disclosure is shown. The electronic device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. The electronic device shown in FIG3 is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present disclosure.
[0115] As shown in Figure 3, the electronic device 100 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 102 or a program loaded from a storage device 108 into a random access memory (RAM) 103. The RAM 103 also stores various programs and data required for the operation of the electronic device 100. The processing unit 101, ROM 102, and RAM 103 are interconnected via a bus 104. An input / output (I / O) interface 105 is also connected to the bus 104.
[0116] Typically, the following devices can be connected to I / O interface 105: input devices 106 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 109. Communication device 109 allows electronic device 100 to communicate wirelessly or wiredly with other devices to exchange data. Although electronic device 100 with various devices is shown in the figure, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0117] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 109, or installed from storage device 108, or installed from ROM 102. When the computer program is executed by processing device 101, it performs the functions defined in the methods of embodiments of this disclosure.
[0118] Referring now to FIG4, a schematic diagram of a computer-readable storage medium suitable for implementing embodiments of the present disclosure is shown. The computer-readable storage medium stores a computer program that, when executed by a processor, enables the implementation of the multi-robot synchronous cooperative control method as described above.
[0119] The present application provides a method, apparatus, and storage medium for synchronous and cooperative control among multiple robots, which solves the problems of complex communication and wiring, as well as cost, required for multiple controllers to control multiple robots. It eliminates the need for additional cables and enables cooperative movement of multiple robots through programming, thereby increasing efficiency and significantly saving costs.
[0120] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0121] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for synchronous cooperative control among multiple robots, characterized in that, The method includes the following steps: acquiring the operating parameters and travel distance of each robot; calculating the running time based on the operating parameters and travel distance; comparing the running times and selecting a time reference; and calculating the running interpolation amount based on the time reference and travel distance. The process involves analyzing the interpolation values to obtain the operational control values for each robot; controlling the robots to operate collaboratively based on these operational control values; and calculating the running time based on the operational parameters and the running distance, which includes the steps of: obtaining the maximum displacement velocity and maximum attitude velocity from the operational parameters; and obtaining the target running trajectory from the running distance. Calculate the ratio of the target trajectory to the maximum displacement velocity and obtain the minimum displacement time; Calculate the ratio of the target trajectory to the maximum velocity of the attitude, and obtain the minimum attitude time; The minimum displacement time and the minimum attitude time are used as the running time; the comparison of each running time and the selection of the time reference includes the steps of: obtaining the minimum displacement time and the minimum attitude time in the running time; comparing each minimum displacement time and selecting the smallest minimum displacement time; comparing each minimum attitude time and selecting the smallest minimum attitude time; selecting the largest time among the minimum displacement time and the minimum attitude time as the time reference; the calculation of the running interpolation amount based on the time reference and the running stroke includes the steps of: obtaining the target running trajectory in the running stroke; selecting a reference running trajectory among each target running trajectory; Calculate the ratio of the baseline running trajectory to the time reference and obtain the baseline running change; calculate the reference running change corresponding to other target running trajectories with reference to the baseline running change; use the baseline running change and each of the reference running changes as the running interpolation amount; wherein, the maximum displacement speed refers to the maximum speed that the robot can reach during its movement in a given spatial trajectory, and the maximum attitude speed refers to the maximum speed that the robot can reach during the movement of the robot's end effector during its movement in a given spatial trajectory.
2. The multi-robot synchronous cooperative control method according to claim 1, characterized in that, The steps of obtaining the operating parameters and travel distance of each robot include: obtaining the maximum displacement speed and maximum attitude speed of each robot; using the maximum displacement speed and maximum attitude speed as the operating parameters; obtaining the operating instructions of each robot; parsing the operating instructions to obtain the target operating trajectory; and using the target operating trajectory as the travel distance.
3. The multi-robot synchronous cooperative control method according to claim 1, characterized in that, The steps of parsing the interpolation quantity and obtaining the operation control quantity of each robot include: obtaining the baseline operation change quantity and the reference operation change quantity in the interpolation quantity; parsing the baseline operation change quantity and each of the reference operation change quantities and obtaining the joint value corresponding to each robot; and using each of the joint values as the operation control quantity.
4. The multi-robot synchronous cooperative control method according to claim 1, characterized in that, The step of controlling the collaborative operation of each robot according to each of the operation control quantities includes the following steps: obtaining each joint value in the operation control quantities; mapping each joint value to each robot; and controlling the collaborative operation of each robot according to each of the joint values.
5. A multi-robot synchronous cooperative control device for use in any one of claims 1-4, characterized in that, include: The parameter travel acquisition module is used to acquire the operating parameters and travel distance of each robot; The runtime calculation module is used to calculate the runtime based on the runtime parameters and the runtime path. The time reference filtering module is used to compare the various running times and filter the time references; the running interpolation calculation module is used to calculate the running interpolation based on the time references and the running distance. The operation control quantity acquisition module is used to parse the operation interpolation quantity and obtain the operation control quantity of each robot; The collaborative operation control module is used to control the collaborative operation of each robot according to the aforementioned operation control variables.
6. An electronic device, characterized in that, The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the multi-robot synchronous cooperative control method according to any one of claims 1-4.
7. A non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the multi-robot synchronous cooperative control method according to any one of claims 1-4.
Citation Information
Patent Citations
Motion control method for welding robot in coordination with positioner
CN106671079A
Mechanical arm multi-joint track time synchronization method and system and storage medium
CN113967917A