Multi-motor coordinated control method and device

By generating a deviation vector and adjusting its length, making the joint vector 0, controlling the joint motor to perform sub-action, solving the problem of robotic arm execution deviation and achieving high accuracy of robotic arm movement.

CN120363213BActive Publication Date: 2025-08-19SHENZHEN WELMAG INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510842626.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-08-19
Estimated Expiration
2045-06-23

AI Technical Summary

Technical Problem

In the prior art, when the robot arm performs a target action, due to mechanical loss of the joint motor, there is a deviation from the input parameters, and the target action cannot be accurately performed.

Method used

By obtaining the target action of the robot arm, determining the sub-actions of each joint, and using historical data to generate a deviation vector, adjusting the vector length to make the joint vector 0, controlling the joint motor to offset the end deviation and ensuring the accuracy of the action.

Benefits of technology

The high accuracy of the robotic arm when performing the target action is achieved, and the end deviation caused by each joint is eliminated through vector analysis and control methods, ensuring the accurate execution of the action.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120363213B_ABST
    Figure CN120363213B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of computers, and in particular to a multi-motor collaborative control method and device, wherein the method can determine the spatial coupling of the deviations of the end of a robotic arm caused by each sub-action by performing vector analysis on the deviation vectors corresponding to each sub-action, adjust the lengths of the deviation vectors based on the spatial coupling, and then make the sum of the deviation vectors equal to 0, infer the target execution speed of the corresponding joint motor based on each adjusted vector length, and when actually executing the target action, mobilize each joint to execute its own sub-action at the target execution speed, so that the deviations of the end of the robotic arm caused by each joint can also offset each other, thereby eliminating the deviation of the robotic arm in executing the target action and ensuring the accuracy of the execution of the target action.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computers, and in particular to a multi-motor coordinated control method and device. Background Art

[0002] A robotic arm is an automated device that imitates the movements of a human arm. It consists of an arm, wrist, and end effector. It has a multi-joint structure and can achieve a variety of movement modes. It can complete welding, assembly, and handling tasks in industrial production. It can also be used in medical surgery, service industries, and other fields. It is efficient, precise, and flexible, and is an important part of modern automation technology.

[0003] For a robotic arm to perform a target action, each joint motor needs to perform a corresponding sub-action. The existing technology directly determines the corresponding standard execution parameters based on the sub-actions, and then uses the standard execution parameters to control the joint motors to perform the actions. However, the motors may have problems such as mechanical wear during use, resulting in the actual action they perform deviating from the action indicated by the input parameters, which in turn causes the entire robotic arm to be unable to accurately perform the target action. Summary of the Invention

[0004] Based on this, it is necessary to provide a multi-motor coordinated control method and device to address the above-mentioned problems.

[0005] The embodiment of the present invention is implemented as follows: a multi-motor coordinated control method is provided, the method comprising:

[0006] S1: Get the target action that the robot arm needs to perform;

[0007] S2: Determine the sub-actions corresponding to each joint of the robotic arm based on the target action;

[0008] S3: determining the tendency of the deviation of the end of the manipulator caused by each joint performing the corresponding sub-action based on the historical data, and generating a deviation vector for each tendency of the deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0009] S4: Determine the relationship curve between the deviation of the end of the manipulator caused by each joint executing a sub-action and the execution speed based on historical data;

[0010] S5: moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector;

[0011] S6: Adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector lengths and are in opposite directions, wherein the vector lengths correspond to the deviation amount;

[0012] S7: For each joint corresponding to the first vector / the second vector, determine the target execution speed based on the vector length and the relationship curve;

[0013] S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby making the deviations of the end of the robot arm caused by each joint offset each other.

[0014] In one embodiment, the present invention provides a multi-motor coordinated control device, the device comprising:

[0015] The acquisition module is used to obtain the target action that the robotic arm needs to perform;

[0016] A first processing module is used to determine the sub-actions corresponding to the joints of the robotic arm according to the target action;

