Robotic arm control methods and devices

By optimizing the motion trajectory of the robotic arm using a rolling optimization model, the problems of uneven robotic arm motion and large synchronization delay in traditional methods are solved, achieving smooth operation of the master and slave arms and high-accuracy control, thus extending the life of the robotic arm.

CN122666538BActive Publication Date: 2026-11-06REALMAN INTELLIGENT TECH (BEIJING) CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611176518.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-08-04
Publication Date
2026-11-06
Estimated Expiration
2046-08-04

AI Technical Summary

Technical Problem

In traditional robotic arm control methods, the second-order Taylor expansion algorithm leads to uneven movement speed of the robotic arm, causing it to oscillate and affecting its lifespan. Furthermore, the synchronization delay between the master and slave arms is large, resulting in low accuracy.

Method used

A rolling optimization model is used to optimize the motion trajectory of the joint's historical motion dataset, generating a smooth predicted motion dataset. The rolling optimization model is then used to optimize the position change of the pre-generated initial motion trajectory, generating control commands for the master and slave arms to achieve smooth operation of the master and slave arms.

Benefits of technology

By optimizing the motion trajectory of the robotic arm using a rolling optimization model, oscillations in the robotic arm are avoided, the lifespan of the robotic arm is improved, and the time delay of synchronous motion between the master and slave arms is reduced, thereby improving control accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122666538B_ABST
    Figure CN122666538B_ABST
Patent Text Reader

Abstract

This application relates to a robotic arm control method and apparatus. The method includes: acquiring historical motion datasets for each joint and joint reference positions in each preset control cycle; each joint reference position is used to characterize the initial motion trajectory of the joint; the position change in each control cycle is optimized using a rolling optimization model to obtain a re-optimized predicted motion dataset for each control cycle; the rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices; the multi-dimensional joint indices are used to control the position changes of the robotic arm; based on the predicted motion datasets for each joint, master arm control commands for the master arm and slave arm control commands for the slave arm are generated; the master arm control commands and slave arm control commands are used to control the movement of the robotic arm. This method can improve the lifespan of the robotic arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and in particular to a method and apparatus for controlling a robotic arm. Background Technology

[0002] Master-slave robots are a type of robot commonly used for remote control or high-precision tasks. A master-slave robot consists of a master robotic arm (master arm) and a slave robotic arm (slave arm). The master arm is directly operated by a human, while the slave arm precisely replicates the movements of the master arm; the master and slave arms need to operate synchronously.

[0003] In traditional technology, within the target control cycle, the control chip acquires the historical motion dataset of the main arm from the previous control cycle and predicts the position of the main arm in the next prediction cycle based on the second-order Taylor expansion algorithm and the historical motion dataset, thus obtaining the predicted position. Then, the control chip generates main arm control commands and slave arm control commands based on the predicted position.

[0004] However, in traditional technology, the second-order Taylor expansion algorithm can only determine the predicted position of the main arm in the next control cycle. Controlling the movement of the robotic arm based on this predicted position will lead to uneven movement speed of the robotic arm, that is, the robotic arm will oscillate, which will affect the life of the robotic arm. Summary of the Invention

[0005] Therefore, it is necessary to provide a robotic arm control method, device, computer equipment, computer-readable storage medium, and computer program product to address the aforementioned technical problems.

[0006] In a first aspect, this application provides a robotic arm control method, wherein the robotic arm includes a master arm and a slave arm; both the master arm and the slave arm include joints; including:

[0007] The historical motion dataset of each joint and the joint reference position of each joint in each preset control cycle are obtained; each joint reference position is used to characterize the initial motion trajectory of the joint.

[0008] The position change of each control cycle is optimized using the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices. The multi-dimensional joint indices are used to control the position change of the robotic arm.

[0009] Based on the predicted motion datasets of each joint, master arm control commands for the master arm and slave arm control commands for the slave arm are generated; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

[0010] In one embodiment, obtaining the historical motion dataset of each joint and the joint reference position in each preset control cycle includes:

[0011] Within the target control cycle, the historical verification cycle corresponding to the target control cycle is determined, and the historical motion dataset and the historical joint predicted motion dataset for each joint within the historical verification cycle are obtained.

[0012] Based on the historical motion datasets and the historical joint predicted motion datasets, determine whether the robotic arm meets the preset prediction mismatch conditions;

[0013] If the robotic arm does not meet the predicted mismatch condition, obtain the joint reference position of each joint in each preset control cycle.

[0014] In one embodiment, determining whether the robotic arm meets a preset prediction mismatch condition based on each of the historical motion datasets and each of the historical joint prediction motion datasets includes:

[0015] Based on the historical motion datasets and the historical joint predicted motion datasets, the mismatch deviation of the robotic arm is determined; the mismatch deviation includes one or more of position deviation, angular velocity deviation, and angular acceleration deviation.

[0016] Obtain the turning penalty value of the robotic arm, and determine the total mismatch value based on the mismatch deviation and / or the turning penalty value;

[0017] Based on the relationship between the total mismatch value and the preset mismatch threshold, it is determined whether the robotic arm meets the preset predicted mismatch conditions.

[0018] In one embodiment, after determining whether the robotic arm meets a preset prediction mismatch condition based on each of the historical motion datasets and each of the historical joint prediction motion datasets, the method further includes:

[0019] If the robotic arm meets the predicted mismatch condition, the historical position of the main arm is determined based on each of the historical motion datasets.

[0020] With the target being close to the historical position of the master arm, the slave arm control command is generated based on the polynomial correction trajectory algorithm.

[0021] In one embodiment, the multidimensional joint metrics include one or more of angular velocity, angular acceleration, angular jerk, and the difference between the joint reference position and the joint predicted position.

[0022] In one embodiment, before performing motion trajectory optimization processing on the position change amount of each control cycle according to the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle, the method further includes:

[0023] With the goal of minimizing the changes in multi-dimensional joint indices, a motion optimization function for the joint is constructed based on the joint reference position in each control cycle.

[0024] Based on the joint's historical motion dataset and the second-order Taylor expansion algorithm, a state update function for the joint is constructed.

[0025] Based on a preset attribute dataset, generate motion constraints for the joint;

[0026] Based on the motion optimization function, the state update function, and the motion constraints, a rolling optimization model for the joint is constructed.

[0027] In one embodiment, generating master arm control commands for the master arm and slave arm control commands for the slave arm based on the predicted motion datasets for each of the joints includes:

[0028] Based on the predicted motion datasets of each joint, the predicted trajectory of the master arm and the predicted trajectory of the slave arm are determined, and based on the historical motion datasets of each joint, the historical motion datasets of the master arm and the slave arm are determined.

[0029] Based on the predicted trajectory of the slave arm and the preset feedforward compensation weight of the master arm, the reference position of the master arm is determined, and the master arm control command is generated based on the reference position of the master arm and the historical motion dataset of the master arm.

[0030] Based on the predicted trajectory of the master arm, the reference position of the slave arm is determined, and control commands for the slave arm are generated according to the reference position of the slave arm and the historical motion dataset of the slave arm.

[0031] In one embodiment, each control cycle includes a target control cycle and the next control cycle of the target control cycle. The step of determining the main arm reference position based on the slave arm's predicted trajectory and a preset main arm side feedforward compensation weight, and generating main arm control commands based on the main arm reference position and the main arm's historical motion dataset, includes:

[0032] The slave arm target position in the target control cycle is determined from the slave arm predicted trajectory, and the slave arm historical position is determined from the slave arm historical motion dataset;

[0033] Based on the main arm's historical motion dataset, determine the main arm's historical position and historical angular velocity;

[0034] Based on the slave arm's historical position, the slave arm's target position, and the preset master arm side feedforward compensation weight, the master arm's reference position in the target control cycle is determined, and the master arm's reference angular velocity is determined based on the master arm's reference position.

[0035] Based on the main boom reference position, the main boom reference angular velocity, the main boom historical position, and the main boom historical angular velocity, main boom control commands are generated.

[0036] In one embodiment, each control cycle includes a target control cycle and the next control cycle of the target control cycle. The step of determining the slave arm reference position based on the master arm's predicted trajectory and generating slave arm control commands based on the slave arm reference position and the slave arm's historical motion dataset includes:

[0037] The predicted position of the main arm in the next control cycle is determined in the predicted trajectory of the main arm, and the predicted position of the main arm is determined as the reference position of the slave arm.

[0038] Based on the slave arm reference position, determine the slave arm reference velocity, and based on the slave arm historical motion dataset, determine the slave arm historical position and slave arm historical angular velocity;

[0039] Based on the slave arm reference position, the slave arm reference speed, the slave arm historical position, and the slave arm historical angular velocity, slave arm control commands are generated.

