Multi-motor cooperative control method and device
By generating a deviation vector and adjusting its length, making the combined vector to 0, determining the target execution speed, the problem of robotic arm execution action deviation is solved, and the precise control of robotic arm is achieved.
Patent Information
- Application Number
- CN202510842626.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-23
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-06-23
AI Technical Summary
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.
By obtaining the target action of the robot arm, determining the sub-action of each joint, generating a deviation vector, adjusting the vector length so that the combined vector is 0, determining the target execution speed based on the vector length and historical data, and controlling the joint motor to perform the sub-action to offset the end deviation.
The accuracy of the robotic arm's execution actions is achieved, and the end deviation caused by each joint is eliminated through vector analysis and coordinated control, ensuring the accurate completion of the target action.
Smart Images

Figure CN120363213A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computers, and in particular to a multi-motor collaborative control method and device. Background Art
[0002] A robotic arm is an automated device that mimics the movements of a human arm. It consists of an arm, a wrist, and an end effector, has a multi-joint structure, can achieve various motion modes, and can perform tasks such as welding, assembly, and handling in industrial production. It can also be applied to fields such as medical surgery and the service industry. It is characterized by high efficiency, precision, and flexibility, and is an important part of modern automation technology.
[0003] For a robotic arm to execute a target action, each joint motor needs to execute corresponding sub-actions. In the prior art, the corresponding standard execution parameters are directly determined based on the sub-actions, and then the standard execution parameters are used to control the joint motors to execute the actions. However, problems such as mechanical wear may occur during the use of the motors, resulting in a deviation between the actual executed action and the action pointed to by the input parameters, and further causing the entire robotic arm to be unable to accurately execute the target action. Summary of the Invention
[0004] Based on this, it is necessary to provide a multi-motor collaborative control method and device for the above problems.
[0005] The embodiments of the present invention are implemented as follows. A multi-motor collaborative control method is provided, and the method includes: S1: Obtain the target action that the robotic arm needs to execute; S2: Determine the sub-actions corresponding to each joint of the robotic arm according to the target action; S3: Determine the tendency of the deviation at the end of the robotic arm caused by each joint executing the corresponding sub-action according to historical data, and generate a deviation vector for each tendency of the deviation at the end of the robotic arm, where the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation amount of the deviation at the end of the robotic arm caused by each joint executing the sub-action and the execution speed according to historical data; S5: Move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the deviation vectors on the other side of the plane as the second vectors; S6: Adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, where the length of the vector corresponds to the deviation amount; S7: For each joint corresponding to the first vector / second vector, determine the target execution speed according to the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, thereby canceling out the mechanical arm end deviations caused by each joint.
[0006] In one embodiment, the present invention provides a multi-motor collaborative control device, and the device includes: An acquisition module, configured to acquire the target action that the robotic arm needs to execute; A first processing module, configured to determine the sub-actions corresponding to the respective joints of the robotic arm according to the target action; A second processing module, configured to determine the tendency of the mechanical arm end deviation caused by each joint executing the corresponding sub-action according to historical data, and generate a deviation vector for each tendency of the mechanical arm end deviation, wherein the direction of the deviation vector is the same as the deviation direction; A third processing module, configured to determine the relationship curve between the deviation amount of the mechanical arm end deviation caused by each joint executing the sub-action and the execution speed according to historical data; A fourth processing module, configured to move the starting points of the respective deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the vectors on the other side of the plane as the second vectors; A fifth processing module, configured to adjust the vector lengths of the first vectors and / or the second vectors, so that the resultant vectors of the respective first vectors and the resultant vectors of the respective second vectors are on the same straight line, have the same vector length and opposite directions, wherein the length of the vector corresponds to the deviation amount; A sixth processing module, configured to determine the target execution speed for each joint corresponding to the first vector / second vector according to the vector length and the relationship curve; A control module, configured to control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, thereby canceling out the mechanical arm end deviations caused by each joint.
[0007] The present invention provides a multi-motor collaborative control method, including: obtaining a target action that a robotic arm needs to execute; determining sub-actions corresponding to each joint of the robotic arm according to the target action; determining the tendency of the end deviation of the robotic arm caused by each joint executing the corresponding sub-action based on historical data, and generating a deviation vector for each tendency of the end deviation of the robotic arm; determining a relationship curve between the deviation amount of the end deviation of the robotic arm caused by each joint executing the sub-action and the execution speed based on historical data; moving the starting points of the deviation vectors to the same target point, generating a plane passing through the target point, determining the deviation vectors on one side of the plane as the first vectors, and determining the deviation vectors on the other side of the plane as the second vectors; adjusting the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions; for each joint corresponding to the first vector / second vector, determining the target execution speed according to the vector length and the relationship curve; controlling each joint motor according to the corresponding target execution speed so that the corresponding joint executes the corresponding sub-action, thereby canceling out the end deviations of the robotic arm caused by each joint; in this embodiment, through vector analysis of the deviation vectors corresponding to each sub-action, the spatial coupling of the end deviations of the robotic arm caused by each sub-action can be determined, and the lengths of the deviation vectors are adjusted according to this spatial coupling, so that the resultant vector of each deviation vector is 0. The target execution speed of the corresponding joint motor is deduced according to each adjusted vector length, and when actually executing the target action, each joint is mobilized to execute its respective sub-action according to the target execution speed, which can also cancel out the end deviations of the robotic arm caused by each joint, thereby eliminating the deviation of the robotic arm executing the target action and ensuring the accuracy of the target action execution. Description of the Drawings
[0008] Figure 1 It is a flowchart of the multi-motor collaborative control method provided in an embodiment. Figure 2 It is an implementation environment diagram of the multi-motor collaborative control method provided in an embodiment. Figure 3 It is a schematic diagram of the first resultant vector and the second resultant vector of the multi-motor collaborative control method provided in an embodiment. Figure 4 It is a module flowchart of the multi-motor collaborative control method provided in an embodiment. Figure 5 It is an internal structure block diagram of a computer device in an embodiment. Detailed Embodiment
[0009] In order to make the objectives, technical solutions, and advantages of the present invention more clear and understandable, the present invention will be further described in detail below in conjunction with 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 used to limit the present invention.
[0010] It can be understood that the terms "first", "second", etc. used in the present invention may be used herein to describe various elements, but unless otherwise specified, these elements are not limited by these terms. These terms are only used to distinguish the first element from another element. For example, without departing from the scope of the present invention, the first xx script may be referred to as the second xx script, and similarly, the second xx script may be referred to as the first xx script.
[0011] As Figure 1 shown, in one embodiment, a multi-motor collaborative control method is proposed, and the method includes: S1: Obtain the target action that the robotic arm needs to execute; S2: Determine the sub-actions corresponding to each joint of the robotic arm according to the target action; S3: Determine the tendency of the end deviation of the robotic arm caused by each joint executing the corresponding sub-action according to historical data, and generate a deviation vector for each tendency of the end deviation of the robotic arm, where the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation amount of the end deviation of the robotic arm caused by each joint executing the sub-action and the execution speed according to historical data; S5: Move the starting points of each deviation vector to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the deviation vectors on the other side of the plane as the second vectors; S6: Adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vectors of each first vector and the resultant vectors of each second vector are on the same straight line, have the same vector length and opposite directions, where the length of the vector corresponds to the deviation amount; S7: For each joint corresponding to the first vector / second vector, determine the target execution speed according to the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, and further cancel out the end deviations of the robotic arm caused by each joint.
[0012] In this embodiment, as 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, and can be a cloud server that provides basic cloud computing services such as cloud servers, cloud databases, cloud storage, and CDN; in this embodiment, the robotic arm is a multi-joint robotic arm (the number of joints can be 5 or more), and each joint in the multi-joint robotic arm is provided with a corresponding joint motor, and the joint motor is controlled by the computer device. The computer device can control the operation of the joint motor and thus control the execution of the actions of the robotic arm. In this embodiment, the target action is the action that the robotic arm as a whole needs to execute. Each target action corresponds to sub-actions of multiple joints, and each joint cooperates to complete the corresponding sub-actions, and the robotic arm can complete the target action; the purpose of executing the target action is to make the end of the robotic arm in a specific pose, and the formation of this pose is the result of the accumulation of the poses of each joint caused by each sub-action; therefore, the deviation formed by each joint when executing the corresponding sub-action will also cause the end of the robotic arm to form a deviation.
[0013] In this embodiment, before the robotic arm executes the target action, the deviation vector of the end of the robotic arm caused by each sub-action corresponding to the target action can be determined. Through vector analysis of each deviation vector, the vector lengths corresponding to each deviation vector can be determined when the resultant vector of each deviation vector is 0; the vector length corresponds to the deviation amount of the end of the robotic arm, and this deviation amount is related to the execution speed of the sub-action. According to historical data, the relationship between the execution speed and the deviation amount can be determined, so as to determine 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 executes the corresponding sub-action. Since the resultant vector of each deviation vector is 0, the deviations of the end of the robotic arm caused by each joint cancel each other out.
[0014] In this application, through vector analysis of the deviation vectors corresponding to each sub-action, the spatial coupling of the deviation of the end of the robotic arm caused by each sub-action can be determined. According to this spatial coupling, the length of each deviation vector is adjusted, so that the resultant vector of each deviation vector is 0. The target execution speed of the corresponding joint motor is deduced according to the length of each adjusted vector, and when actually executing the target action, each joint is mobilized to execute its respective sub-action according to the target execution speed, which can also make the deviations of the end of the robotic arm caused by each joint cancel each other out, thereby eliminating the deviation of the robotic arm when executing the target action and ensuring the accuracy of the execution of the target action.
[0015] As a preferred embodiment, the historical data includes the execution parameters for controlling the operation of each joint motor in history, where the execution parameters include the motor rotation direction, the number of motor revolutions, and the motor speed. If the motor rotation direction and the number of motor revolutions in two execution parameters are the same, the sub-actions executed by the corresponding joint for the two execution parameters are regarded as the same sub-action; a motor rotation sensor is provided in each joint motor to detect the actual speed and the actual number of revolutions of the joint motor; The tendency of the end deviation of the robotic arm caused by each joint executing the corresponding sub-action according to the historical data includes: Determine all target execution parameters corresponding to the sub-action from the 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; Judge whether the actual number of revolutions is less than or greater than the number of motor revolutions in the target execution parameter. If it is less, the actual execution amplitude of the sub-action is on the small side. If it is greater, the actual execution amplitude of the sub-action is on the large side; Export the robotic arm model. After mobilizing the robotic arm model to execute the target action, if the actual execution amplitude of the sub-action is on the small side, reduce the execution amplitude of the sub-action of the joint in the robotic arm model, and identify the moving direction of the end of the robotic arm model as the tendency of the end deviation of the robotic arm. If the actual execution amplitude of the sub-action is on the large side, increase the execution amplitude of the sub-action of the joint in the robotic arm model, and identify the moving direction of the end of the robotic arm model as the tendency of the end deviation of the robotic arm. Among them, there is no deviation in the sub-actions executed by each joint during the process of mobilizing the robotic arm model to execute the target action.
[0016] The execution speed is equivalent to the actual speed; the relationship curve between the deviation amount of the end deviation of the robotic arm caused by each joint executing the sub-action according to the historical data and the execution speed includes: Generate a coordinate system with the execution speed as the abscissa and the deviation amount as the ordinate; For each target execution parameter, determine the actual speed and the deviation amount corresponding to the target execution parameter, so as to obtain the coordinate point corresponding to the target execution parameter, where the abscissa of the coordinate point is the actual speed and the ordinate is the deviation amount; Mark the coordinate point on the coordinate system, generate the fitting line of each coordinate point, and obtain the relationship curve.
[0017] Determining the actual speed and the deviation amount 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; Retrieve the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter, and determine the revolution deviation between the actual number of revolutions and the number of motor revolutions in the target execution parameter; Calculate the deviation ratio of the rotational speed deviation to the motor speed. After the robotic arm model is mobilized to execute the target action, reduce / enlarge the execution amplitude of the sub-action executed by this joint in the robotic arm model by the deviation ratio, and identify the movement direction of the end of the robotic arm model as the deviation amount of the end deviation of the robotic arm.
[0018] In this embodiment, when the computer device receives the 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 starts to run according to the execution parameter, and monitors the actual operation parameters of the motor (i.e., the actual rotational speed and the actual number of revolutions) through the motor rotation sensor and transmits them back to the computer device, so that the transmitted actual parameters can be associated with the previously backed-up execution parameters. In this embodiment, since the operation deviation of the motor is often caused by specific structural deviations in the motor, when the motor executes rotational actions with the same rotation direction and number of revolutions (i.e., corresponding to the same sub-action), the tendency (larger / smaller) of the execution amplitude deviation of the sub-action caused by it is also the same. Furthermore, the tendency of the end deviation of the robotic 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, and thus determine the tendency of the end deviation of the robotic arm.
[0019] In this embodiment, a three-dimensional model of the robotic arm, i.e., the robotic arm model, is stored in the computer device, and robotic arm simulation software, such as CoppeliaSim, is also built into the computer device. The robotic arm model is imported into the robotic arm simulation software and initialized (i.e., the pose of the robotic arm model is adjusted to be consistent with the current actual pose of the robotic arm) to make it in the initial pose. 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 the standard process under ideal conditions without errors). Subsequently, corresponding errors are added to each sub-action (i.e., the execution amplitude of this joint in the robotic arm model for executing this sub-action is reduced / enlarged by the deviation ratio), and thus the deviation amount of the end of the robotic arm caused by this sub-action can be determined. Only the error of one sub-action is added for simulation each time, so as to determine the deviation amount of the end of the robotic arm brought only by this sub-action. After each simulation is completed, the robotic arm model is reset to the initial pose and then the next simulation is carried out, that is, each time the robotic arm model is mobilized to perform the target action, it starts from the initial pose to perform the target action. In addition, the execution amplitude of this joint in the robotic arm model for executing this sub-action is reduced / enlarged by the deviation ratio, that is, when the actual execution amplitude of the sub-action is small, the execution amplitude of this joint in the robotic arm model for executing this sub-action is reduced by the deviation ratio, and when the actual execution amplitude of the sub-action is large, the execution amplitude of this joint in the robotic arm model for executing this sub-action is enlarged by the deviation ratio.
[0020] As a preferred embodiment, generating a plane passing through the target point includes: Generating a plane passing through the target point and rotating the plane around the target point to determine all alternative poses of the plane, wherein when the plane is in an alternative pose, there is no deviation vector on the plane; For each alternative pose, determining the angle between each deviation vector and the plane when the plane is in this alternative pose; Accumulating the angles to obtain the sum of angles of this alternative pose; Determining the alternative pose with the largest corresponding sum of angles as the target pose; Fixing the plane at the target pose.
[0021] The number of the first vectors is not less than the number of the second vectors; adjusting the vector lengths of the first vectors and / or the second vectors includes: Retrieving the standard execution speed corresponding to each first vector / second vector; Determining the deviation amount corresponding to each standard execution speed on the relationship curve as the initial deviation amount; Setting the length of each first vector / second vector to the length corresponding to the corresponding initial deviation amount; Generating a first resultant vector and a second resultant vector; Generate an auxiliary vector for the first resultant vector, such that the target resultant vector formed by the first resultant vector and the auxiliary vector is collinear with the second resultant vector; Identify whether the length of the target resultant vector is longer than that of the second resultant vector. If so, synchronously increase the lengths of the second vectors to make the length of the second resultant vector equal to the length of the target resultant vector. If not, synchronously decrease the lengths of the second vectors to make the length of the second resultant vector equal to the length of the target resultant vector; Decompose the auxiliary vector in the directions of the respective first vectors to obtain the component vectors in the directions of the first vectors; Add the length of each first vector to the length of the corresponding component vector to complete the adjustment of the length of the first vector.
[0022] 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: Identify the final length of the vector after adjustment; Retrieve the relationship curve of the first vector / second vector; Determine the deviation amount corresponding to the final length, and determine the execution speed corresponding to the deviation amount in the relationship curve as the target execution speed.
[0023] In this embodiment, taking the first resultant vector as an example, since the first resultant vector is often in the middle position among the first vectors, when the plane is in the target pose, due to the corresponding included angle being the largest, it means that as a whole, the included angles between the first vectors and the plane are relatively large, and further, the included angles between the first vectors and the first resultant vector are reduced as a whole, so that the unit length change of the first vector can cause more length changes of the first resultant vector, and the adjustment amount of each first vector can be reduced; In this embodiment, for each sub-action corresponding to the first vector / second vector, a standard execution speed is preset, such as 3000 r / min. The standard execution speeds of the sub-actions can be the same or different, which is not limited herein; the computer device also stores a deviation amount - vector length mapping table, which includes the values of the deviation amounts corresponding to various vector lengths, and the corresponding vector length can be inferred based on the initial deviation amount; In this embodiment, since the number of first vectors corresponding to the first resultant vector is larger, after generating the auxiliary vector at the first resultant vector, the auxiliary vector can be decomposed into more directions, so that the length of the component vector decomposed in the direction of each first vector is relatively small, thereby reducing the adjustment amount of each joint motor.
[0024] As Figure 4 shown, in one embodiment, a multi-motor cooperative control device is proposed, and the device includes: An acquisition module, configured to acquire the target action that the robotic arm needs to execute; The first processing module is used to determine the sub-actions corresponding to each joint of the robotic arm according to the target action; The second processing module is used to determine the tendency of the deviation of the end of the robotic arm caused by each joint executing the corresponding sub-action according to historical data, and generate a deviation vector for each tendency of the deviation of the end of the robotic arm, 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 deviation of the end of the robotic arm caused by each joint executing the sub-action and the execution speed according to historical data; The fourth processing module is used to move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the vectors on the other side of the plane as the second vectors; The fifth processing module is used to adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, wherein the length of the vector corresponds to the deviation amount; The sixth processing module is used to determine the target execution speed for each joint corresponding to the first vector / 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 executes the corresponding sub-action, and further cancel out the deviations of the end of the robotic arm caused by each joint.
[0025] In the multi-motor collaborative control device provided by the embodiments of the present application, the processes of each module realizing its respective functions can be specifically referred to the description of the foregoing Figure 1 illustrated embodiments, and will not be elaborated herein.
[0026] Figure 5 shows the internal structure diagram of a computer device in an embodiment. As Figure 5 shown, the computer device includes a processor, a memory, a network interface, an input device, and a display screen connected through a system bus. Among them, 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 can implement the multi-motor collaborative control method provided by the embodiments of the present invention. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor can execute the multi-motor collaborative control method provided by the embodiments of the present invention. The display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device may be a touch layer covered on the display screen, or a button, a trackball, or a touchpad provided on the housing of the computer device, or an external keyboard, touchpad, or mouse, etc.
[0027] Those skilled in the art can understand that Figure 5 The structure shown in Figure 5 is only a block diagram of some structures 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 those shown in the figure, or combine some components, or have different component arrangements.
[0028] In one embodiment, the multi-motor cooperative control device provided by the embodiments of the present invention can be implemented in the form of a computer program, and the computer program can run on a computer device as shown in Figure 5 The memory of the computer device may store each program module that constitutes the multi-motor cooperative control device. For example, 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 shown in Figure 4 . The computer program constituted by each program module enables the processor to execute the steps in the multi-motor cooperative control method of each embodiment of the present invention described in this specification.
[0029] For example, Figure 5 The computer device shown in Figure 5 can execute step S1 through the acquisition module in the multi-motor cooperative control device shown in Figure 4 Figure 4 ; 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.
[0030] In one embodiment, a computer device is proposed. The computer device includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: S1: Obtain the target action that the robotic arm needs to execute; S2: Determine the sub-actions corresponding to each joint of the robotic arm according to the target action; S3: Determine the tendency of the end deviation of the robotic arm caused by each joint executing the corresponding sub-action according to the historical data, and generate a deviation vector for each tendency of the end deviation of the robotic arm, where the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation amount of the end deviation of the robotic arm caused by each joint executing the sub-action and the execution speed according to the historical data; S5: Move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the deviation vectors on the other side of the plane as the second vectors; S6: Adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, where the vector length corresponds to the deviation amount; S7: For each joint corresponding to a first vector / second vector, determine the target execution speed according to the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, and further cancel out the deviations at the end of the robotic arm caused by each joint.
[0031] In one embodiment, a computer-readable storage medium is provided. A computer program is stored on the computer-readable storage medium. When the computer program is executed by a processor, the processor performs the following steps: S1: Obtain the target action that the robotic arm needs to execute; S2: Determine the sub-actions corresponding to the respective joints of the robotic arm according to the target action; S3: Determine the tendency of the deviation at the end of the robotic arm caused by each joint executing the corresponding sub-action according to the historical data, and generate a deviation vector for each tendency of the deviation at the end of the robotic arm, where the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation amount of the deviation at the end of the robotic arm caused by each joint executing the sub-action and the execution speed according to the historical data; S5: Move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the deviation vectors on the other side of the plane as the second vectors; S6: Adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, where the vector length corresponds to the deviation amount; S7: For each joint corresponding to a first vector / second vector, determine the target execution speed according to the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, and further cancel out the deviations at the end of the robotic arm caused by each joint.
[0032] It should be understood that although the steps in the flowcharts of the embodiments of the present invention are shown sequentially according to the indications of the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless there is a clear indication in this article, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in each embodiment may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential either, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps.
[0033] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided by the present invention can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can 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 (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.
[0034] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.
[0035] The above embodiments merely represent several implementation manners of the present invention. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the patent of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several modifications and improvements can still be made, and these all belong to the protection scope of the present invention.
Claims
1. A multi-motor collaborative control method, characterized in that, The method includes: S1: Obtain the target action that the robotic arm needs to execute; S2: Determine the sub-actions corresponding to each joint of the robotic arm according to the target action; S3: Determine the tendency of the deviation of the end of the robotic arm caused by each joint executing the corresponding sub-action according to historical data, and generate a deviation vector for each tendency of the deviation of the end of the robotic arm, where the direction of the deviation vector is the same as the deviation direction; S4: Determine the relationship curve between the deviation amount of the deviation of the end of the robotic arm caused by each joint executing the sub-action and the execution speed according to historical data; S5: Move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the deviation vectors on the other side of the plane as the second vectors; S6: Adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, where the length of the vector corresponds to the deviation amount; S7: For each joint corresponding to the first vector / second vector, determine the target execution speed according to the vector length and the relationship curve; S8: Control each joint motor according to the corresponding target execution speed, so that the corresponding joint executes the corresponding sub-action, and further cancel out the deviations of the end of the robotic arm caused by each joint.
2. The method according to claim 1, wherein The historical data includes the execution parameters of each control of a joint motor in history, where the execution parameters include the motor rotation direction, the number of motor revolutions, and the motor speed. If the motor rotation direction and the number of motor revolutions in two execution parameters are the same, the sub-actions executed by the joint corresponding to the two execution parameters are regarded as the same sub-action; Each joint motor is equipped with a motor rotation sensor for detecting the actual speed and the actual number of revolutions of the joint motor; The determination of the tendency of the deviation of the end of the robotic arm caused by each joint executing the corresponding sub-action according to historical data includes: Determine all the target execution parameters corresponding to the sub-action from the 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; Judge whether the actual number of revolutions is less than or greater than the number of motor revolutions in the target execution parameter. If it is less, the actual execution amplitude of the sub-action is too small. If it is greater, the actual execution amplitude of the sub-action is too large; Export the robotic arm model. After mobilizing the robotic arm model to execute the target action, if the actual execution amplitude of the sub-action is too small, reduce the execution amplitude of the sub-action of the joint in the robotic arm model, and identify the moving direction of the end of the robotic arm model as the tendency of the deviation of the end of the robotic arm. If the actual execution amplitude of the sub-action is too large, increase the execution amplitude of the sub-action of the joint in the robotic arm model, and identify the moving direction of the end of the robotic arm model as the tendency of the deviation of the end of the robotic arm. During the process of mobilizing the robotic arm model to execute the target action, there is no deviation in the execution of sub-actions by each joint.
3. The method according to claim 2, wherein The execution speed is equivalent to the actual speed; The determination of the relationship curve between the deviation amount of the deviation of the end of the robotic arm caused by each joint executing the sub-action and the execution speed according to historical data includes: Generate a coordinate system with the execution speed as the abscissa and the deviation amount as the ordinate; For each target execution parameter, determine the actual rotational speed and deviation amount corresponding to the target execution parameter, so as to obtain the coordinate point corresponding to the target execution parameter, where the abscissa of the coordinate point is the actual rotational speed and the ordinate is the deviation amount; Mark the coordinate point on the coordinate system, generate a fitting line for each coordinate point, and obtain a relationship curve.
4. The method according to claim 3, wherein Determining the actual rotational speed and deviation amount corresponding to the target execution parameter includes: Retrieve the actual rotational speed of the joint motor corresponding to the sub-action when executing the target execution parameter; Retrieve the actual number of revolutions of the joint motor corresponding to the sub-action when executing the target execution parameter, and determine the revolution deviation between the actual number of revolutions and the number of revolutions of the motor in the target execution parameter; Calculate the deviation ratio of the revolution deviation to the number of revolutions of the motor; After the robotic arm model is mobilized to execute the target action, reduce / enlarge the execution amplitude of the joint executing the sub-action in the robotic arm model by the deviation ratio, and identify the moving direction of the end of the robotic arm model as the deviation amount of the end of the robotic arm deviation.
5. The method according to claim 4, characterized in that, Generating a plane passing through the target point includes: Generate a plane passing through the target point, and mobilize the plane to rotate around the target point to determine all alternative poses of the plane, where when the plane is in an alternative pose, there is no deviation vector on the plane; For each alternative pose, determine the angle between each deviation vector and the plane when the plane is in the alternative pose; Accumulate each angle to obtain the sum of angles of the alternative pose; Determine the alternative pose with the largest sum of corresponding angles as the target pose; Fix the plane at the target pose.
6. The method according to claim 5, wherein The number of the first vectors is not less than the number of the second vectors; adjusting the vector lengths of the first vectors and / or the second vectors includes: Retrieve the standard execution speed corresponding to each first vector / second vector; Determine the deviation amount corresponding to each standard execution speed on the relationship curve as the initial deviation amount; Set the length of each first vector / second vector to the length corresponding to the corresponding initial deviation amount; Generate a first resultant vector and a second resultant vector; Generate an auxiliary vector of the first resultant vector, so that the 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 that of the second resultant vector. If so, synchronously increase the lengths of the second vectors so that the length of the second resultant vector is equal to the length of the target resultant vector. If not, synchronously shorten the lengths of the second vectors so that the length of the second resultant vector is equal to the length of the target resultant vector; Decompose the auxiliary vector into the directions of the first vectors to obtain the component vectors in the directions of the first vectors; Add the length of each component vector to the length of the corresponding first 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 according to the vector length and the relationship curve includes: Identify the final length of the vector after adjustment; Retrieve the relationship curve of the first vector / second vector; Determine the deviation amount corresponding to the final length, and determine the execution speed corresponding to the deviation amount in the relationship curve as the target execution speed.
8. A multi-motor collaborative control device, characterized in that, The device includes: An acquisition module for acquiring the target action that the robotic arm needs to execute; A first processing module for determining the sub-actions corresponding to the respective joints of the robotic arm according to the target action; The second processing module is used to determine, according to historical data, the tendency of the deviation of the end of the robotic arm caused by each joint performing a corresponding sub-action, and generate a deviation vector for each tendency of the deviation of the end of the robotic arm, wherein the direction of the deviation vector is the same as the deviation direction; The third processing module is used to determine, according to historical data, the relationship curve between the deviation amount of the deviation of the end of the robotic arm caused by each joint performing a sub-action and the execution speed; The fourth processing module is used to move the starting points of the deviation vectors to the same target point, generate a plane passing through the target point, determine the deviation vectors on one side of the plane as the first vectors, and determine the vectors on the other side of the plane as the second vectors; The fifth processing module is used to adjust the vector lengths of the first vectors and / or the second vectors so that the resultant vector of the first vectors and the resultant vector of the second vectors are on the same straight line, have the same vector length and opposite directions, wherein the length of the vector corresponds to the deviation amount; The sixth processing module is used to determine the target execution speed for each joint corresponding to the first vector / 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, and further cancels out the deviations of the end of the robotic arm caused by each joint.
Citation Information
Patent Citations
Multi-motor synchronization control system
CN104300844A
Electric car driving motor torque closed-loop control method
CN107645259A
Speed and current double closed-loop control system and method for permanent magnet synchronous linear motor
CN110138297A
Multi-motor cooperative control robot grabbing device
CN116728446A
Systems, methods and devices for vector control of permanent magnet synchronous machines using artificial neural networks
US20150039545A1
Cited By
Robot multi-joint permanent magnet synchronous motor linkage control method, device and system
CN120638906A