[0017] A second processing module is configured to determine, based on historical data, a tendency of deviation of the end of the manipulator caused by each joint performing a corresponding sub-action, and generate a deviation vector for each tendency of deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0018] The third processing module is used to determine the relationship curve between the deviation amount of the end deviation of the robot arm caused by each joint executing the sub-action and the execution speed based on the historical data;

[0019] a fourth processing module, configured to move the starting points of the deviation vectors to the same target point, generate a plane through the target point, determine the deviation vector on one side of the plane as a first vector, and determine the vector on the other side of the plane as a second vector;

[0020] a fifth processing module, configured to adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector length and are in opposite directions, wherein the vector length corresponds to the deviation amount;

[0021] A sixth processing module, configured to determine a target execution speed for each joint corresponding to the first vector / the second vector according to the vector length and the relationship curve;

[0022] The control module is used to control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby offsetting the deviations of the end of the robotic arm caused by each joint.

[0023] The present invention provides a multi-motor collaborative control method, comprising obtaining a target action that a robotic arm needs to perform; determining sub-actions corresponding to each joint of the robotic arm based on the target action; determining the tendency of deviation of the end of the robotic arm caused by each joint performing the corresponding sub-action based on historical data, and generating a deviation vector for the tendency of deviation of each end of the robotic arm; determining a relationship curve between the deviation amount of the deviation of the end of the robotic arm caused by each joint performing the sub-action and the execution speed based on historical data; moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector; adjusting the vector length of the first vector and / or the second vector so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector length and are in opposite directions; for each first vector / For the joint corresponding to the second vector, the target execution speed is determined based on the vector length and the relationship curve; each joint motor is controlled based on the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby canceling out the deviations of the end of the robot arm caused by each joint; in this embodiment, by performing vector analysis on the deviation vectors corresponding to each sub-action, the spatial coupling of the deviations of the end of the robot arm caused by each sub-action can be determined, and the lengths of the deviation vectors are adjusted based on the spatial coupling, thereby making the sum of the deviation vectors 0, and the target execution speed of the corresponding joint motor is inferred based on the length of each adjusted vector, and when actually executing the target action, each joint is mobilized to perform its own sub-action at the target execution speed, so that the deviations of the end of the robot arm caused by each joint can also cancel out each other, thereby eliminating the deviation of the robot arm in executing the target action and ensuring the accuracy of the execution of the target action. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A flowchart of a multi-motor coordinated control method provided in one embodiment;

[0025] Figure 2 A diagram illustrating an implementation environment of a multi-motor coordinated control method provided in one embodiment;

[0026] Figure 3 A schematic diagram of a first resultant vector and a second resultant vector of a multi-motor coordinated control method provided in one embodiment;

[0027] Figure 4 A module flow chart of a multi-motor coordinated control method provided in one embodiment;

[0028] Figure 5 FIG. 1 is a block diagram of the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0029] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0030] It is understood that the terms "first," "second," etc., used herein may be used to describe various elements, but unless otherwise specified, these elements are not limited by these terms. These terms are only used to distinguish a first element from another element. For example, a first xx script may be referred to as a second xx script, and similarly, a second xx script may be referred to as a first xx script without departing from the scope of the present invention.

[0031] like Figure 1 As shown, in one embodiment, a multi-motor coordinated control method is proposed, the method comprising:

[0032] S1: Get the target action that the robot arm needs to perform;

[0033] S2: Determine the sub-actions corresponding to each joint of the robotic arm based on the target action;

[0034] S3: determining the tendency of the deviation of the end of the manipulator caused by each joint performing the corresponding sub-action based on the historical data, and generating a deviation vector for each tendency of the deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0035] S4: Determine the relationship curve between the deviation of the end of the manipulator caused by each joint executing a sub-action and the execution speed based on historical data;

[0036] S5: moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector;

[0037] S6: Adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector lengths and are in opposite directions, wherein the vector lengths correspond to the deviation amount;

[0038] S7: For each joint corresponding to the first vector / the second vector, determine the target execution speed based on the vector length and the relationship curve;