[0040] Secondly, this application also provides a robotic arm control device, the robotic arm including a master arm and a slave arm; both the master arm and the slave arm include joints; including:

[0041] The acquisition module is used to acquire the historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle; each joint reference position is used to characterize the initial motion trajectory of the joint.

[0042] The optimization module is used to optimize the motion trajectory of the position change in each control cycle according to the rolling optimization model, so as to obtain the re-optimized predicted motion dataset for each control cycle; the rolling optimization model is constructed with the goal of minimizing the change of multi-dimensional joint indicators; the multi-dimensional joint indicators are used to control the position change of the robotic arm.

[0043] The generation module is used to generate master arm control commands for the master arm and slave arm control commands for the slave arm based on the predicted motion datasets for each of the joints; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

[0044] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0045] The historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle are obtained; each joint reference position is used to characterize the initial motion trajectory of the joint.

[0046] The position change of each control cycle is optimized using the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices. The multi-dimensional joint indices are used to control the position change of the robotic arm.

[0047] Based on the predicted motion datasets of each joint, master arm control commands and slave arm control commands are generated; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

[0048] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:

[0049] The historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle are obtained; each joint reference position is used to characterize the initial motion trajectory of the joint.

[0050] The position change of each control cycle is optimized using the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices. The multi-dimensional joint indices are used to control the position change of the robotic arm.

[0051] Based on the predicted motion datasets of each joint, master arm control commands and slave arm control commands are generated; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

[0052] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:

[0053] The historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle are obtained; each joint reference position is used to characterize the initial motion trajectory of the joint.

[0054] The position change of each control cycle is optimized using the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices. The multi-dimensional joint indices are used to control the position change of the robotic arm.

[0055] Based on the predicted motion datasets of each joint, master arm control commands and slave arm control commands are generated; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

[0056] The aforementioned robotic arm control method, device, computer equipment, computer-readable storage medium, and computer program product acquire historical motion datasets for each joint and joint reference positions for each joint in each preset control cycle. Each joint reference position is used to characterize the initial motion trajectory of the joint. The position change in each control cycle is optimized using a rolling optimization model to obtain a re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices. These multi-dimensional joint indices are used to control the position changes of the robotic arm. Based on the predicted motion datasets for each joint, master arm control commands for the master arm and slave arm control commands for the slave arm are generated. These master arm control commands and slave arm control commands are used to control the movement of the robotic arm. Using this method, since the rolling optimization model is generated with the goal of minimizing the changes in multi-dimensional joint indices, optimizing the position change of the pre-generated initial motion trajectory using the rolling optimization model makes the position change of the joint more uniform in each control cycle, thus planning a smoothly changing trajectory for the joint. Furthermore, based on the various smooth predicted motion datasets, the master arm control commands and slave arm control commands are determined, which can ensure smooth operation of the master arm and slave arm, avoid mechanical vibration operation, and improve the life of the robotic arm. Attached Figure Description

[0057] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0058] Figure 1 This is an application environment diagram of the robotic arm control method in one embodiment;

[0059] Figure 2 This is a flowchart illustrating a robotic arm control method in one embodiment;

[0060] Figure 3 This is a flowchart illustrating the process of obtaining historical motion datasets and joint reference positions in one embodiment;

[0061] Figure 4 This is a flowchart illustrating the process of determining whether a robotic arm meets the predicted mismatch conditions in one embodiment.

[0062] Figure 5 This is a flowchart illustrating the process of generating slave arm control commands near the historical position of the master arm in one embodiment.

[0063] Figure 6 Here is a flowchart of the prediction mismatch detection and backtracking synchronization process in one embodiment;

[0064] Figure 7 This is a flowchart illustrating the process of constructing a rolling optimization model in one embodiment;

[0065] Figure 8 This is a flowchart illustrating the process of generating slave arm control commands and master arm control commands in one embodiment.

[0066] Figure 9 This is a flowchart illustrating the process of generating main arm control commands in one embodiment;

[0067] Figure 10 This is a flowchart illustrating forward tracking from the arm side in an exemplary embodiment.

[0068] Figure 11 This is a flowchart illustrating the process of generating slave arm control commands in one embodiment;

[0069] Figure 12 Here is a flowchart of delay sensing blanking on the main arm side in one embodiment;

[0070] Figure 13 This is an architecture diagram of a robotic arm control method in an exemplary embodiment;

[0071] Figure 14 This is a structural block diagram of a robotic arm control device in one embodiment;

[0072] Figure 15 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0073] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0074] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.

[0075] The robotic arm control method provided in this application embodiment can be applied to, for example... Figure 1 The illustrated dual-arm robot 100 includes a master arm 110, a slave arm 120, and a controller 130. The controller 130 can be a control chip. During task execution, the master arm and slave arm often move synchronously. Both the master arm and slave arm include joints. By controlling the angles of each joint, the position of the master arm and slave arm can be changed. The master arm 110 is used to collect operator input, and the slave arm 120 is used to perform remote movements.

[0076] Master-slave robots are a type of robot commonly used for remote control or high-precision tasks. A master-slave robot consists of a master robotic arm (master arm) and a slave robotic arm (slave arm). The master arm is directly operated by a human, while the slave arm precisely replicates the movements of the master arm.

[0077] In traditional technology, within the target control cycle, the control chip acquires the historical motion dataset of the main arm from the previous control cycle and predicts the position of the main arm in the next prediction cycle based on the second-order Taylor expansion algorithm and the historical motion dataset, thus obtaining the predicted position. Then, the control chip generates main arm control commands and slave arm control commands based on the predicted position.

[0078] However, in traditional technology, the second-order Taylor expansion algorithm can only determine the predicted position of the main arm in the next control cycle. Controlling the movement of the robotic arm based on this predicted position will lead to uneven movement speed of the robotic arm, that is, the robotic arm will oscillate, which will affect the life of the robotic arm.

[0079] Furthermore, in traditional technologies, due to the distance between the master arm, slave arm, and controller, and the transmission delay of data and commands, using only the position of the master arm in the next prediction cycle as a reference for the slave arm is equivalent to providing only one-way compensation to the slave arm. This leads to a significant delay in the master arm, resulting in a large difference in the synchronous movement of the master and slave arms. Therefore, the accuracy of current robotic arm control methods is relatively low.

[0080] Based on this, the robotic arm control method provided in this application uses a rolling optimization model generated with the goal of minimizing the changes in multi-dimensional joint indices. Therefore, by optimizing the positional changes of the pre-generated initial motion trajectory using the rolling optimization model, the positional changes of the joints become more uniform across control cycles, thus planning a smoothly changing trajectory for the joints. Furthermore, based on the predicted motion datasets of these smooth movements, the master arm control commands and slave arm control commands are determined, ensuring smooth operation of both the master and slave arms, avoiding mechanical oscillations, and improving the lifespan of the robotic arm.

[0081] Furthermore, by determining the master arm reference position using the slave arm's predicted trajectory and then using that reference position to determine the master arm control commands, master arm-side reference feedforward compensation is achieved. This reduces the operator's direct perception of the slave arm's actual lag and decreases the master arm's latency. Simultaneously, by determining the slave arm reference position using the master arm's predicted trajectory and then using that reference position to determine the slave arm control commands, slave arm-side compensation is achieved. This allows the slave arm to actively approach the position the master arm is about to reach, reducing slave arm latency and improving the accuracy of the robotic arm management method.

[0082] In one exemplary embodiment, such as Figure 2 As shown, a robotic arm control method is provided, which is applied to... Figure 1 The following description uses controller 130 (hereinafter referred to as the controller) as an example, including the following steps 202 to 206. Wherein:

[0083] Step 202: Obtain the historical motion dataset of each joint and the joint reference position in each preset control cycle.

[0084] The reference positions of each joint are used to characterize the initial motion trajectory of the joint. Each preset control cycle includes a target control cycle and the next control cycle after the target control cycle. The control cycle is a continuous cycle.

[0085] In implementation, the controller is configured with various control cycles. Within the target control cycle, the controller acquires the historical motion dataset for each joint in the robotic arm. Then, the controller acquires the joint reference position for each control cycle of that joint. The historical motion dataset is the motion dataset of the joint in the previous control cycle of the target control cycle, including the joint's historical position (angle), historical angular velocity, historical angular acceleration, and historical angular jerk.

[0086] Specifically, the target control cycle is the current control cycle. The controller determines the prediction time domain corresponding to the current control cycle. The prediction time domain includes each control cycle. Within the target control cycle, the controller determines the corresponding historical verification cycle and obtains the historical motion dataset and historical joint predicted motion dataset for each joint within the historical verification cycle. Then, based on each historical motion dataset and each historical joint predicted motion dataset, the controller determines whether the robotic arm meets the preset prediction mismatch conditions. If the robotic arm does not meet the prediction mismatch conditions, the controller obtains the joint reference position for each joint within each control cycle. The joint reference position is predicted based on the joint's operational characteristics within each historical control cycle.

