A method for determining the position of the end of a rigid-flexible coupling arm, and a working machine.

By combining the dynamics and mechanics models of the rigid-flexible coupling arm, the deflection is obtained and corrected. Combined with online correction algorithms and neural network models, the problem of large end-position calculation errors in boom-type operating machinery is solved, and high-precision and real-time position determination is achieved.

CN119720424BActive Publication Date: 2025-10-31ZOOMLION HEAVY INDUSTRY SCIENCE AND TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411863723.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-10-31
Estimated Expiration
2044-12-17

AI Technical Summary

Technical Problem

In existing technologies for boom-type operational machinery, dynamic state estimation methods based on high-density grids and segmented elastic body models are difficult to accurately calculate the end position of rigid-flexible coupled booms, resulting in large real-time calculation errors and making it difficult to meet real-time control requirements.

Method used

By acquiring the current joint position and angular velocity of each joint of the robotic arm, and combining the dynamic and mechanical models of rigid and flexible joints, the deflection of the end effector is determined. The end effector position is then corrected by the deflection, and compensation is performed by combining online correction algorithms and neural network models to improve the accuracy and real-time performance of position solving.

Benefits of technology

It improves the accuracy and real-time performance of solving the end-effector position of the robotic arm, meets the requirements of real-time control, and improves the working efficiency and accuracy of the machinery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119720424B_ABST
    Figure CN119720424B_ABST
Patent Text Reader

Abstract

This application relates to a method and a working machine for determining the end-effector position of a rigid-flexible coupled arm. The method includes: acquiring the current joint positions and angular velocities of each joint of the robotic arm; determining the driving torque corresponding to the joint positions and angular velocities of each joint based on a dynamic model of the rigid joint; determining a first position of the end-effector based on the joint positions of each joint; determining the deflection of the end-effector based on the driving torque of each joint based on a mechanical model of the flexible joint; and correcting the first position based on the deflection to determine a second position of the end-effector. This application, in determining the end-effector position, incorporates the influence of the driving torque corresponding to the angular velocity of the joint on the deflection of the end-effector, making the calculated end-effector position more consistent with the real-time motion characteristics of the robotic arm, improving the accuracy of the end-effector position calculation, and better meeting the real-time requirements of end-effector motion estimation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mechanical equipment technology, specifically to a method for determining the position of the end of a rigid-flexible coupling arm and a working machine. Background Technology

[0002] Due to the high degree of rigid-flexible coupling in the boom system, boom-type lifting machinery faces significant challenges in dynamic state estimation. Existing technologies primarily employ dynamic simulation techniques based on high-density meshes and dynamic state estimation techniques based on segmented elastic body models. However, these methods mainly rely on the boom's position information for dynamic state estimation, resulting in substantial real-time calculation errors for the end-effector position and failing to meet the requirements of real-time control. Summary of the Invention

[0003] To address the aforementioned technical problems, this application provides a method, operating machinery, electronic equipment, and storage medium for determining the position of the end effector of a rigid-flexible coupling arm, which can improve the accuracy of solving the position of the end effector and better meet the real-time requirements of end effector motion estimation.

[0004] To address the aforementioned technical problems, this application provides a method for determining the position of the end of a rigid-flexible coupling arm, the method comprising the following steps:

[0005] Obtain the current joint position and angular velocity of each joint of the robotic arm;

[0006] Based on the dynamic model of the rigid joint arm, the driving torque corresponding to the joint position and angular velocity of each joint arm is determined; and, based on the joint position of each joint arm, the first position of the end effector of the robotic arm is determined.

[0007] Based on the mechanical model of the flexible articulated arm, the deflection of the end of the robotic arm is determined according to the driving torque of each articulated arm.

[0008] The first position is corrected based on the deflection to determine the second position of the end of the robotic arm.

[0009] In some embodiments, the mechanical model based on the flexible articulated boom determines the deflection of the end effector of the robotic arm according to the driving torque of each articulated boom, including:

[0010] The external force on each articulated boom is determined based on the driving torque of each articulated boom.

[0011] Based on the mechanical model of the flexible articulated boom, the deflection of the end of each articulated boom is determined according to the external force acting on each articulated boom.

[0012] The deflection of the end of the robotic arm is determined based on the deflection of the end of each articulated arm.

[0013] In some embodiments, the mechanical model based on the flexible articulated boom determines the deflection of the end of each articulated boom according to the external force acting on each articulated boom, including:

[0014] Based on the mechanical model of the flexible articulated boom, the first deflection of the equivalent bending moment of the rear arm of each articulated boom on the cross section of the corresponding articulated boom, the second deflection of the external force on each articulated boom on the cross section of the corresponding articulated boom, and the third deflection of the weight of each articulated boom on the cross section of the corresponding articulated boom are determined.

[0015] The deflection of the end of each articulated boom is determined based on the first deflection, the second deflection, and the third deflection of each articulated boom.