[0039] S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby making the deviations of the end of the robot arm caused by each joint offset each other.

[0040] In this embodiment, if Figure 2As shown, this method is executed in a computer device, which can be an independent physical server or terminal, or a server cluster composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud servers, cloud databases, cloud storage, and CDN. The robotic arm in this embodiment is a multi-joint robotic arm (the number of joints can be 5 or more), and each joint of the multi-joint robotic arm is provided with a corresponding joint motor, which is controlled by the computer device. The computer device can control the operation of the joint motors and thus control the execution of the movements of the robotic arm.

[0041] In this embodiment, the target action is the action that the entire robotic arm needs to perform. Each target action corresponds to sub-actions of multiple joints. The robotic arm can complete the target action by cooperating with each joint to complete the corresponding sub-action. The purpose of performing the target action is to make the end of the robotic arm be in a specific posture. The formation of this posture is the result of the accumulation of the postures of each joint caused by each sub-action. Therefore, the deviation formed by each joint when performing the corresponding sub-action will also cause the end of the robotic arm to form a deviation.

[0042] In this embodiment, before the robotic arm performs the target action, the deviation vector of the deviation of the robotic arm end caused by each sub-action corresponding to the target action can be determined. By performing vector analysis on each deviation vector, the vector length corresponding to each deviation vector can be determined when the sum of the deviation vectors is 0. The vector length corresponds to the deviation amount of the robotic arm end, and the deviation amount is related to the execution speed of the sub-action. The relationship between the execution speed and the deviation amount can be determined based on historical data, thereby determining the target execution speed of each joint. Subsequently, each joint motor is controlled according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action. Since the sum of the deviation vectors is 0, the deviations of the robotic arm end caused by each joint also cancel each other out.

[0043] In the present application, by performing vector analysis on the deviation vectors corresponding to each sub-action, the spatial coupling of the deviations of the end of the manipulator caused by each sub-action can be determined, and the lengths of the deviation vectors are adjusted according to the spatial coupling, so that the sum of the deviation vectors is made 0. The target execution speed of the corresponding joint motor is inferred based on the length of each adjusted vector, and when the target action is actually executed, each joint is mobilized to execute its own sub-action at the target execution speed, so that the deviations of the end of the manipulator caused by each joint can also offset each other, thereby eliminating the deviation of the manipulator in executing the target action and ensuring the accuracy of the execution of the target action.

[0044] As a preferred embodiment, the historical data includes execution parameters for each historical control of a joint motor operation, wherein the execution parameters include motor direction, motor revolutions, and motor speed. If the motor direction and motor revolutions in two execution parameters are the same, then the sub-actions executed by the joint corresponding to the two execution parameters are deemed to be the same sub-action; each joint motor is provided with a motor rotation sensor for detecting the actual speed and actual revolutions of the joint motor;

[0045] The tendency of the deviation of the end of the manipulator caused by each joint performing a corresponding sub-action according to the historical data includes:

[0046] Determine all target execution parameters corresponding to the sub-action from historical data;

[0047] Select any target execution parameter and retrieve the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter;

[0048] Determine whether the actual number of revolutions is less than or greater than the motor number of revolutions in the target execution parameter. If it is less, the actual execution range of the sub-action is too small. If it is greater, the actual execution range of the sub-action is too large.

[0049] A robotic arm model is exported, and after the robotic arm model is mobilized to perform a target action, if the actual execution range of the sub-action is too small, the joint in the robotic arm model is caused to reduce the execution range of the sub-action, and the movement direction of the end of the robotic arm model is identified as a tendency of deviation of the robotic arm end; if the actual execution range of the sub-action is too large, the joint in the robotic arm model is caused to expand the execution range of the sub-action, and the movement direction of the end of the robotic arm model is identified as a tendency of deviation of the robotic arm end, wherein, in the process of mobilizing the robotic arm model to perform the target action, there is no deviation in the execution of the sub-action by each joint.