[0087] In an exemplary embodiment, the controller acquires the estimated delay time of the master-slave link within the target control cycle. Here, the master-slave link refers to the link from the master arm to the controller and the link from the slave arm to the controller. The controller acquires the safety margin time of the robotic arm. The controller processes the estimated delay time and safety margin time of the master-slave link according to a predictive time-domain algorithm to obtain the predictive time domain. The predictive time-domain algorithm is shown in the following formula (1):

[0088] (1)

[0089] In the above formula (1), Indicates the prediction time domain, This indicates the estimated delay time. This represents the safety margin time. After determining the prediction time domain, the controller determines the number of control cycles to be predicted, i.e., the prediction steps, based on the prediction step algorithm, the control cycle, and the prediction time domain. The prediction step algorithm is shown in the following formula (2):

[0090] (2)

[0091] In formula (2) above, the time included in the control cycle is... , To predict the number of steps. This indicates the prediction time domain.

[0092] Within the target control cycle, the controller acquires the historical motion dataset for each joint. Due to time delays between the master arm and the controller, and also between the slave arm and the controller, even if the controller obtains the joint motion dataset within the target control cycle, it essentially obtains the historical motion dataset from the previous control cycle. This previous control cycle is the historical verification cycle. Simultaneously, the controller acquires the historical joint prediction motion dataset for each joint within the historical verification cycle. This historical joint prediction motion dataset is the predicted motion dataset generated by the controller in the previous control cycle of the historical verification cycle. Then, based on each historical motion dataset and each historical joint prediction motion dataset, the controller determines whether the robotic arm meets the preset prediction mismatch conditions. If the robotic arm does not meet the prediction mismatch conditions, the controller acquires the attribute dataset for each joint and the joint reference position for that joint within each control cycle. The joint reference position is predicted based on the joint's operational characteristics within each historical control cycle.

[0093] For example, if the target control cycle is 'a' (where 'a' is a natural number greater than 0), the controller acquires the historical motion dataset for the control cycle a-1. Within the control cycle a-2, the controller executes the robotic arm control method, generating predicted motion datasets for each joint in each control cycle. This predicted motion dataset includes the predicted motion dataset for the control cycle a-1. For the control cycle 'a', the predicted motion dataset for the control cycle a-1 constitutes the historical joint predicted motion dataset. In other words, the controller acquires the predicted motion dataset for the control cycle a-1, thus obtaining the historical joint predicted motion dataset.

[0094] Then, the computer determines whether the robotic arm meets the preset prediction mismatch conditions based on the historical motion datasets and predicted motion datasets of each joint. If the robotic arm does not meet the prediction mismatch conditions, the controller predicts the joint reference position of each joint in the preset control cycle based on the motion datasets of each joint in each historical control cycle. For control cycle 'a', a-1 to an (where n is a natural number less than a) are all historical control cycles.

[0095] Step 204: Based on the rolling optimization model, the position change of each control cycle is optimized to obtain the predicted motion dataset for each control cycle after re-optimization.

[0096] Among them, the rolling optimization model is constructed with the goal of minimizing the changes in multi-dimensional joint indices; the multi-dimensional joint indices are used to control the position changes of the robotic arm.

[0097] In implementation, the controller invokes the rolling optimization model and inputs the rolling optimization model, joint reference positions for each control cycle, historical motion datasets, and attribute datasets into a preset solver. The solver solves the rolling optimization model to obtain initial results. During the solution process, the rolling optimization model aims to minimize the position change in each control cycle, optimizing the changes in multi-dimensional joint indices to obtain optimized multi-dimensional joint indices, i.e., the initial results. The controller selects the initial result closest to the joint reference position as the target result. The target result includes the predicted motion dataset for each control cycle. The predicted motion dataset for each control cycle includes the predicted joint position, predicted angular velocity, predicted angular acceleration, and predicted angular jerk within that control cycle.

[0098] Specifically, the rolling optimization model aims to minimize the changes in multi-dimensional joint indices and is constructed based on the reference positions of each joint, historical motion datasets, and pre-defined attribute datasets. The rolling optimization model includes a motion optimization function, a state update function, and constraints. For each joint, the controller inputs the motion optimization function, state update function, and constraints into the solver, along with the joint's historical motion dataset, the joint reference positions for each control cycle, and the pre-defined attribute dataset. The solver then solves the rolling optimization model to obtain initial results. Each initial result includes the initial predicted motion dataset for the joint in each control cycle. The initial predicted motion dataset includes the initial predicted position for that control cycle. For each initial result, the controller calculates the distance between each initial predicted position and each joint reference position, obtaining the difference between the initial result and the joint reference positions. The controller selects the initial result with the smallest difference as the target result, thus defining each initial predicted motion dataset in the initial result as the predicted motion dataset.

[0099] In an exemplary embodiment, the controller aims to minimize the changes in multi-dimensional joint indices and constructs a motion optimization function for the joints based on the joint reference positions in each control cycle. Then, the controller constructs a state update function for the joints based on the joint's historical motion dataset and a second-order Taylor expansion algorithm. The controller generates motion constraints for the joints based on a preset attribute dataset and constructs a rolling optimization model for the joints based on the motion optimization function, state update function, and motion constraints. Then, for each joint, the controller updates the rolling optimization model based on its historical motion dataset and the reference positions of each joint, and inputs the updated rolling optimization model into the solver to obtain initial results. The controller then filters the initial results based on the closest approximation to the reference positions of each joint to obtain the target result. This target result includes the predicted motion dataset for each control cycle. Since the motion optimization function is constructed with the goal of minimizing the changes in multi-dimensional joint indices, and these indices control the changes in the robotic arm, the solver continuously adjusts the values ​​of the joint indices during the solution process to minimize them, ultimately minimizing the position change. The output predicted motion dataset also minimizes the position change of the robotic arm, thus allowing the robotic arm to operate smoothly.

[0100] Step 206: Based on the predicted motion datasets of each joint, generate the master arm control command for the master arm and the slave arm control command for the slave arm.

[0101] Among them, the master arm control command and the slave arm control command are used to control the movement of the robotic arm.

[0102] In implementation, the controller determines the main arm's predicted trajectory and the slave arm's predicted trajectory based on the predicted motion datasets of each joint. The controller generates main arm control commands using the slave arm's predicted trajectory as a reference, and generates slave arm control commands using the slave arm's predicted trajectory as a reference as well.

[0103] Specifically, the controller determines the predicted trajectory of the master arm and the predicted trajectory of the slave arm based on the predicted motion datasets of each joint. Then, the controller determines the historical motion datasets of the master arm and the slave arm based on the historical motion datasets of each joint. Using the predicted trajectory of the slave arm as a reference, the controller generates master arm control commands based on the historical motion dataset of the master arm. Similarly, the controller generates slave arm control commands based on the historical motion dataset of the slave arm.

[0104] In one exemplary embodiment, the controller determines the main arm predicted trajectory and the slave arm predicted trajectory based on the predicted motion datasets of each joint, and determines the main arm historical motion dataset and the slave arm historical motion dataset based on the historical motion datasets of each joint. Then, the controller determines the main arm reference position based on the slave arm predicted trajectory and preset main arm side feedforward compensation weights, and generates main arm control commands based on the main arm reference position and the main arm historical motion dataset. Finally, the controller determines the slave arm reference position based on the main arm predicted trajectory and generates slave arm control commands based on the slave arm reference position and the slave arm historical motion dataset.

[0105] In the aforementioned robotic arm control method, the rolling optimization model is generated with the goal of minimizing the changes in multi-dimensional joint indices. Therefore, by optimizing the positional changes of the pre-generated initial motion trajectory using the rolling optimization model, the positional changes of the joints become more uniform across each control cycle, thus planning a smoothly changing trajectory for the joints. Furthermore, based on the predicted motion datasets of these smooth movements, the master arm control commands and slave arm control commands are determined, ensuring smooth operation of both the master and slave arms, avoiding mechanical oscillations, and improving the lifespan of the robotic arm.

[0106] In one exemplary embodiment, such as Figure 3 As shown, the specific processing steps of step 202 include steps 302 to 306. Wherein:

[0107] Step 302: Within the target control cycle, determine the historical verification cycle corresponding to the target control cycle, and obtain the historical motion dataset and historical joint predicted motion dataset for each joint within the historical verification cycle.