[0016] In some embodiments, after correcting the first position based on the deflection to determine the second position of the end effector of the robotic arm, the method further includes one of the following:

[0017] The second position of the end of the robotic arm is compensated based on the end-effector position compensation model, wherein the end-effector position compensation model is trained based on the second position and the actual position of the end of the robotic arm at different times;

[0018] The second position of the end effector of the robotic arm is corrected based on the first online correction algorithm;

[0019] The second position of the end of the robotic arm is compensated based on the end-position compensation model, and the compensated second position is corrected based on the second online correction algorithm.

[0020] In some embodiments, the step of training the end-effector position compensation model includes:

[0021] Obtain the set of motion trajectories of the end effector of the robotic arm;

[0022] Based on the set of motion trajectories, the end effector of the robotic arm is controlled to move at different speeds, and the actual position of the end effector of the robotic arm at different times and the joint position and angular velocity of each joint arm at different times are collected.

[0023] Based on the joint positions and angular velocities of each articulated arm at different times, the second position of the end effector of the robotic arm at different times is determined, and the position difference between the second position and the actual position at the same time is determined.

[0024] Generate a training dataset, wherein each set of training data in the training dataset includes the joint position and angular velocity of each articulated boom at the same time, and the position difference;

[0025] A preset neural network model is trained based on the training dataset to obtain the end-effector position compensation model. The input of the end-effector position compensation model is the current joint position and angular velocity of each articulated arm, and the output is a compensation value used to compensate the second position of the end of the robotic arm. The compensation value is used to characterize the position difference between the current second position of the end of the robotic arm and the actual position.

[0026] In some embodiments, obtaining the set of motion trajectories of the end effector of the robotic arm includes:

[0027] Based on the movable range of each articulated arm, determine the set of position points of the end effector of the robotic arm;

[0028] Determine the boundary points from the set of location points;

[0029] Determine the polygon boundary based on the boundary points;

[0030] Within the movable range formed by the polygonal boundary, the motion trajectories of the end effector of the robotic arm in different motion directions are planned to obtain the set of motion trajectories.

[0031] In some embodiments, the planning of motion trajectories for different motion directions of the end effector of the robotic arm within the movable range formed by the polygonal boundary, to obtain the set of motion trajectories, includes:

[0032] Starting from the concave point in the polygon boundary, a dividing line is drawn to divide the movable range formed by the polygon boundary into a convex polygon region.

[0033] Plan the motion trajectory perpendicular or parallel to the dividing line within each of the convex polygonal regions at the same path interval;

[0034] The dividing line is rotated by a preset angle, and the same path interval is used to plan the movement trajectory perpendicular to the dividing line in each of the convex polygon regions until the dividing line is rotated to the initial position.

[0035] Obtain all the motion trajectories obtained from the planning to obtain the set of motion trajectories.

[0036] In some embodiments, the step of obtaining the algorithm parameters of the first online correction algorithm includes:

[0037] Using the actual position of the end of the robotic arm as the first observed value and the second position of the end of the robotic arm as the first predicted value, the algorithm parameters of the first online correction algorithm are calculated so that the error between the first observed value and the first predicted value meets the first preset condition.

[0038] And / or, the step of obtaining the algorithm parameters of the second online correction algorithm includes:

[0039] Using the actual position of the end of the robotic arm as the second observed value and the compensated second position of the end of the robotic arm as the second predicted value, the algorithm parameters of the second online correction algorithm are calculated so that the error between the second observed value and the second predicted value meets the second preset condition.

[0040] This application also provides a working machine, including a controller and a robotic arm, the robotic arm including multiple articulated booms, and the controller executing a computer program to implement the method described above for determining the position of the end of the rigid-flexible coupling arm.

[0041] This application also provides an electronic device, including a storage medium and a controller, wherein the storage medium stores a computer program, and the computer program, when executed by the controller, implements the method described above for determining the position of the end of a rigid-flexible coupling arm.

[0042] This application also provides a storage medium storing a computer program that, when executed by a processor, implements the method described above for determining the position of the end of a rigid-flexible coupling arm.

[0043] This application discloses a method and a working machine for determining the end-effector position of a rigid-flexible coupled arm. The method includes: acquiring the current joint positions and angular velocities of each joint of the robotic arm; determining the driving torque corresponding to the joint positions and angular velocities of each joint based on a dynamic model of the rigid joint; determining a first position of the end-effector based on the joint positions of each joint; determining the deflection of the end-effector based on the driving torque of each joint based on a mechanical model of the flexible joint; and correcting the first position based on the deflection to determine a second position of the end-effector. This application, in determining the end-effector position, incorporates the influence of the driving torque corresponding to the angular velocity of the joint on the deflection of the end-effector, making the calculated end-effector position more consistent with the real-time motion characteristics of the robotic arm, improving the accuracy of the end-effector position calculation, and better meeting the real-time requirements of end-effector motion estimation. Attached Figure Description

[0044] Figure 1 This is a flowchart illustrating a method for determining the position of the end of a rigid-flexible coupling arm according to one embodiment.