[0050] The execution speed is equivalent to the actual rotation speed. The relationship curve between the deviation of the end-of-arm caused by each joint executing a sub-action and the execution speed is determined based on historical data.

[0051] Generate a coordinate system with the horizontal axis being the execution speed and the vertical axis being the deviation;

[0052] For each target execution parameter, determine the actual speed and deviation corresponding to the target execution parameter, thereby obtaining a coordinate point corresponding to the target execution parameter, wherein the abscissa of the coordinate point is the actual speed and the ordinate is the deviation;

[0053] Mark the coordinate point on the coordinate system, generate the fitting line of each coordinate point, and obtain the relationship curve.

[0054] Determining the actual speed and deviation corresponding to the target execution parameter includes:

[0055] Retrieve the actual speed of the joint motor corresponding to the sub-action when executing the target execution parameter;

[0056] Retrieving the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter, and determining a revolution deviation between the actual number of revolutions and the number of revolutions of the motor in the target execution parameter;

[0057] Calculate the ratio of the rotation speed deviation to the motor rotation speed deviation;

[0058] After the robotic arm model is mobilized to perform the target action, the execution range of the sub-action performed by the joint in the robotic arm model is reduced / enlarged by the deviation ratio, and the movement direction of the end of the robotic arm model is identified as the deviation amount of the deviation of the robotic arm end.

[0059] In this embodiment, when the computer device receives a target action, it can determine the execution parameters of each sub-action corresponding to the target action; each time the computer device sends an execution parameter to the corresponding joint motor, it will back up the execution parameter and mark the sending time. After receiving the execution parameter, the joint motor will start to operate according to the execution parameter, and monitor the actual operating parameters of the motor (i.e., actual speed and actual number of revolutions) through the motor rotation sensor and return it to the computer device, so that the returned actual parameters can be matched with the previously backed up execution parameters;

[0060] In this embodiment, since the operating deviation of the motor is often caused by a specific structural deviation in the motor, when the motor performs a rotational action with the same direction and number of revolutions (i.e., corresponding to the same sub-action), the tendency of the execution amplitude deviation of the sub-action caused by it (too large / too small) is also the same, and thus the tendency of the deviation of the end of the robot arm caused by the sub-action is also the same. Therefore, any target execution parameter can be selected to determine the tendency of the execution amplitude deviation of the sub-action, thereby determining the tendency of the deviation of the end of the robot arm.

[0061] In this embodiment, a three-dimensional model of a robotic arm, i.e., a robotic arm model, is stored in a computer device, and the computer device also has built-in robotic arm simulation software, such as CoppeliaSim; the robotic arm model is imported into the robotic arm simulation software, and the robotic arm model is initialized (i.e., the posture of the robotic arm model is adjusted to be consistent with the current actual posture of the robotic arm), so that it is in the initial posture, and then the robotic arm simulation is run according to the execution parameters of each joint motor to make it perform the target action (this process is a standard process under ideal conditions and has no error), and then a corresponding error is added to each sub-action (i.e., the execution amplitude of the sub-action performed by the joint in the robotic arm model is reduced / enlarged by the deviation ratio), so as to determine the The deviation of the end of the robot arm caused by the sub-action; each time only the error of one sub-action is added for simulation, so as to determine the deviation of the end of the robot arm caused by the sub-action alone; after each simulation is completed, the robot arm model is reset to the initial posture before the next simulation is performed, that is, each time the robot arm model is mobilized to perform the target action, the target action is performed from the initial posture; in addition, the execution range of the joint in the robot arm model to perform the sub-action is reduced / enlarged by the deviation ratio, that is, when the actual execution range of the sub-action is too small, the execution range of the joint in the robot arm model to perform the sub-action is reduced by the deviation ratio; when the actual execution range of the sub-action is too large, the execution range of the joint in the robot arm model to perform the sub-action is enlarged by the deviation ratio.

[0062] As a preferred embodiment, generating a plane through the target point includes:

[0063] Generate a plane through the target point, and rotate the plane around the target point to determine all alternative poses of the plane, where there is no deviation vector on the plane when the plane is in the alternative pose;