[0108] In implementation, within the target control cycle, the controller determines the previous control cycle as the historical verification cycle corresponding to the target control cycle. The controller acquires the historical motion dataset and historical joint predicted motion dataset for each joint within the historical verification cycle. The historical motion dataset includes the joint's historical position, historical angular velocity, historical angular acceleration, and historical angular jerk within the historical verification cycle. The historical joint predicted motion dataset includes the joint's historical predicted position, historical predicted angular acceleration, historical predicted angular velocity, and historical predicted angular jerk within the historical verification cycle.

[0109] In an exemplary embodiment, taking a control period of target control cycle 'a' (where 'a' is a natural number greater than 0) as an example, the controller determines the control cycle 'a-1' as the historical verification cycle corresponding to the target control cycle. The controller acquires the historical motion dataset for the control cycle 'a-1'. Then, the controller acquires the historical joint prediction motion dataset for the control cycle 'a-1'. This historical joint prediction motion dataset is the prediction motion dataset for the control cycle 'a-1' generated within the control cycle 'a-2'.

[0110] In an exemplary embodiment, the controller determines the discrete sampling period as... The state vector of any joint is then shown in formula (3):

[0111] (3)

[0112] In the above formula (3), Indicates the first The location of each sampling time. Indicates the first Angular velocity at each sampling time. Indicates the first The angular acceleration at each sampling time point. Within each control cycle, the controller reconstructs the current state based on a sliding time window consisting of the most recent M sampling points, obtaining a motion dataset. State reconstruction can be achieved using local polynomial fitting, weighted least squares, or Kalman filtering.

[0113] Step 304: Based on the historical motion datasets and the historical joint prediction motion datasets, determine whether the robotic arm meets the preset prediction mismatch conditions.

[0114] In implementation, the controller determines the mismatch deviation of the robotic arm based on the historical motion dataset of each joint and the historical joint prediction motion dataset of each joint. Then, the controller determines the total mismatch value based on at least one of the mismatch deviation and the turning penalty value of the robotic arm. A mismatch threshold is preset in the controller. The controller determines whether the robotic arm meets the preset predicted mismatch conditions based on the relationship between the total mismatch value and the mismatch threshold. If the robotic arm meets the predicted mismatch conditions, the controller executes step 502 below. If the controller does not meet the predicted mismatch conditions, the controller executes step 402 below.

[0115] Specifically, the controller calculates the mismatch deviation of the robotic arm based on the historical motion dataset and the historical joint prediction motion dataset for each joint. Then, the controller obtains the turning penalty value of the robotic arm. This turning penalty value represents the value of the turning penalty term resulting from a reversal of direction, abrupt change in curvature, or rapid accumulation of error. Based on the turning penalty term and / or the mismatch deviation, the controller determines the total mismatch value of the robotic arm. The total mismatch value indicates whether the robotic arm has experienced a sudden stop, reverse direction, or a large turning that caused prediction failure. Then, the controller determines whether the total mismatch value is greater than a preset mismatch threshold. If the total mismatch value is greater than the mismatch threshold, the controller determines that the robotic arm meets the preset prediction mismatch conditions. If the total mismatch value is less than or equal to the mismatch threshold, the controller determines that the robotic arm does not meet the prediction mismatch conditions.

[0116] Step 306: If the robotic arm does not meet the predicted mismatch conditions, obtain the joint reference position of each joint in each preset control cycle.

[0117] In practice, if the robotic arm does not meet the predicted mismatch conditions, the controller will obtain the joint reference position of each joint in each preset control cycle.

[0118] Specifically, if the robotic arm does not meet the predicted mismatch condition, the controller acquires the motion dataset of each joint in each historical control cycle, and predicts the joint reference position of the joint in each preset control cycle based on the motion dataset of each historical control cycle.

[0119] In an optional embodiment, the controller can input the motion dataset of each historical control cycle into the LTSM model (Long Short-Term Memory network), and use the LTSM model to perform predictive processing on the motion dataset of each historical control cycle to obtain the joint reference position for each preset control cycle.

[0120] In this embodiment, by comparing the historical motion dataset and the historical joint prediction motion dataset, it is possible to determine whether the robotic arm has position errors, angular velocity errors, direction reversals, or curvature abrupt changes exceeding the threshold. When the robotic arm does not exhibit the above conditions, i.e., when the robotic arm is operating stably, the joint reference position is obtained, providing a data foundation for subsequent optimization of the joint reference position.

[0121] In one exemplary embodiment, such as Figure 4 As shown, the specific processing procedure of step 304 includes steps 402 to 406. Wherein:

[0122] Step 402: Determine the mismatch deviation of the robotic arm based on the historical motion datasets and the historical joint prediction motion datasets.

[0123] The mismatch deviation includes one or more of the following: position deviation, angular velocity deviation, and angular acceleration deviation.

[0124] In implementation, for each joint, the controller determines the joint position deviation, joint angular velocity deviation, and joint angular acceleration deviation based on the joint's historical motion dataset and historical joint predicted motion dataset. Based on these deviations, the controller determines the robot arm's position deviation, angular velocity deviation, and angular acceleration deviation. Finally, based on these deviations, the controller determines the robot arm's mismatch deviation.

[0125] In an optional embodiment, the main arm includes first joints. The secondary arm includes second joints. For each joint, the controller determines the joint position deviation, joint angular velocity deviation, and joint angular acceleration deviation based on the joint's historical motion dataset and historical joint predicted motion dataset. Then, the controller filters the first joints among the joints and determines the main arm position deviation, main arm angular velocity deviation, and main arm angular acceleration deviation based on the joint position deviation, joint angular velocity deviation, and joint angular acceleration deviation of each first joint. The controller then determines the mismatch deviation from the main arm position deviation, main arm angular velocity deviation, and main arm angular acceleration deviation.

[0126] Step 404: Obtain the turning penalty value of the robotic arm, and determine the total mismatch value based on the mismatch deviation and / or the turning penalty value.

[0127] In practice, the controller acquires the penalty value of the robotic arm. Then, the controller determines the total mismatch value based on at least one of the mismatch deviation and the turning penalty value.

[0128] In an exemplary embodiment, the mismatch deviation includes position deviation, angular velocity deviation, and angular acceleration deviation. The controller performs weighted processing on the position deviation, angular velocity deviation, angular acceleration deviation, and turning penalty value according to the total mismatch value algorithm to obtain the total mismatch value. The total mismatch value algorithm is shown in the following formula (4):

[0129] (4)

[0130] In the above formula (4), Represents the absolute value of the positional deviation. As the weight of the positional deviation, Indicates the historical position of each joint. This indicates the historical predicted position of each joint. Represents the absolute value of the angular velocity deviation. As the weight of the angular velocity deviation, Represents the historical angular velocity of each joint. This represents the historical predicted angular velocity of each joint. This represents the absolute value of the angular acceleration deviation. This represents the historical angular acceleration of each joint. This represents the historical predicted angular acceleration of each joint. This represents the weight of the angular acceleration deviation. This indicates the penalty value for the transition. This indicates the weight of the turning penalty value. Optionally, the deviation of the robotic arm can be replaced with the deviation of the main arm, that is, the positional deviation of the robotic arm can be replaced with the positional deviation of the main arm, the acceleration deviation of the robotic arm can be replaced with the acceleration deviation of the main arm, and the angular acceleration deviation of the robotic arm can be replaced with the angular acceleration deviation of the main arm.

[0131] Step 406: Based on the relationship between the total mismatch value and the preset mismatch threshold, determine whether the robotic arm meets the preset predicted mismatch conditions.

[0132] The predicted mismatch condition is that the total mismatch value is greater than the mismatch threshold.

[0133] In implementation, a mismatch threshold is preset in the controller. The controller determines whether the total mismatch value is greater than the mismatch threshold. If the total mismatch value is greater than the mismatch threshold, the controller determines that the robotic arm meets the predicted mismatch condition. If the total mismatch value is less than or equal to the mismatch threshold, the controller determines that the robotic arm does not meet the predicted mismatch condition. The predicted mismatch condition is shown in the following formula (5):

[0134] (5)

[0135] in, Indicates the total mismatch value. This represents the mismatch threshold. When the robotic arm meets the predicted mismatch threshold, it indicates that the robotic arm has made a significant movement. Under normal circumstances, the robotic arm will not exhibit this behavior. If a rolling optimization model is still used to predict this situation, it will cause the distance between the master arm and the slave arm to increase; therefore, correction is needed for this situation.

[0136] In this embodiment, by comparing the historical motion dataset and the historical joint prediction motion dataset, it is possible to determine whether the robotic arm has position errors, angular velocity errors, direction reversals, or curvature abrupt changes exceeding the threshold, thus providing a data basis for taking different control measures in the future.