[0045] Figure 2 This is a schematic diagram illustrating the principle of robotic arm deformation.

[0046] Figure 3 This is a schematic diagram illustrating the principle of articulated boom deformation.

[0047] Figure 4 This is a schematic diagram of the set of position points at the end of a robotic arm, according to one embodiment.

[0048] Figure 5 This is a schematic diagram illustrating the boundary of the movable range obtained by curve fitting according to an embodiment.

[0049] Figure 6 The embodiment shown is based on the Figure 5 A schematic diagram of the polygonal boundary obtained by approximating the boundary in the diagram.

[0050] Figure 7 This is a schematic diagram illustrating motion trajectory planning within a movable range formed by polygonal boundaries, according to one embodiment. Detailed Implementation

[0051] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings. Preferred embodiments of this application are shown in the drawings. However, this application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the disclosure of this application.

[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items. In this application, "each" includes one or more items.

[0053] Figure 1 This is a flowchart illustrating a method for determining the position of the end of a rigid-flexible coupling arm according to one embodiment. Figure 1 As shown, the method for determining the position of the end of a rigid-flexible coupling arm according to this application includes the following steps:

[0054] S1, obtain the current joint position and angular velocity of each joint of the robotic arm;

[0055] S2, based on the dynamic model of the rigid joint arm, determine the driving torque corresponding to the joint position and angular velocity of each joint arm; and, based on the joint position of each joint arm, determine the first position of the end effector of the robotic arm.

[0056] S3, based on the mechanical model of the flexible joint arm, determines the deflection of the end of the robotic arm according to the driving torque of each joint arm;

[0057] S4, correct the first position based on the deflection to determine the second position of the end effector of the robotic arm.

[0058] The robotic arm, also known as the rigid-flexible coupling arm, comprises multiple articulated arms connected in sequence. The current joint position of the articulated arm refers to its position within the robotic arm's operational context, and this position can be characterized by joint angles. The current angular velocity of the articulated arm refers to its angular velocity within the robotic arm's operational context, representing the current speed of the articulated arm's movement.

[0059] Driving torque refers to the torque generated by the driving force of the articulated boom. A dynamic model of a rigid articulated boom is used to characterize the relationship between the joint position, angular velocity, and driving torque. For example, the dynamic model of a rigid articulated boom can be obtained by transforming the Lagrangian function, an energy-based dynamics method where the difference between the kinetic energy E and potential energy P of the mechanical system is the Lagrangian function. It should be noted that the method of obtaining the dynamic model used to characterize the relationship between the joint position, angular velocity, and driving torque of the articulated boom is not limited to this.

[0060] Taking the dynamic model of a rigid articulated boom obtained by deformation using the Lagrangian function as an example, the expression for the Lagrangian function is:

[0061]

[0062] In the formula, This refers to the joint position. Angular velocity, The kinetic energy of the articulated boom. Let be the potential energy of the articulated arm. Differentiating the above equation, we obtain the dynamic equation of motion, namely:

[0063]

[0064] In the formula, Let be the driving torque of the articulated boom. For the articulated boom, the above equation can be further transformed into:

[0065]

[0066] Rearranging the data into a matrix form, we obtain the dynamic model of the rigid articulated boom:

[0067]

[0068] In the formula, n represents the degrees of freedom of the articulated boom; It is the inertia matrix of the articulated boom; It is the matrix of centrifugal force and Coriolis force terms in the joint space; It is the gravity matrix of the articulated boom; , is the driving torque of the articulated boom; These are the joint position, angular velocity, and acceleration matrices of the articulated boom, respectively. The physical quantities in the above formulas are related to the current motion state of the articulated boom, and the specific calculation process can be implemented using existing technology, so it will not be elaborated further.

[0069] Articulated booms possess a degree of flexibility, and their mechanical model can be approximated as a cantilever beam. Based on the elastic deformation and small deformation theory of beams, a mechanical model of the flexible articulated boom can be established. Different angular velocities require different driving torques, which are provided by the hydraulic system and can be considered as being generated by external forces acting on the articulated boom. Under different driving torques, the deformation of the articulated boom also varies. Therefore, the mechanical model of the flexible articulated boom can be used to determine the deflection of the robotic arm's end effector. Specifically, the deflection of the robotic arm's end effector is determined based on the driving torque of each articulated boom.

[0070] The first position of the robotic arm's end effector is determined based on the joint positions of the individual articulated arms. That is, the first position of the robotic arm's end effector is obtained without considering the angular velocities of the articulated arms, and therefore can be obtained based on joint positions using existing techniques. In some embodiments, the first position of the robotic arm's end effector can be calculated using the standard DH matrix of the robotic arm's forward kinematics. The standard DH matrix can be obtained using a coordinate transformation matrix relative to the base coordinates of the robotic arm. To represent, that is:

[0071]

[0072] in:

[0073] ,

[0074] ,

[0075] ,

[0076] ,

[0077] ,

[0078] In the formula, i=0 represents the base, i=1 represents the turntable, i=2 represents the first articulated boom, i-1 represents the (i-1)th articulated boom, and i is the end of the (i-1)th articulated boom; L represents the length of the articulated boom.

[0079] However, the robotic arm moves in real time under the drive of the drive system. The end effector position determined solely based on the position information of the joint boom is a static position, ignoring the real-time motion characteristics of the robotic arm. This results in significant real-time calculation errors and makes it difficult to meet the requirements of real-time control. In this application, the first position is corrected based on the deflection of the robotic arm's end effector to determine the second position. Since the deflection of the robotic arm's end effector is determined based on the driving torque corresponding to the joint positions and angular velocities of each joint boom, and considering the influence of the driving torque of the joint boom on the position of the dynamically moving robotic arm's end effector, the corrected second position is a dynamic position. This makes the calculated position of the robotic arm's end effector more consistent with the characteristics of the robotic arm's real-time motion, improves the accuracy of the solution for the robotic arm's end effector position, and better meets the real-time requirements of end effector motion estimation.

[0080] Taking the first position represented by a standard DH matrix as an example, Given a 4x4 matrix, the last element of the first row, the last element of the second row, and the last element of the third row correspond to the position matrix. When correcting the first position, the end effector of the robotic arm is positioned at... The directional deflection is superimposed on the last element of the first row, placing the end effector of the robotic arm at... The deflection in the y-direction is superimposed onto the last element of the third row. Considering that the operating machinery is basically in a horizontal state during operation (i.e., the operating machinery is not in a tilted state), there can be considered no error in the y-direction, so the last element of the second row is not superimposed. Therefore, by using the deflection of the end effector of the robotic arm... The matrices are superimposed to obtain the second position.

[0081] In some embodiments, step S2, determining the deflection of the robotic arm's end effector based on the mechanical model of the flexible articulated boom and the driving torque of each articulated boom, includes:

[0082] The external forces acting on each joint boom are determined based on the driving torque of each joint boom.

[0083] Based on the mechanical model of the flexible articulated boom, the deflection of the end of each articulated boom is determined according to the external forces acting on each articulated boom.

[0084] The deflection of the robotic arm's end effector is determined based on the deflection of the end effector of each joint arm.

[0085] The relationship between the driving torque of the articulated boom and the external force can be expressed as follows: ,in, The external force acting on the articulated boom. The arm length of the articulated boom. The driving torque corresponding to the articulated boom is understood to be the relationship between the driving torque of the articulated boom and the external force, which is not limited to variations of other formulas.

[0086] After calculating the deflection at the end of each articulated boom, the final deflection of the robotic arm's end is obtained based on the principle of deformation superposition. Specifically, the deformation of each articulated boom in the x and z axes is calculated separately, and then the deformations in the x and z axes are superimposed together. Please refer to [reference needed]. Figure 2 For a robotic arm with n articulated arms, the end effector of the robotic arm is at... Deflection in the direction is , Deflection in the direction is Considering that the working machinery is basically in a horizontal state when working (i.e., the working machinery is not in an inclined state), it can be assumed that there is no deflection in the y direction.

[0087] In some embodiments, based on the mechanical model of the flexible articulated boom, the deflection of the end of each articulated boom is determined according to the external forces acting on each articulated boom, including:

[0088] Based on the mechanical model of the flexible articulated boom, the first deflection of the equivalent bending moment of the rear arm of each articulated boom on the cross section of the corresponding articulated boom, the second deflection of the external force on each articulated boom on the cross section of the corresponding articulated boom, and the third deflection of the self-weight of each articulated boom on the cross section of the corresponding articulated boom are determined.

[0089] Based on the first, second, and third deflections of each articulated boom, the deflection at the end of each articulated boom is determined.

[0090] Please refer to Figure 3 In one embodiment, the deflection at the end of the articulated boom, in addition to considering the second deflection caused by the external force F acting on the cross-section of the corresponding articulated boom, can also be further superimposed with the first deflection caused by the bending moment M of the equivalent force of the rear arm of the articulated boom on the cross-section of the corresponding articulated boom, and the third deflection caused by the weight G of each articulated boom on the cross-section of the corresponding articulated boom. Here, the external force F involved in the deflection calculation is the external force that generates the driving torque, thus reflecting the influence of the driving torque (or angular velocity) of the articulated boom on the end position of the dynamically moving articulated boom.

[0091] Taking the first joint of the robotic arm as an example, the deflection of the cross section caused by the equivalent bending moment M of the rear arm is: The deflection of the cross section caused by the external force F is The deflection of the cross section caused by its own weight G is Therefore, the deflection at the end of the first articulated boom section is The bending moment M can be calculated by combining parameters such as the tilt angle of the articulated boom, the configuration of the rear boom section, and its mass. The specific calculation process can be achieved using existing technologies. The length of the first arm segment, The elastic modulus of the first arm segment, Let the moment of inertia of the first arm section be denoted as . The angle between the first arm segment and the horizontal plane. Desirable .

[0092] By using the above method, the second position of the end effector of the robotic arm can be calculated as the theoretical value of the dynamic position, which improves the accuracy of the solution of the end effector position and better meets the real-time requirements of end effector motion estimation. This serves as the basis for subsequent automatic operation control, thereby improving operation efficiency and accuracy.

[0093] Because the cross-sections of the various joints of the robotic arm are complex and manufacturing gaps are unavoidable at the joints, the end position calculated based on the above method may deviate from the actual position. Therefore, the second position can be further corrected to improve the accuracy of the end position of the robotic arm.

[0094] In some embodiments, after step S3, which corrects the first position based on the deflection to determine the second position of the end effector of the robotic arm, the method further includes one of the following:

[0095] The second position of the end effector of the robotic arm is compensated based on the end effector position compensation model, which is trained based on the second position and the actual position of the end effector of the robotic arm at different times.

[0096] The second position of the end effector of the robotic arm is corrected based on the first online correction algorithm;

[0097] The second position of the end of the robotic arm is compensated based on the end-position compensation model, and the compensated second position is corrected based on the second online correction algorithm.

[0098] The end-effector position compensation model is trained based on the second and actual positions of the robotic arm's end-effector at different times. It compensates for the second position to make the compensated end-effector position closer to the actual position, reducing positional deviation. During the model training phase, the second position can also be calculated using steps S1 to S4, while the actual position can be collected by automatically tracking the end-effector position with a total station. Since the second position used to train the end-effector position compensation model is dynamic, it ensures the effectiveness of the compensation model for the second position during actual operation.

[0099] The first online correction algorithm is used to directly correct the second position of the robotic arm's end effector. Considering the potential errors that may still exist after compensation using the end effector position compensation model, a second online correction algorithm can be further used to correct the second position after compensation based on the end effector position compensation model. The first online correction algorithm and the second online correction algorithm can be the same algorithm or different algorithms, such as edge particle filtering, unscented Kalman filtering, etc. When the first online correction algorithm and the second online correction algorithm are the same algorithm, they use different algorithm parameters to be suitable for directly correcting the second position and for the compensated second position, respectively.

[0100] In some embodiments, the step of training the end-effector position compensation model includes:

[0101] S10, Obtain the set of motion trajectories of the end effector of the robotic arm;

[0102] S20 controls the end effector of the robotic arm to move at different speeds based on the motion trajectory set, and collects the actual position of the end effector of the robotic arm at different times, as well as the joint position and angular velocity of each joint arm at different times.

[0103] S30, based on the joint positions and angular velocities of each joint arm at different times, determine the second position of the end effector of the robotic arm at different times, and determine the position difference between the second position and the actual position at the same time.

[0104] S40, Generate training dataset. Each set of training data in the training dataset includes the joint position and angular velocity of each joint boom at the same time, and the position difference.

[0105] S50, a pre-set neural network model is trained based on the training dataset to obtain an end-effector position compensation model. The input of the end-effector position compensation model is the current joint position and angular velocity of each joint arm, and the output is a compensation value used to compensate for the second position of the end of the robotic arm. The compensation value is used to characterize the position difference between the current second position of the end of the robotic arm and the actual position.

[0106] The set of motion trajectories for the robotic arm's end effector is a set of motion trajectories determined within the operable range of the end effector. Based on this, the end effector is controlled to move at different speeds. During the movement, the actual position of the end effector at different times, as well as the joint positions and angular velocities of each joint of the robotic arm, are collected. A timestamp is determined during data collection to ensure data synchronization. Because the set of motion trajectories can provide diverse motion directions for the end effector, combined with different speeds, it is possible to simulate as many motion scenarios as possible within the operable range of the end effector, resulting in more realistic and comprehensive data, and automating the data collection process.

[0107] Next, based on the joint positions and angular velocities of each articulated boom at different times, the second position of the robotic arm's end effector at different times can be determined using the methods in steps S1 to S4. Then, combined with the collected actual position, the position difference between the second position and the actual position at the same time is determined. Afterwards, the data is processed to generate a training dataset. Each training dataset includes the joint positions and angular velocities of each articulated boom at the same time, along with the position difference. Using the joint positions and angular velocities of each articulated boom at the same time as input and the position difference at the same time as output, a pre-set neural network model is trained to obtain the end effector position compensation model. Thus, when using the end effector position compensation model, the input is the current joint position and angular velocity of each articulated boom, and the output is the position difference between the current second position and the actual position of the robotic arm's end effector, which is the compensation value used to compensate for the second position of the robotic arm's end effector. When applying the end effector position compensation model, the compensation value output by the end effector position compensation model is superimposed onto the second position of the robotic arm's end effector to achieve compensation for the second position.

[0108] The preset neural network model can select a suitable multi-input multi-output neural network model, including but not limited to convolutional neural networks, autoencoder neural networks, modular neural networks, etc., and complete the model training by selecting the appropriate number of network layers and neurons.

[0109] In some embodiments, before training a pre-defined neural network model based on a training dataset, the method further includes:

[0110] Calculate the mean of the position differences at all times;

[0111] Calculate the standard deviation of the position differences at all times;

[0112] Outlier positional differences, along with joint positions and angular velocities at the same time as the outlier positional differences, were eliminated based on the mean and standard deviation.

[0113] The formula for calculating the mean is as follows: The formula for calculating standard deviation is as follows: Abnormal location differences, for example, are for conditions that are met. The position difference. By preprocessing the training data, outliers were removed in advance, further ensuring the accuracy of the end-position compensation model.

[0114] In some embodiments, S10, acquiring a set of motion trajectories of the robotic arm's end effector includes:

[0115] Based on the range of motion of each joint arm, determine the set of position points of the end effector of the robotic arm;

[0116] Determine the boundary points from the set of location points;

[0117] Determine the polygon boundary based on the boundary points;

[0118] Within the movable range defined by the polygonal boundary, the motion trajectories of the robotic arm's end effector in different motion directions are planned, resulting in a set of motion trajectories.

[0119] Each joint of the robotic arm has a limited range of motion. Therefore, the set of end-effector positions can be determined by traversing all the possible ranges of motion of each joint. Figure 4 As shown. For example, the Monte Carlo method can be used to traverse all the range of motion of each articulated arm, but it is not limited to this.

[0120] Figure 4 The set of location points shown can be the direct result of traversal, or it can be the result after further filtering of the traversal results. One process for further filtering the traversal results can be:

[0121] Based on the position points obtained from the traversal, construct a... and The confidence level is represented by the constructed two-dimensional continuous probability density function:

[0122] ,

[0123] In the formula, for The mean, for standard deviation for The mean, for standard deviation for and The correlation coefficient;

[0124] Retain confidence levels greater than preset values The location point, i.e., the one to be retained. Points with confidence levels less than a preset value are removed. The location point. Where the confidence level is less than a preset value. The location point can be considered to be unlikely to move into this area, so it is removed.

[0125] After determining the set of position points at the end effector of the robotic arm, in order to plan the motion trajectory of the end effector in different directions, it is necessary to further determine the movable range corresponding to the set of position points. Specifically, boundary points are determined in the set of position points, and then polygonal boundaries are determined based on the boundary points. At this point, the area formed by the polygonal boundary is the movable range used to plan the motion trajectory. In this way, the motion trajectory can be determined more accurately. Figure 4 The range corresponding to the set of location points shown is then used to plan the motion trajectory within this range, and a suitable number of sample data are collected based on the motion trajectory.

[0126] In some embodiments, the process of determining boundary points from a set of location points may be:

[0127] a. Take any point Find the point with the furthest distance that point That is, one of the boundary points;

[0128] b. with With the origin, Axis forward and reverse rays Scan clockwise to find the point with the smallest rotation angle. , which is one of the boundary points;

[0129] c. with With the origin, Scan the vector direction clockwise to find the point with the smallest rotation angle. , which is one of the boundary points;

[0130] d. Repeat the above steps until the point is found. This means completing the collection of all boundary points.

[0131] In some embodiments, the process of determining the polygon boundary based on boundary points can be:

[0132] a. Curved boundaries obtained through curve fitting, such as Figure 5 As shown by the middle curve;

[0133] b. Take a straight line between the first and second (endpoints) of each segment of the curved boundary;

[0134] c. Find the point on the curve that is the furthest from the straight line;

[0135] d. Connect one endpoint of the curve, the point with the greatest distance, and the other endpoint of the curve in sequence to form an approximate broken line of the curve;

[0136] e. Repeat the above steps to approximate all curved sections, obtaining the polygon boundary, such as... Figure 6 As shown.

[0137] It should be noted that while using polygonal boundaries can make subsequent path planning more efficient, the boundary corresponding to the set of position points at the end of the robotic arm is not limited to polygonal boundaries and path planning can still be achieved.

[0138] In some embodiments, within the movable range defined by the polygonal boundaries, the motion trajectories of the robotic arm's end effector in different motion directions are planned to obtain a set of motion trajectories, including:

[0139] Starting from the concave point in the polygon boundary, a dividing line is drawn to divide the movable range formed by the polygon boundary into a convex polygon region.

[0140] Plan the motion trajectory perpendicular or parallel to the dividing line within each convex polygon region with the same path interval;

[0141] Rotate the dividing line by a preset angle and continue to plan the movement trajectory perpendicular to the dividing line in each convex polygon area at the same path interval until the dividing line rotates back to the initial position.

[0142] Obtain all the motion trajectories obtained from the planning to obtain a set of motion trajectories.

[0143] Please refer to the following: Figure 7 Draw dividing lines starting from the concave point in the polygon boundary; for example, a ray perpendicular to the X-axis downwards from the concave point P. This region is then decomposed into two convex polygonal regions, left and right. Next, a parallel coverage sampling strategy is employed, sampling perpendicular to the ray within both convex polygonal regions at the same path interval ∆d. Path planning. Next, the ray... Rotate ∆θ clockwise, repeat the aforementioned steps, and continue planning motion trajectories perpendicular to the dividing lines within each convex polygon region at the same path intervals. Then rotate ∆θ clockwise again until... Rotating back to the initial position completes the dynamic path coverage within the movable range defined by the polygonal boundaries. Subsequently, sampling the actual position of the robotic arm's end effector and the joint positions and angular velocities of each joint arm based on the motion trajectory set yields more comprehensive dynamic sampling data.

[0144] In some embodiments, the step of obtaining the algorithm parameters of the first online correction algorithm includes:

[0145] Using the actual position of the end effector of the robotic arm as the first observed value and the second position of the end effector of the robotic arm as the first predicted value, the algorithm parameters of the first online correction algorithm are calculated so that the error between the first observed value and the first predicted value meets the first preset condition.

[0146] The process involves obtaining the data sets for the actual position (used as the first observation) and the second position (used as the first predicted value) using steps S10-S30 described earlier, which will not be repeated here. Next, a suitable online correction algorithm is selected, such as edge particle filtering or unscented Kalman filtering, with the optimization objective of minimizing the error between the first observation and the first predicted value. The corresponding iterative optimization parameter matrix and iterative weight parameter matrix are calculated and substituted into the selected online correction algorithm to obtain the first online correction algorithm. During the operation of the robotic arm, the first online correction algorithm can be used to correct the second position in real time, achieving accurate updates to the end-effector position.

[0147] In some embodiments, the step of obtaining the algorithm parameters of the second online correction algorithm includes:

[0148] Using the actual position of the end effector of the robotic arm as the second observed value and the compensated second position of the end effector of the robotic arm as the second predicted value, the algorithm parameters of the second online correction algorithm are calculated so that the error between the second observed value and the second predicted value meets the second preset condition.

[0149] The process involves obtaining the data set of the actual positions used as the second observation value through steps S10-S30 described earlier. The second position obtained using steps S10-S30 is then compensated using an end-effector position compensation model to obtain the data set of the second position used as the second predicted value. This will not be elaborated further here. Next, a suitable online correction algorithm is selected, such as edge particle filtering or unscented Kalman filtering, with the optimization objective of minimizing the error between the second observation value and the second predicted value. The corresponding iterative optimization parameter matrix and iterative weight parameter matrix are calculated and substituted into the selected online correction algorithm to obtain the second online correction algorithm. During the operation of the robotic arm, the second online correction algorithm can be used to correct the second position after model compensation, achieving accurate updates to the end-effector position.

[0150] This application discloses a method for determining the end effector position of a rigid-flexible coupled arm. The method involves acquiring the current joint positions and angular velocities of each joint of the robotic arm; determining the driving torque corresponding to the joint positions and angular velocities of each joint based on a dynamic model of the rigid joint; determining a first position of the end effector based on the joint positions of each joint; determining the deflection of the end effector based on a mechanical model of the flexible joint and the driving torques of each joint; and correcting the first position based on the deflection to determine a second position of the end effector. This application incorporates the influence of the driving torque corresponding to the angular velocity of the joint on the deflection of the end effector, making the calculated position more consistent with the real-time motion characteristics of the robotic arm, improving the accuracy of the end effector position calculation, and better meeting the real-time requirements of end effector motion estimation. Furthermore, dynamic position calculation values ​​are used to train the compensation model, ensuring consistency between real-time data and model training data, guaranteeing the effectiveness of the compensation model. An optimized segmentation method for full path coverage of the end effector is proposed, enabling the acquisition of data under all working conditions, ensuring the accuracy and versatility of the compensation model.

[0151] This application also provides a working machine, including a controller and a robotic arm, the robotic arm including multiple articulated booms, and the controller executing a computer program to implement the method described above for determining the position of the end of the rigid-flexible coupling arm.

[0152] This application also provides an electronic device, including a storage medium and a controller, wherein the storage medium stores a computer program, and the computer program, when executed by the controller, implements the method described above for determining the position of the end of a rigid-flexible coupling arm.

[0153] This application also provides a storage medium storing a computer program that, when executed by a processor, implements the method described above for determining the position of the end of a rigid-flexible coupling arm.

[0154] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. 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 patent application should be determined by the appended claims.

Claims

1. A method for determining the position of the end of a rigid-flexible coupling arm, characterized in that, The method includes the following steps: The current joint position and angular velocity of each joint of the robotic arm are obtained. The robotic arm is a rigid-flexible coupling arm. Based on the dynamic model of the rigid joint arm, the driving torque corresponding to the joint position and angular velocity of each joint arm is determined; and, based on the joint position of each joint arm, the first position of the end effector of the robotic arm is determined. Based on the mechanical model of the flexible articulated arm, the deflection of the end of the robotic arm is determined according to the driving torque of each articulated arm. The first position is corrected based on the deflection to determine the second position of the end of the robotic arm; The mechanical model based on the flexible articulated boom determines the deflection of the end effector of the robotic arm according to the driving torque of each articulated boom, including: The external force on each articulated boom is determined based on the driving torque of each articulated boom. Based on the mechanical model of the flexible articulated boom, the first deflection of the equivalent bending moment of the rear arm of each articulated boom on the cross section of the corresponding articulated boom, the second deflection of the external force on each articulated boom on the cross section of the corresponding articulated boom, and the third deflection of the weight of each articulated boom on the cross section of the corresponding articulated boom are determined. The deflection of the end of each articulated boom is determined based on the first deflection, the second deflection, and the third deflection of each articulated boom. The deflection of the end of the robotic arm is determined based on the deflection of the end of each articulated arm.

2. The method according to claim 1, characterized in that, After correcting the first position based on the deflection to determine the second position of the end effector of the robotic arm, the method further includes one of the following: The second position of the end of the robotic arm is compensated based on the end-effector position compensation model, wherein the end-effector position compensation model is trained based on the second position and the actual position of the end of the robotic arm at different times; The second position of the end effector of the robotic arm is corrected based on the first online correction algorithm; The second position of the end of the robotic arm is compensated based on the end-position compensation model, and the compensated second position is corrected based on the second online correction algorithm.

3. The method according to claim 2, characterized in that, The steps for training the end-effector position compensation model include: Obtain the set of motion trajectories of the end effector of the robotic arm; Based on the set of motion trajectories, the end effector of the robotic arm is controlled to move at different speeds, and the actual position of the end effector of the robotic arm at different times and the joint position and angular velocity of each joint arm at different times are collected. Based on the joint positions and angular velocities of each articulated arm at different times, the second position of the end effector of the robotic arm at different times is determined, and the position difference between the second position and the actual position at the same time is determined. Generate a training dataset, wherein each set of training data in the training dataset includes the joint position and angular velocity of each articulated boom at the same time, and the position difference; A preset neural network model is trained based on the training dataset to obtain the end-effector position compensation model. The input of the end-effector position compensation model is the current joint position and angular velocity of each articulated arm, and the output is a compensation value used to compensate the second position of the end of the robotic arm. The compensation value is used to characterize the position difference between the current second position of the end of the robotic arm and the actual position.

4. The method according to claim 3, characterized in that, The process of acquiring the set of motion trajectories of the end effector of the robotic arm includes: Based on the movable range of each articulated arm, determine the set of position points of the end effector of the robotic arm; Determine the boundary points from the set of location points; Determine the polygon boundary based on the boundary points; Within the movable range formed by the polygonal boundary, the motion trajectories of the end effector of the robotic arm in different motion directions are planned to obtain the set of motion trajectories.

5. The method according to claim 4, characterized in that, Within the movable range formed by the polygonal boundary, the motion trajectories of the robotic arm's end effector in different motion directions are planned to obtain the set of motion trajectories, including: Starting from the concave point in the polygon boundary, a dividing line is drawn to divide the movable range formed by the polygon boundary into a convex polygon region. Plan the motion trajectory perpendicular or parallel to the dividing line within each of the convex polygonal regions at the same path interval; The dividing line is rotated by a preset angle, and the same path interval is used to plan the movement trajectory perpendicular to the dividing line in each of the convex polygon regions until the dividing line is rotated to the initial position. Obtain all the motion trajectories obtained from the planning to obtain the set of motion trajectories.

6. The method according to claim 2, characterized in that, The steps for obtaining the algorithm parameters of the first online correction algorithm include: Using the actual position of the end of the robotic arm as the first observed value and the second position of the end of the robotic arm as the first predicted value, the algorithm parameters of the first online correction algorithm are calculated so that the error between the first observed value and the first predicted value meets the first preset condition. And / or, the step of obtaining the algorithm parameters of the second online correction algorithm includes: Using the actual position of the end of the robotic arm as the second observed value and the compensated second position of the end of the robotic arm as the second predicted value, the algorithm parameters of the second online correction algorithm are calculated so that the error between the second observed value and the second predicted value meets the second preset condition.

7. A type of operating machinery, characterized in that, The device includes a controller and a robotic arm, the robotic arm comprising multiple articulated arms, wherein the controller, when executing a computer program, implements the method for determining the position of the end of a rigid-flexible coupled arm as described in any one of claims 1 to 6.

8. An electronic device, characterized in that, The system includes a storage medium and a controller, wherein the storage medium stores a computer program that, when executed by the controller, implements the method for determining the position of the end of a rigid-flexible coupling arm as described in any one of claims 1 to 6.

9. A storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, implements the method for determining the position of the end of a rigid-flexible coupling arm as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Mechanical arm tail end position error compensation method based on calibration and repair rigid-flexible coupling model

    CN115502968A