[0064] For each candidate pose, determining the angle between each deviation vector and the plane when the plane is in the candidate pose;

[0065] Accumulate the angles to get the angle sum of the candidate posture;

[0066] The corresponding angle and the largest alternative posture are determined as the target posture;

[0067] Fix the plane to the target pose.

[0068] The number of the first vectors is not less than the number of the second vectors; and adjusting the vector length of the first vector and / or the second vector includes:

[0069] Retrieve the standard execution speed corresponding to each first vector / second vector;

[0070] Determine the deviation corresponding to each standard execution speed on the relationship curve as the initial deviation;

[0071] Setting the length of each first vector / second vector to the length corresponding to the corresponding initial deviation;

[0072] generating a first resultant vector and a second resultant vector;

[0073] generating an auxiliary vector of the first resultant vector so that a target resultant vector formed by the first resultant vector and the auxiliary vector is in the same straight line as the second resultant vector;

[0074] Identify whether the length of the target resultant vector is longer than the second resultant vectors. If so, simultaneously increase the length of each second vector so that the length of the second resultant vector is equal to the length of the target resultant vector. If not, simultaneously decrease the length of each second vector so that the length of the second resultant vector is equal to the length of the target resultant vector.

[0075] Decomposing the auxiliary vector into directions of the respective first vectors, thereby obtaining component vectors in the directions of the respective first vectors;

[0076] The length of each first vector is added to the length of the corresponding component vector to complete the adjustment of the length of the first vector.

[0077] For each joint corresponding to the first vector / second vector, determining the target execution speed based on the vector length and the relationship curve includes:

[0078] identifying the final length of the vector after adjustment;

[0079] Retrieving the relationship curve of the first vector / second vector;

[0080] The deviation amount corresponding to the final length is determined, and the execution speed corresponding to the deviation amount is determined in the relationship curve as the target execution speed.

[0081] In this embodiment, the first resultant vector is used as an example. Since the first resultant vector is often located in the middle of the first vectors, when the plane is in the target posture, the corresponding angle sum is the largest, which means that the angle between each first vector and the plane is larger overall. This reduces the angle between the first vector and the first resultant vector as a whole, so that a unit length change of the first vector can cause a larger length change of the first resultant vector, thereby reducing the adjustment amount of each first vector.

[0082] In this embodiment, each sub-action corresponding to the first vector / second vector has a preset standard execution speed, such as 3000 r / min. The standard execution speeds of the sub-actions can be the same or different, and are not limited here. The computer device also stores a deviation-vector length mapping table, which includes deviation values corresponding to various vector lengths. The corresponding vector length can be inferred based on the initial deviation.

[0083] In this embodiment, since the number of first vectors corresponding to the first resultant vector is larger, after the auxiliary vector is generated at the first resultant vector, the auxiliary vector can be decomposed into more directions, so that the length of the component vector in each first vector direction is relatively small, thereby reducing the adjustment amount of each joint motor.

[0084] like Figure 4 As shown, in one embodiment, a multi-motor coordinated control device is proposed, the device comprising:

[0085] The acquisition module is used to obtain the target action that the robotic arm needs to perform;

[0086] A first processing module is used to determine the sub-actions corresponding to the joints of the robotic arm according to the target action;

[0087] A second processing module is configured to determine, based on historical data, a tendency of deviation of the end of the manipulator caused by each joint performing a corresponding sub-action, and generate a deviation vector for each tendency of deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0088] The third processing module is used to determine the relationship curve between the deviation amount of the end deviation of the robot arm caused by each joint executing the sub-action and the execution speed based on the historical data;

[0089] a fourth processing module, configured to move the starting points of the deviation vectors to the same target point, generate a plane through the target point, determine the deviation vector on one side of the plane as a first vector, and determine the vector on the other side of the plane as a second vector;

[0090] a fifth processing module, configured to adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector length and are in opposite directions, wherein the vector length corresponds to the deviation amount;