[0137] In an exemplary embodiment, if the robotic arm does not meet the predicted mismatch conditions, it needs to exit the predicted compensation mode and generate slave arm control commands based on the master arm's historical position to make the slave arm continuously move closer to the master arm. For example... Figure 5As shown, after step 304 is executed, the specific processing procedure of this robotic arm management method further includes steps 502 to 504. Wherein:

[0138] Step 502: If the robotic arm meets the predicted mismatch condition, determine the historical position of the main arm based on the historical motion datasets.

[0139] In implementation, the main arm includes each first joint, and the slave arm includes each second joint. If the robotic arm meets the predicted mismatch condition, the controller determines the historical motion dataset of each first joint from the historical motion dataset of each joint. This historical motion dataset includes the historical positions of the first joints. Based on the historical positions of each first joint, the controller constructs the historical position of the main arm.

[0140] Step 504: With the target being close to the historical position of the main arm, generate slave arm control commands based on the polynomial correction trajectory algorithm.

[0141] In practice, the controller freezes the predicted target. Then, using the target at the main arm's historical position close to the main arm, the controller generates the slave arm's control position based on a polynomial-corrected trajectory algorithm.

[0142] Specifically, the controller has a pre-set attribute dataset. The attribute dataset includes position threshold, velocity threshold, and acceleration threshold. The controller constructs boundary conditions based on the position threshold, velocity threshold, and acceleration threshold. Then, the controller constructs a correction function based on the historical position of the main arm, which is close to the main arm, according to the polynomial correction trajectory algorithm. The correction function is shown in the following formula (6):

[0143] (6)

[0144] In the above formula (6), This refers to the trajectory correction or backtracking from the arm, specifically the reference position trajectory that the arm should follow during the backtracking phase. , , , , , is a coefficient. To adjust the time, This is the next control cycle. The corrected trajectory generated based on this correction function is a fifth-order polynomial trajectory, a minimum impact trajectory, or other transitional trajectory that satisfies the continuity of position, velocity, and acceleration.

[0145] In one exemplary embodiment, Figure 6 This is a flowchart illustrating the prediction mismatch detection and backtracking synchronization process in one embodiment. Figure 6 As shown, the specific processing steps for prediction mismatch detection and backtracking synchronization include:

[0146] Step 601: Execute the normal prediction compensation mode. The normal prediction compensation mode refers to steps 204 to 206 above. The normal prediction compensation mode can eliminate delay on the main arm side and make advance predictions on the slave arm side.

[0147] Step 602: Compare the predicted trajectory and the actual trajectory in real time. The actual trajectory is the historical motion dataset of each joint, and the historical predicted trajectory is the joint predicted motion dataset of each joint.

[0148] Step 603: Determine the total mismatch value. The total mismatch value is determined by at least one of the following: position error, angular velocity error, angular acceleration error, and cornering penalty value. The total mismatch value characterizes whether there are directional changes or abrupt curvature changes.

[0149] Step 604: Determine whether the total mismatch value exceeds a preset mismatch threshold. If the total mismatch value exceeds the preset mismatch threshold, proceed to step 605. If the total mismatch value does not exceed the preset mismatch threshold, proceed to step 606.

[0150] Step 605: Freeze the old predicted target and generate a constraint correction trajectory to trigger backtracking synchronization from the arm. That is, execute steps 502 to 504 above.

[0151] Step 606: Maintain the predictive compensation mode.

[0152] In an optional embodiment, after exiting the prediction mode, the controller compares the predicted trajectory and the actual trajectory in real time during each target control cycle to obtain the comparison result. If the comparison result for each target control cycle meets a preset difference threshold, the controller restarts the prediction mode. That is, the controller begins executing steps 204 to 206.

[0153] In this embodiment, if the robotic arm has positional errors, angular velocity errors, direction reversals, or curvature abrupt changes exceeding a threshold, a polynomial correction trajectory is used to smoothly return the slave arm to the vicinity of the actual master arm trajectory, reducing the distance between the master arm and the slave arm, enabling the master arm and the slave arm to operate synchronously, and improving the accuracy of the robotic arm control method.

[0154] In one exemplary embodiment, the multidimensional joint metrics include one or more of angular velocity, angular acceleration, angular jerk, and the difference between the joint reference position and the joint predicted position.

[0155] In implementation, multi-dimensional joint indices include at least one joint index. These indices include angular velocity, angular acceleration, angular jerk, joint reference position, and the difference between joint positions. Using at least one of angular velocity, angular acceleration, and angular jerk as the multi-dimensional joint index reduces joint movement variations, i.e., minimizes joint positional changes.

[0156] In this embodiment, angular velocity, angular acceleration, and angular jerk are set as joint indices. This reduces joint variations during subsequent optimization of position changes, resulting in smoother joint operation and improved joint lifespan. The difference between the joint reference position and the predicted joint position allows the two robotic arms to continuously move closer to each other, enabling synchronized operation and improving the accuracy of the robotic arm control method.

[0157] In one exemplary embodiment, the attribute dataset includes a velocity threshold, an angular acceleration threshold, and an angular jerk threshold, such as... Figure 7 As shown, a rolling optimization model needs to be constructed before performing trajectory optimization. Therefore, before step 204 is executed, the specific processing procedure of this robotic arm control method also includes steps 702 to 708. Wherein:

[0158] Step 702: With the goal of minimizing the changes in multi-dimensional joint indices, construct the joint motion optimization function based on the joint reference position in each control cycle.

[0159] In implementation, the controller aims to minimize the changes in multi-dimensional joint indicators and constructs a motion optimization function for the joint based on the joint reference position in each control cycle.

[0160] In an exemplary embodiment, the multi-dimensional joint indices include angular velocity, angular acceleration, angular jerk, and the difference between the joint reference position and the joint predicted position. The controller aims to minimize the changes in angular velocity, angular acceleration, and angular jerk, as well as the difference between the joint reference position and the joint predicted position, and constructs a motion optimization function for the joint based on the joint's anchor position in each control cycle. The motion optimization function is shown in the following formula (7):

[0161] (7)

[0162] In the above formula (7), Indicates the number of control cycles. Indicates the historical verification period. Indicates the first One control cycle. Indicates the first Joint prediction position for each control cycle. Indicates the first Joint reference position for each control cycle. The weight represents the difference between the joint reference position and the joint prediction position. Indicates the first The norm of the difference between the joint reference position and the joint prediction position for each control cycle.

[0163] Indicates the first The change in angular velocity between each control cycle and the historical verification cycle. Indicates the first The weight of the change in angular velocity between each control cycle and the historical verification cycle. Indicates the first The change in angular acceleration between each control cycle and the historical verification cycle. Indicates the first The weight of the change in angular acceleration between each control cycle and the historical verification cycle. Indicates the first -1 control cycle of angular jerk. Indicates the first -1 control cycle weight of angular jerk.

[0164] Step 704: Construct the joint state update function based on the joint's historical motion dataset and the second-order Taylor expansion algorithm.

[0165] The historical motion data includes historical position, historical angular velocity, historical angular acceleration, and historical jerk. The state update functions include position update functions, angular velocity update functions, and angular acceleration update functions.

[0166] In implementation, the controller generates a position update function based on historical position, historical angular velocity, historical angular acceleration, historical jerk, and a second-order Taylor expansion algorithm. The controller also generates an angular velocity update function based on historical angular velocity, historical angular acceleration, historical jerk, and a second-order Taylor expansion algorithm. The controller further generates an angular acceleration update function based on historical angular acceleration, historical jerk, and a second-order Taylor expansion algorithm. The position update function is shown in formula (8), the angular velocity update function is shown in formula (9), and the angular acceleration update function is shown in formula (10).

[0167] (8)

[0168] (9)

[0169] (10)

[0170] Among them, in the above formulas (8), (9) and (10), This indicates the historical position of the historical verification cycle (in the case of multi-control cycle calculation). It can also indicate the position of the joint in the current control cycle being processed. This represents the historical angular velocity over the historical verification period (in the case of multi-control period calculation). It can also represent the angular velocity of the joint in the current control cycle being processed. This represents the historical angular acceleration over the historical verification period (in the case of multi-control period calculations). It can also represent the angular acceleration of the joint in the current control cycle being processed. The historical angular accelerometer represents the historical verification cycle (in the case of multi-control cycle calculation). It can also represent the angular jerk of the joint in the current control cycle being processed. It represents a change over time, that is, an event within a control cycle. This indicates the predicted position of the target control cycle (in the case of multi-control cycle calculations). It can also represent the predicted position of the joint in the next cycle of the current control cycle being processed. This represents the predicted angular velocity of the target control cycle (in the case of multi-control cycle calculation). It can also represent the predicted angular velocity of the joint in the next cycle of the current control cycle being processed. This represents the predicted angular acceleration of the target control cycle (in the case of multi-control cycle calculation). It can also represent the predicted angular acceleration of the joint in the next cycle of the current control cycle being processed.