[0091] A sixth processing module, configured to determine a target execution speed for each joint corresponding to the first vector / the second vector according to the vector length and the relationship curve;

[0092] The control module is used to control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby offsetting the deviations of the end of the robotic arm caused by each joint.

[0093] The process of each module in the multi-motor coordinated control device provided in the embodiment of the present application realizing its own function can be specifically referred to the aforementioned Figure 1 The description of the illustrated embodiment will not be repeated here.

[0094] Figure 5 FIG. 1 shows an internal structure diagram of a computer device in one embodiment. Figure 5 As shown, the computer device includes a processor, a memory, a network interface, an input device and a display screen connected via a system bus. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program. When the computer program is executed by the processor, the processor may implement the multi-motor cooperative control method provided in the embodiment of the present invention. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor may execute the multi-motor cooperative control method provided in the embodiment of the present invention. The display screen of the computer device may be a liquid crystal display or an electronic ink display screen. The input device of the computer device may be a touch layer covering the display screen, or a button, trackball or touchpad provided on the housing of the computer device, or an external keyboard, touchpad or mouse.

[0095] Those skilled in the art will understand that Figure 5 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present invention and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0096] In one embodiment, the multi-motor cooperative control device provided by the embodiment of the present invention can be implemented in the form of a computer program. The computer program can be used in Figure 5 The computer device shown in FIG. 1 is run on the computer device shown in FIG. The memory of the computer device can store various program modules constituting the multi-motor cooperative control device, such as, Figure 4 The acquisition module, the first processing module, the second processing module, the third processing module, the fourth processing module, the fifth processing module, the sixth processing module and the control module are shown. The computer program composed of each program module enables the processor to execute the steps of the multi-motor coordinated control method of each embodiment of the present invention described in this specification.

[0097] For example, Figure 5 The computer device shown can be Figure 4 The acquisition module in the multi-motor cooperative control device shown executes step S1; the computer device can execute step S2 through the first processing module; the computer device can execute step S3 through the second processing module; the computer device can execute step S4 through the third processing module; the computer device can execute step S5 through the fourth processing module; the computer device can execute step S6 through the first processing module; the computer device can execute step S7 through the first processing module; the computer device can execute step S8 through the control module.

[0098] In one embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the following steps are performed:

[0099] S1: Get the target action that the robot arm needs to perform;

[0100] S2: Determine the sub-actions corresponding to each joint of the robotic arm based on the target action;

[0101] S3: determining the tendency of the deviation of the end of the manipulator caused by each joint performing the corresponding sub-action based on the historical data, and generating a deviation vector for each tendency of the deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0102] S4: Determine the relationship curve between the deviation of the end of the manipulator caused by each joint executing a sub-action and the execution speed based on historical data;

[0103] S5: moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector;

[0104] S6: Adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector lengths and are in opposite directions, wherein the vector lengths correspond to the deviation amount;

[0105] S7: For each joint corresponding to the first vector / the second vector, determine the target execution speed based on the vector length and the relationship curve;

[0106] S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby making the deviations of the end of the robot arm caused by each joint offset each other.

[0107] In one embodiment, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the processor performs the following steps:

[0108] S1: Get the target action that the robot arm needs to perform;

[0109] S2: Determine the sub-actions corresponding to each joint of the robotic arm based on the target action;

[0110] S3: determining the tendency of the deviation of the end of the manipulator caused by each joint performing the corresponding sub-action based on the historical data, and generating a deviation vector for each tendency of the deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction;

[0111] S4: Determine the relationship curve between the deviation of the end of the manipulator caused by each joint executing a sub-action and the execution speed based on historical data;

[0112] S5: moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector;

[0113] S6: Adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector lengths and are in opposite directions, wherein the vector lengths correspond to the deviation amount;

[0114] S7: For each joint corresponding to the first vector / the second vector, determine the target execution speed based on the vector length and the relationship curve;

[0115] S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby making the deviations of the end of the robot arm caused by each joint offset each other.

[0116] It should be understood that, although the various steps in the flow chart of each embodiment of the present invention are shown in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence according to the order indicated by the arrows. Unless otherwise specified herein, the execution of these steps is not strictly limited in order, and these steps can be performed in other orders. Moreover, at least a portion of the steps in each embodiment may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these sub-steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of other steps or sub-steps or stages of other steps.

[0117] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing the relevant hardware through a computer program. The program can be stored in a non-volatile computer-readable storage medium. When executed, the program can include the processes of the above-described method embodiments. Any reference to memory, storage, database, or other media used in the various embodiments provided herein may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct RAMbus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM).

[0118] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0119] The above-described embodiments merely illustrate several implementations of the present invention. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, and all such variations and improvements fall within the scope of protection of the present invention.

Claims

1. A multi-motor coordinated control method, characterized in that: The method comprises: S1: Get the target action that the robot arm needs to perform; S2: Determine the sub-actions corresponding to each joint of the robotic arm based on the target action; S3: determining the tendency of the deviation of the end of the manipulator caused by each joint performing the corresponding sub-action based on the historical data, and generating a deviation vector for each tendency of the deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation of the end of the manipulator caused by each joint executing a sub-action and the execution speed based on historical data; S5: moving the starting point of each deviation vector to the same target point, generating a plane through the target point, determining the deviation vector on one side of the plane as the first vector, and determining the deviation vector on the other side of the plane as the second vector; S6: Adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector lengths and are in opposite directions, wherein the vector lengths correspond to the deviation amount; S7: For each joint corresponding to the first vector / the second vector, determine the target execution speed based on the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby making the deviations of the end of the robot arm caused by each joint offset each other.

2. The method according to claim 1, characterized in that The historical data includes the execution parameters for each historical control of a joint motor operation, wherein the execution parameters include motor direction, motor speed, and motor rotation speed. If the motor direction and motor speed in two execution parameters are the same, the sub-actions executed by the joint corresponding to the two execution parameters are considered to be the same sub-action; each joint motor is equipped with a motor rotation sensor for detecting the actual speed and actual number of revolutions of the joint motor; The tendency of the deviation of the end of the manipulator caused by each joint performing a corresponding sub-action according to the historical data includes: Determine all target execution parameters corresponding to the sub-action from historical data; Select any target execution parameter and retrieve the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter; Determine whether the actual number of revolutions is less than or greater than the motor number of revolutions in the target execution parameter. If it is less, the actual execution range of the sub-action is too small. If it is greater, the actual execution range of the sub-action is too large. A robotic arm model is exported, and after the robotic arm model is mobilized to perform a target action, if the actual execution range of the sub-action is too small, the joint in the robotic arm model is caused to reduce the execution range of the sub-action, and the movement direction of the end of the robotic arm model is identified as a tendency of deviation of the robotic arm end; if the actual execution range of the sub-action is too large, the joint in the robotic arm model is caused to expand the execution range of the sub-action, and the movement direction of the end of the robotic arm model is identified as a tendency of deviation of the robotic arm end, wherein, in the process of mobilizing the robotic arm model to perform the target action, there is no deviation in the execution of the sub-action by each joint.

3. The method according to claim 2, characterized in that The execution speed is equivalent to the actual rotation speed. The relationship curve between the deviation of the end-of-arm caused by each joint executing a sub-action and the execution speed is determined based on historical data. Generate a coordinate system with the horizontal axis being the execution speed and the vertical axis being the deviation; For each target execution parameter, determine the actual speed and deviation corresponding to the target execution parameter, thereby obtaining a coordinate point corresponding to the target execution parameter, wherein the abscissa of the coordinate point is the actual speed and the ordinate is the deviation; Mark the coordinate points on the coordinate system, generate fitting lines for each coordinate point, and obtain the relationship curve.