[0171] This indicates the historical verification period (or the current control period being processed in the case of multiple control period calculations). This indicates the target control cycle (or, in the case of multi-control cycle calculation, the next control cycle of the current control cycle being processed).

[0172] Step 706: Generate motion constraints for the joints based on the preset attribute dataset.

[0173] The attribute dataset includes velocity threshold, angular acceleration threshold, and angular jerk threshold.

[0174] In implementation, the controller generates motion constraints for the joints based on velocity thresholds, angular acceleration thresholds, and angular jerk thresholds. The motion constraints are shown in formula (11) below:

[0175] (11)

[0176] In the above formula (11), Angular velocity threshold Angular acceleration threshold This is the threshold for angular acceleration. Indicates the first The change in angular velocity between each control cycle and the historical verification cycle. Indicates the first The change in angular acceleration between each control cycle and the historical verification cycle. Indicates the first -1 control cycle of angular jerk.

[0177] Step 708: Construct a rolling optimization model for the joint based on the motion optimization function, state update function, and motion constraints.

[0178] In implementation, the controller combines the motion optimization function, the state update function, and the motion constraint function to obtain the rolling optimization model of the joint.

[0179] Optionally, when solving the rolling optimization model, any of the following implementations can be used: model predictive control, quadratic programming rolling solution, or other finite time domain optimization algorithms.

[0180] In this embodiment, by constructing a rolling optimization model, the future trajectory prediction can take into account both the current motion trend and dynamic constraints during the subsequent optimization of position changes using the rolling optimization model, thereby improving the accuracy and stability of delay compensation and extending the lifespan of the robotic arm.

[0181] In one exemplary embodiment, such as Figure 8 As shown, the specific processing procedure of step 206 includes steps 802 to 806. Wherein:

[0182] Step 802: Based on the predicted motion datasets of each joint, determine the main arm predicted trajectory of the master arm and the slave arm predicted trajectory of the slave arm, and based on the historical motion datasets of each joint, determine the main arm historical motion dataset of the master arm and the slave arm historical motion dataset of the slave arm.

[0183] The main arm includes each first joint, and the secondary arm includes each second joint.

[0184] In implementation, the controller determines the main arm's predicted trajectory based on the predicted motion datasets of each first joint, and determines the slave arm's predicted trajectory based on the predicted motion datasets of each second joint. Then, the controller determines the main arm's historical motion dataset based on the historical motion datasets of each first joint, and determines the slave arm's historical motion dataset based on the historical motion datasets of each second joint.

[0185] Specifically, for each control cycle, the controller combines the predicted motion datasets of each first joint according to their positions from top to bottom within that control cycle to obtain the predicted motion dataset of the master arm for that control cycle. Then, the controller combines the predicted motion datasets of each master arm in the order of each control cycle to obtain the predicted trajectory of the master arm.

[0186] For each control cycle, the controller combines the predicted motion datasets of each second joint according to their positions from top to bottom, to obtain the predicted motion dataset of the slave arm for that control cycle. Then, the controller combines the predicted motion datasets of each slave arm in the order of each control cycle to obtain the predicted trajectory of the slave arm.

[0187] The controller combines the historical motion datasets of each first joint within the control cycle according to their positions from top to bottom to obtain the historical motion dataset of the master arm. It also combines the historical motion datasets of each second joint within the control cycle according to their positions from top to bottom to obtain the historical motion dataset of the slave arm.

[0188] Step 804: Determine the reference position of the main arm based on the predicted trajectory of the slave arm and the preset feedforward compensation weight of the main arm side, and generate the main arm control command based on the reference position of the main arm and the historical motion dataset of the main arm.

[0189] In implementation, the controller determines the main boom reference position in the target control cycle based on the slave boom's predicted trajectory, the main boom's historical motion dataset, and preset main boom-side feedforward compensation weights. Based on this reference position, the controller then determines the main boom reference angular velocity. Finally, the controller generates main boom control commands based on the main boom reference position and the main boom's historical motion dataset.

[0190] Specifically, the controller determines the target position of the slave arm in the target control cycle from the slave arm's predicted trajectory and determines the historical position of the slave arm from the slave arm's historical motion dataset. Then, the controller determines the historical position and historical angular velocity of the master arm from the master arm's historical motion dataset. Based on the slave arm's historical position, target position, and preset master arm-side feedforward compensation weights, the controller determines the master arm's reference position in the target control cycle and determines the master arm's reference angular velocity based on the master arm's reference position, reference angular velocity, historical position, and historical angular velocity. Finally, the controller generates master arm control commands based on the master arm's reference position, reference angular velocity, historical position, and historical angular velocity.

[0191] Step 806: Based on the predicted trajectory of the master arm, determine the reference position of the slave arm, and generate slave arm control commands according to the slave arm reference position and the slave arm historical motion dataset.

[0192] In implementation, the controller determines the slave arm reference position for the next control cycle based on the master arm's predicted trajectory, and then determines the slave arm reference velocity based on the slave arm reference position. Finally, the controller generates slave arm control commands based on the slave arm reference position, slave arm reference velocity, and the slave arm's historical motion dataset.

[0193] Specifically, the controller determines the predicted position of the main arm in the next control cycle from the predicted trajectory of the main arm, and sets this predicted position as the reference position of the slave arm. Then, based on the slave arm reference position, the controller determines the slave arm reference velocity, and based on the slave arm's historical motion dataset, determines the slave arm's historical position and historical angular velocity. Finally, the controller generates slave arm control commands based on the slave arm reference position, reference velocity, historical position, and historical angular velocity.

[0194] In this embodiment, the master arm reference position is determined by the slave arm's predicted trajectory, and the master arm control commands are determined by the master arm reference position. This achieves master arm-side reference feedforward compensation, which reduces the operator's direct perception of the slave arm's actual lag and decreases the master arm's latency. Simultaneously, determining the slave arm reference position by the master arm's predicted trajectory and determining the slave arm control commands by the slave arm reference position achieves slave arm-side compensation, enabling the slave arm to actively approach the position the master arm is about to reach, reducing slave arm latency and improving the accuracy of the robotic arm management method.

[0195] In one exemplary embodiment, each control cycle includes a target control cycle and the next control cycle after the target control cycle, such as... Figure 9 As shown, the specific processing procedure of step 804 includes steps 902 to 908. Wherein:

[0196] Step 902: Determine the target position of the slave arm in the target control cycle from the slave arm predicted trajectory, and determine the historical position of the slave arm from the slave arm historical motion dataset.

[0197] The slave arm predicted trajectory includes the predicted position of the slave arm in each control cycle.

[0198] In implementation, the controller determines the predicted position of the slave arm during the target control cycle from the slave arm's predicted trajectory as the target position of the slave arm. Then, the controller determines the historical position of the slave arm from the slave arm's historical motion dataset.

[0199] Step 904: Determine the historical position and historical angular velocity of the main arm from the main arm historical motion dataset.

[0200] In practice, the controller determines the historical position and angular velocity of the main arm from the historical motion dataset of the main arm.

[0201] Step 906: Based on the slave arm's historical position, slave arm's target position, and preset master arm side feedforward compensation weights, determine the master arm's reference position in the target control cycle, and determine the master arm's reference angular velocity based on the master arm's reference position.

[0202] In implementation, the controller is pre-set with feedforward compensation weights on the main boom side. Based on the main boom reference position algorithm, the controller processes the slave boom's historical position, target slave boom position, and feedforward compensation weights on the main boom side to obtain the main boom reference position during the target control cycle. Then, the controller calculates the main boom reference angle based on the main boom reference position. The main boom reference position algorithm is shown in the following formula (12):

[0203] (12)

[0204] In the above formula (12), From the perspective of the arm's historical position, To the target position of the arm, The feedforward compensation weight is used on the main arm side. . The reference position for the main arm.

[0205] Step 908: Generate main boom control commands based on the main boom reference position, main boom reference angular velocity, main boom historical position, and main boom historical angular velocity.

[0206] In implementation, the controller processes the main boom reference position, main boom reference angular velocity, main boom historical position, and main boom angular velocity according to the main boom control law algorithm to obtain the main boom control law. Then, the controller generates main boom control commands based on the main boom control law. The main boom control law algorithm is shown in the following formula (13):

[0207] (13)

[0208] In the above formula (13), This is the main arm control law. The reference position for the main arm. Based on the historical position of the main arm, Used as the reference angular velocity for the main arm. The historical angular velocity of the main arm. This refers to the proportional gain on the main arm side of the PD proportional-differential controller (controller) of the robotic arm. This refers to the differential gain on the main arm side of the PD proportional-differential controller (controller) of the robotic arm.