4. The method according to claim 3, characterized in that Determining the actual speed and deviation corresponding to the target execution parameter includes: Retrieve the actual speed of the joint motor corresponding to the sub-action when executing the target execution parameter; Retrieving the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter, and determining a revolution deviation between the actual number of revolutions and the number of revolutions of the motor in the target execution parameter; Calculate the ratio of the rotation speed deviation to the motor rotation speed deviation; After the robotic arm model is mobilized to perform the target action, the execution range of the sub-action performed by the joint in the robotic arm model is reduced / enlarged by the deviation ratio, and the movement direction of the end of the robotic arm model is identified as the deviation amount of the deviation of the robotic arm end.

5. The method according to claim 4, characterized in that Generating a plane through a target point involves: Generate a plane through the target point, and rotate the plane around the target point to determine all alternative poses of the plane, where there is no deviation vector on the plane when the plane is in the alternative pose; For each candidate pose, determining the angle between each deviation vector and the plane when the plane is in the candidate pose; Accumulate the angles to get the angle sum of the candidate posture; The corresponding angle and the largest alternative posture are determined as the target posture; Fix the plane to the target pose.

6. The method according to claim 5, characterized in that The number of the first vectors is not less than the number of the second vectors; and adjusting the vector length of the first vector and / or the second vector includes: Retrieve the standard execution speed corresponding to each first vector / second vector; Determine the deviation corresponding to each standard execution speed on the relationship curve as the initial deviation; Setting the length of each first vector / second vector to the length corresponding to the corresponding initial deviation; generating a first resultant vector and a second resultant vector; generating an auxiliary vector of the first resultant vector so that a target resultant vector formed by the first resultant vector and the auxiliary vector is in the same straight line as the second resultant vector; Identify whether the length of the target resultant vector is longer than the second resultant vectors. If so, simultaneously increase the length of each second vector so that the length of the second resultant vector is equal to the length of the target resultant vector. If not, simultaneously decrease the length of each second vector so that the length of the second resultant vector is equal to the length of the target resultant vector. Decomposing the auxiliary vector into directions of the respective first vectors, thereby obtaining component vectors in the directions of the respective first vectors; The length of each first vector is added to the length of the corresponding component vector to complete the adjustment of the length of the first vector.

7. The method according to claim 6, characterized in that For each joint corresponding to the first vector / second vector, determining the target execution speed based on the vector length and the relationship curve includes: identifying the final length of the vector after adjustment; Retrieving the relationship curve of the first vector / second vector; The deviation amount corresponding to the final length is determined, and the execution speed corresponding to the deviation amount is determined in the relationship curve as the target execution speed.

8. A multi-motor coordinated control device, characterized in that: The device comprises: The acquisition module is used to obtain the target action that the robotic arm needs to perform; A first processing module is used to determine the sub-actions corresponding to the joints of the robotic arm according to the target action; A second processing module is configured to determine, based on historical data, a tendency of deviation of the end of the manipulator caused by each joint performing a corresponding sub-action, and generate a deviation vector for each tendency of deviation of the end of the manipulator, wherein the direction of the deviation vector is the same as the deviation direction; The third processing module is used to determine the relationship curve between the deviation amount of the end deviation of the robot arm caused by each joint executing the sub-action and the execution speed based on the historical data; a fourth processing module, configured to move the starting points of the deviation vectors to the same target point, generate a plane through the target point, determine the deviation vector on one side of the plane as a first vector, and determine the vector on the other side of the plane as a second vector; a fifth processing module, configured to adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of each first vector and the resultant vector of each second vector are on the same straight line, have the same vector length and are in opposite directions, wherein the vector length corresponds to the deviation amount; A sixth processing module, configured to determine a target execution speed for each joint corresponding to the first vector / the second vector according to the vector length and the relationship curve; The control module is used to control each joint motor according to the corresponding target execution speed, so that the corresponding joint performs the corresponding sub-action, thereby offsetting the deviations of the end of the robotic arm caused by each joint.

Citation Information

Patent Citations

  • Speed and current double closed-loop control system and method for permanent magnet synchronous linear motor

    CN110138297A

  • Systems, methods and devices for vector control of permanent magnet synchronous machines using artificial neural networks

    US20150039545A1