[0209] In one exemplary embodiment, Figure 10 This is a flowchart illustrating forward tracking from the arm side in an exemplary embodiment. Figure 10 As shown, the specific process of arm-leading tracking includes:

[0210] Step 1001: Determine the arm historical motion dataset.

[0211] Step 1002: Predict the slave arm's predicted trajectory in each control cycle.

[0212] Step 1003 uses the predicted trajectory of the arm as a reference feedforward in PD (Proportional-Derivative Control) or impedance control.

[0213] In this embodiment, the main arm reference position is determined by the predicted trajectory of the slave arm, and the main arm control command is determined by the main arm reference position. This realizes the main arm side reference feedforward compensation, which can reduce the operator's direct perception of the actual lag of the slave arm and reduce the delay of the main arm.

[0214] In one exemplary embodiment, each control cycle includes a target control cycle and the next control cycle after the target control cycle, such as... Figure 11 As shown, the specific processing procedure of step 806 includes steps 1102 to 1106. Wherein:

[0215] Step 1102: Determine the predicted position of the main arm in the next control cycle from the main arm predicted trajectory, and set the predicted position of the main arm as the reference position of the slave arm.

[0216] In implementation, the main boom predicted trajectory includes the main boom predicted position for each control cycle. The controller determines the main boom predicted position for the next control cycle of the target control cycle from the main boom predicted trajectory, and sets the main boom predicted position for the next control cycle as the slave arm reference position. The slave arm reference position is shown in the following formula (14):

[0217] (14)

[0218] In the above formula (14), For the reference position of the arm, The predicted position of the main arm for the next control cycle of the target control cycle.

[0219] Step 1104: Determine the reference velocity of the slave arm based on the slave arm reference position, and determine the historical position and historical angular velocity of the slave arm based on the slave arm historical motion dataset.

[0220] In implementation, the controller calculates the slave arm reference velocity based on the slave arm reference position. Then, the controller determines the slave arm historical position and slave arm historical angular velocity from the slave arm historical motion dataset.

[0221] Step 1106: Generate slave arm control commands based on slave arm reference position, slave arm reference speed, slave arm historical position, and slave arm historical angular velocity.

[0222] In implementation, the controller processes the slave arm reference position, slave arm reference speed, slave arm historical position, and slave arm historical angular velocity according to the slave arm control law algorithm to obtain the slave arm control law. Then, the controller generates slave arm control commands based on the slave arm control law. The slave arm control law algorithm is shown in the following formula (15):

[0223] (15)

[0224] In the above formula (15), This is the control law for the arm. From the arm reference position. This is from the historical position of the arm. The reference speed is for the arm. For the historical speed of the arm. This refers to the differential gain on the arm side in the PD proportional-differential controller (controller) of the robotic arm. This refers to the differential gain on the arm side in the PD proportional-differential controller of the robotic arm.

[0225] In one exemplary embodiment, Figure 12 This is a flowchart of the delay sensing blanking process on the main arm side in one embodiment. For example... Figure 12 As shown, the specific processing steps for delay sensing blanking on the main arm side include:

[0226] Step 1201: Determine the historical motion dataset of the main arm.

[0227] Step 1202: Predict the main boom's trajectory in each control cycle.

[0228] Step 1203: The slave arm tracks the predicted trajectory of the master arm as a reference, driving the slave arm to move ahead.

[0229] In this embodiment, the reference position of the slave arm is determined by the predicted trajectory of the master arm, and the control command of the slave arm is determined by the reference position of the slave arm. This achieves compensation on the slave arm side, enabling the slave arm to actively approach the position that the master arm is about to reach, reducing the slave arm's latency and improving the accuracy of the robotic arm management method.

[0230] In one exemplary embodiment, Figure 13 This is an architecture diagram of a robotic arm control method in an exemplary embodiment. (See diagram below.) Figure 13 As shown, the architecture of this robotic arm control method includes: a master arm controller, a slave arm controller, a master arm-side prediction and compensation module, a mismatch and backtracking compensation mechanism module, and a slave arm-side prediction and compensation module.

[0231] The main arm is operated by the operator. The main arm controller is used for PD (Power Distribution), dynamic feedforward, and slave arm desired position feedforward compensation. The main arm-side prediction compensation module is used to predict the future position of the slave arm based on the slave arm's historical state sequence position and velocity acceleration, and superimposes it onto the PD controller.

[0232] The slave arm controller is used to control the slave arm to perform actions, as well as the master arm to predict motion, detect absences, and trigger backtracking.

[0233] The mismatch and backtracking compensation mechanism module is used to freeze the old prediction logic, generate a constrained trajectory, and initiate backtracking synchronization if the main arm motion prediction from the arm end is distorted.

[0234] The arm-side prediction and compensation module is used to predict the future position of the main arm based on the position, velocity, and acceleration of the main arm's historical state sequence, and then superimpose it onto the actual joint angle of the slave arm.

[0235] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0236] Based on the same inventive concept, this application also provides a robotic arm control device for implementing the robotic arm control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more embodiments of the robotic arm control device provided below can be found in the limitations of the robotic arm control method described above, and will not be repeated here.

[0237] In one exemplary embodiment, such as Figure 14 As shown, a robotic arm control device 1400 is provided, including: an acquisition module 1401, an optimization module 1402, and a generation module 1403, wherein:

[0238] The acquisition module 1401 is used to acquire the historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle; the joint reference position is used to characterize the initial motion trajectory of the joint.

[0239] The optimization module 1402 is used to optimize the motion trajectory of the position change in each control cycle according to the rolling optimization model, so as to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed with the goal of minimizing the change of multi-dimensional joint indicators. The multi-dimensional joint indicators are used to control the position change of the robotic arm.

[0240] The generation module 1403 is used to generate master arm control commands for the master arm and slave arm control commands for the slave arm based on the predicted motion datasets of each joint; the master arm control commands and slave arm control commands are used to control the movement of the robotic arm.

[0241] In one exemplary embodiment, the acquisition module 1401 includes:

[0242] The first acquisition submodule is used to determine the historical verification period corresponding to the target control period within the target control period, and to acquire the historical motion dataset and the historical joint predicted motion dataset for each joint within the historical verification period.

[0243] The first judgment submodule is used to determine whether the robotic arm meets the preset prediction mismatch conditions based on the historical motion datasets and the historical joint prediction motion datasets.

[0244] The second acquisition submodule is used to acquire the joint reference position of each joint in each preset control cycle if the robotic arm does not meet the predicted mismatch conditions.

[0245] In an exemplary embodiment, the first judgment submodule is specifically configured to determine the mismatch deviation of the robotic arm based on each historical motion dataset and each historical joint predicted motion dataset; the mismatch deviation includes one or more of position deviation, angular velocity deviation and angular acceleration deviation; obtain the turning penalty value of the robotic arm, and determine the total mismatch value based on the mismatch deviation and / or the turning penalty value; and determine whether the robotic arm meets the preset predicted mismatch condition based on the relationship between the total mismatch value and the preset mismatch threshold.

[0246] In an exemplary embodiment, the robotic arm control device 1400 is further configured to: if the robotic arm meets the predicted mismatch condition, determine the historical position of the master arm based on each historical motion dataset; and generate slave arm control commands for the slave arm based on a polynomial correction trajectory algorithm with the goal of approaching the historical position of the master arm.

[0247] In one exemplary embodiment, the multidimensional joint metrics include one or more of angular velocity, angular acceleration, angular jerk, and the difference between the joint reference position and the joint predicted position.

[0248] In an exemplary embodiment, the robotic arm control device 1400 is further configured to: construct a motion optimization function for the joint based on the joint reference position in each control cycle with the goal of minimizing the changes in multi-dimensional joint indices; construct a state update function for the joint based on the joint's historical motion dataset and a second-order Taylor expansion algorithm; generate motion constraints for the joint based on a preset attribute dataset; and construct a rolling optimization model for the joint based on the motion optimization function, the state update function, and the motion constraints.

[0249] In one exemplary embodiment, the generation module 1403 includes:

[0250] The first determination submodule is used to determine the main arm predicted trajectory of the main arm and the slave arm predicted trajectory of the slave arm based on the predicted motion datasets of each joint, and to determine the main arm historical motion dataset and the slave arm historical motion dataset based on the historical motion datasets of each joint.

[0251] The first generation submodule is used to determine the reference position of the main arm based on the predicted trajectory of the slave arm and the preset feedforward compensation weight of the main arm side, and to generate the main arm control command based on the reference position of the main arm and the historical motion dataset of the main arm.

[0252] The second generation submodule is used to determine the slave arm reference position based on the master arm's predicted trajectory, and generate slave arm control commands based on the slave arm reference position and the slave arm's historical motion dataset.

[0253] In an exemplary embodiment, each control cycle includes a target control cycle and the next control cycle of the target control cycle. The first generation submodule is specifically used for: determining the target position of the slave arm in the target control cycle from the slave arm predicted trajectory, and determining the historical position of the slave arm from the slave arm historical motion dataset; determining the historical position and historical angular velocity of the main arm from the main arm historical motion dataset; determining the reference position of the main arm in the target control cycle based on the slave arm historical position, the slave arm target position, and the preset main arm side feedforward compensation weight, and determining the reference angular velocity of the main arm based on the main arm reference position; and generating the main arm control command based on the main arm reference position, the main arm reference angular velocity, the main arm historical position, and the main arm historical angular velocity.

[0254] In an exemplary embodiment, each control cycle includes a target control cycle and the next control cycle of the target control cycle. The second generation submodule is specifically used to: determine the predicted position of the main arm in the next control cycle in the predicted trajectory of the main arm, and determine the predicted position of the main arm as the reference position of the slave arm; determine the reference velocity of the slave arm based on the reference position of the slave arm, and determine the historical position and historical angular velocity of the slave arm based on the historical motion dataset of the slave arm; and generate slave arm control commands based on the reference position, reference velocity, historical position, and historical angular velocity of the slave arm.

[0255] Each module in the aforementioned robotic arm control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0256] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 15 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores the data required for the robotic arm control method. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a robotic arm control method.

[0257] Those skilled in the art will understand that Figure 15 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0258] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0259] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0260] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0261] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0262] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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, they should be considered to be within the scope of this application.

[0263] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A robotic arm control method, characterized in that, The robotic arm includes a master arm and a slave arm; both the master arm and the slave arm include joints; the method includes: The historical motion dataset of each joint and the joint reference position of each joint in each preset control cycle are obtained; each joint reference position is used to characterize the initial motion trajectory of the joint. The position change of each control cycle is optimized using a rolling optimization model to obtain a re-optimized predicted motion dataset for each control cycle. The rolling optimization model aims to minimize the changes in multi-dimensional joint indices and is constructed based on the reference positions of each joint, the historical motion dataset, and a preset attribute dataset. The multi-dimensional joint indices are used to control the position change of the robotic arm. The rolling optimization model includes a motion optimization function, a state update function, and constraints. Based on the predicted motion datasets of each joint, the predicted trajectory of the master arm and the predicted trajectory of the slave arm are determined, and based on the historical motion datasets of each joint, the historical motion datasets of the master arm and the slave arm are determined. Based on the predicted trajectory of the slave arm and the preset feedforward compensation weight of the master arm, the reference position of the master arm is determined, and the master arm control command is generated based on the reference position of the master arm and the historical motion dataset of the master arm. Based on the predicted trajectory of the master arm, the reference position of the slave arm is determined, and slave arm control commands are generated according to the slave arm reference position and the slave arm historical motion dataset; the master arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

2. The method according to claim 1, characterized in that, The step of obtaining the historical motion dataset of each joint and the joint reference position in each preset control cycle includes: Within the target control cycle, the historical verification cycle corresponding to the target control cycle is determined, and the historical motion dataset and the historical joint predicted motion dataset for each joint within the historical verification cycle are obtained. Based on the historical motion datasets and the historical joint predicted motion datasets, determine whether the robotic arm meets the preset prediction mismatch conditions; If the robotic arm does not meet the predicted mismatch condition, obtain the joint reference position of each joint in each preset control cycle.

3. The method according to claim 2, characterized in that, The step of determining whether the robotic arm meets the preset prediction mismatch conditions based on each of the historical motion datasets and each of the historical joint prediction motion datasets includes: Based on the historical motion datasets and the historical joint predicted motion datasets, the mismatch deviation of the robotic arm is determined; the mismatch deviation includes one or more of position deviation, angular velocity deviation, and angular acceleration deviation. Obtain the turning penalty value of the robotic arm, and determine the total mismatch value based on the mismatch deviation and / or the turning penalty value; Based on the relationship between the total mismatch value and the preset mismatch threshold, it is determined whether the robotic arm meets the preset predicted mismatch conditions.

4. The method according to claim 3, characterized in that, The predicted mismatch condition is that the total mismatch value is greater than the mismatch threshold.

5. The method according to claim 2, characterized in that, After determining whether the robotic arm meets the preset prediction mismatch conditions based on each of the historical motion datasets and each of the historical joint prediction motion datasets, the method further includes: If the robotic arm meets the predicted mismatch condition, the historical position of the main arm is determined based on each of the historical motion datasets. With the target being close to the historical position of the master arm, the slave arm control command is generated based on the polynomial correction trajectory algorithm.

6. The method according to claim 1, characterized in that, The multidimensional joint parameters include one or more of the following: angular velocity, angular acceleration, angular jerk, and the difference between the joint reference position and the joint predicted position.

7. The method according to claim 1, characterized in that, Before performing motion trajectory optimization processing on the position change amount of each control cycle based on the rolling optimization model to obtain the re-optimized predicted motion dataset for each control cycle, the method further includes: With the goal of minimizing the changes in multi-dimensional joint indices, a motion optimization function for the joint is constructed based on the joint reference position in each control cycle. Based on the joint's historical motion dataset and the second-order Taylor expansion algorithm, a state update function for the joint is constructed. Based on a preset attribute dataset, generate motion constraints for the joint; Based on the motion optimization function, the state update function, and the motion constraints, a rolling optimization model for the joint is constructed.

8. The method according to claim 1, characterized in that, Each control cycle includes a target control cycle and the next control cycle of the target control cycle. The step involves determining the main arm reference position based on the slave arm's predicted trajectory and the preset main arm side feedforward compensation weights, and generating main arm control commands based on the main arm reference position and the main arm's historical motion dataset, including: The slave arm target position in the target control cycle is determined from the slave arm predicted trajectory, and the slave arm historical position is determined from the slave arm historical motion dataset; Based on the main arm's historical motion dataset, determine the main arm's historical position and historical angular velocity; Based on the slave arm's historical position, the slave arm's target position, and the preset master arm side feedforward compensation weight, the master arm's reference position in the target control cycle is determined, and the master arm's reference angular velocity is determined based on the master arm's reference position. Based on the main boom reference position, the main boom reference angular velocity, the main boom historical position, and the main boom historical angular velocity, main boom control commands are generated.

9. The method according to claim 1, characterized in that, Each control cycle includes a target control cycle and the next control cycle of the target control cycle. The step involves determining the slave arm reference position based on the master arm's predicted trajectory, and generating slave arm control commands based on the slave arm reference position and the slave arm's historical motion dataset, including: The predicted position of the main arm in the next control cycle is determined in the predicted trajectory of the main arm, and the predicted position of the main arm is determined as the reference position of the slave arm. Based on the slave arm reference position, the slave arm reference velocity is determined, and based on the slave arm historical motion dataset, the slave arm historical position and slave arm historical angular velocity are determined. Based on the slave arm reference position, the slave arm reference speed, the slave arm historical position, and the slave arm historical angular velocity, slave arm control commands are generated.

10. A robotic arm control device, characterized in that, The robotic arm includes a master arm and a slave arm; both the master arm and the slave arm include joints; the device includes: The acquisition module is used to acquire the historical motion dataset of each joint and the joint reference position of the joint in each preset control cycle; each joint reference position is used to characterize the initial motion trajectory of the joint. The optimization module is used to optimize the motion trajectory of the position change in each control cycle according to the rolling optimization model, so as to obtain the re-optimized predicted motion dataset for each control cycle. The rolling optimization model is constructed based on the reference position of each joint, the historical motion dataset, and the preset attribute dataset, with the goal of minimizing the change of multi-dimensional joint indicators. The multi-dimensional joint indicators are used to control the position change of the robotic arm. The rolling optimization model includes a motion optimization function, a state update function, and constraints. A generation module is configured to determine the main arm predicted trajectory and the slave arm predicted trajectory based on the predicted motion datasets of each of the joints, and to determine the main arm historical motion dataset and the slave arm historical motion dataset based on the historical motion datasets of each of the joints; determine the main arm reference position based on the slave arm predicted trajectory and a preset main arm side feedforward compensation weight, and generate main arm control commands based on the main arm reference position and the main arm historical motion dataset; determine the slave arm reference position based on the main arm predicted trajectory, and generate slave arm control commands based on the slave arm reference position and the slave arm historical motion dataset; the main arm control commands and the slave arm control commands are used to control the movement of the robotic arm.

Citation Information

Patent Citations

  • Two-arm cooperative control method and device of robot, control equipment and medium

    CN121179424A

  • Mechanical arm trajectory tracking control method fusing model prediction and sliding mode control

    CN121973219A