Method for determining damping coefficient of robot, method for determining interpolation joint angle of robot, electronic equipment and robot

By determining the robot's damping coefficient, the correlation between the target interpolation position error and the damping coefficient threshold and the singular threshold are solved, the problem of high randomness of the damping coefficient is improved, and the accuracy of the robot parameters is improved and singular point avoidance is performed.

CN119427425AActive Publication Date: 2025-02-14GREE ELECTRIC APPLIANCE INC OF ZHUHAI
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411503769.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-02-14
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

In the prior art, the robot's damping coefficient has strong randomness, resulting in greater fluctuations in robot-related parameters (such as joint angles, postures, etc.) and affects accuracy.

Method used

By obtaining the target interpolation position error and determining the damping coefficient threshold and singular threshold corresponding to the target interpolation position error based on its association with the damping coefficient threshold and the singular threshold, the damping coefficient is determined.

Benefits of technology

The randomness of the damping coefficient is reduced, the accuracy of the robot-related parameters is improved, and the wrist singular point avoidance and inverse kinematics are simultaneously performed during the calculation of interpolation joint angles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119427425A_ABST
    Figure CN119427425A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a method for determining a damping coefficient of a robot, a method for determining an interpolation joint angle of the robot, electronic equipment and the robot, and belongs to the field of robots. The method for determining the damping coefficient of the robot comprises the following steps: acquiring a target interpolation pose error; determining a damping coefficient threshold value and a singular threshold value corresponding to the target interpolation position error according to an association relationship between the target interpolation position error and the damping coefficient threshold value and the singular threshold value; and determining the damping coefficient according to a damping coefficient threshold and a singular threshold corresponding to the target interpolation position error. According to the embodiment of the invention, the randomness of the damping coefficient is reduced to a certain extent, and the singular point problem of the robot is synchronously considered by introducing the singular threshold, so that the solution result of the subsequent inverse kinematics solution based on the damping coefficient is more accurate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robots, and in particular, to a method for determining a damping coefficient of a robot, a method for determining an interpolation joint angle of a robot, an electronic device, and a robot. Background Art

[0002] At present, the robots in industrial production mainly perform tasks related to parts handling, product processing and assembly, welding between parts, and product surface grinding and painting. With the increasing demand for personalized customized production tasks, traditional industrial robots have the defects of poor adaptability and insufficient flexibility in flexible product lines. Therefore, multi-axis redundant robots are gradually recognized and used by enterprises in the industrial production process because of their flexible operation and the ability to use their redundant characteristics to achieve tasks such as interference avoidance, circular welding, and high-density placement.

[0003] In a multi-axis redundant robot, how to accurately determine the damping coefficient and accurately solve the robot inverse solution is very important for determining the robot's posture. However, the damping coefficient determined by the existing method is highly random. Summary of the invention

[0004] The embodiments of the present application provide a method for determining the damping coefficient of a robot, a method for determining the interpolation joint angle of a robot, an electronic device and a robot, so as to at least solve the technical problem that the damping coefficient of the prior art has a strong randomness, thereby reducing the volatility of robot-related parameters (for example, joint angles, postures, etc.) determined based on the damping coefficient and improving the accuracy.

[0005] According to a first aspect of an embodiment of the present application, there is provided a method for determining a damping coefficient of a robot, wherein the robot has a wrist singularity, the method comprising:

[0006] Get the target interpolation pose error;

[0007] Determine the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error according to the correlation relationship between the target interpolation position error and the damping coefficient threshold and the singular threshold;

[0008] The damping coefficient is determined according to a damping coefficient threshold and a singularity threshold corresponding to the target interpolation position error.

[0009] According to a second aspect of an embodiment of the present application, there is provided a method for determining an interpolation joint angle of a robot, wherein the robot has a wrist singularity, the method comprising:

[0010] Determine the damping coefficient of the robot using the method described in the second aspect of the embodiment of the present application;

[0011] Obtaining the joint angular velocity of the robot and the posture differential velocity of the current interpolation point and the previous interpolation point on the motion trajectory;

[0012] The interpolation joint angle of the current interpolation point is determined according to a first association relationship between the joint angular velocity, the posture differential velocity and the base Jacobian matrix of the robot, and a second association relationship between the damping coefficient and the base Jacobian matrix.

[0013] According to a fourth aspect of an embodiment of the present application, an electronic device is provided, the electronic device comprising:

[0014] a memory for storing one or more computer instructions;

[0015] A processor is used to implement the method described in the first aspect or the second aspect of the embodiment of the present application according to the computer instructions.

[0016] According to a third aspect of the embodiments of the present application, a robot is provided, wherein the robot has a singular wrist, and the robot adopts the method described in the first aspect or the second aspect of the embodiments of the present application, or has the electronic device described in the fourth aspect of the embodiments of the present application.

[0017] By adopting the embodiments of the present application, on the one hand, the randomness of the damping coefficient determined by the prior art can be reduced, and a damping coefficient that is beneficial to improving the subsequent calculation efficiency can be determined; on the other hand, the accuracy of the subsequently calculated interpolated joint angle can be improved; on the other hand, by introducing a singularity threshold in the calculation of the damping coefficient, wrist singularity point avoidance and inverse kinematics solution can be performed simultaneously in the process of calculating the interpolated joint angle. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 is a flow chart of a method for determining a damping coefficient of a robot provided in an embodiment of the present application;

[0019] Figure 2 is a flow chart of a method for determining an interpolation joint angle of a robot provided in an embodiment of the present application;

[0020] Figure 3 is a flow chart of a method for determining an interpolation joint angle of a robot provided in an embodiment of the present application;

[0021] Figure 4 It is a flow chart of a method for real-time inverse solution of kinematics and precision compensation of a seven-axis robot arm according to an embodiment of the present application;

[0022] Figure 5 is a connecting rod coordinate system of a seven-axis robot arm according to an embodiment of the present application;

[0023] Figure 6 is a DH parameter table according to an embodiment of the present application;

[0024] Figure 7 is a schematic diagram of a theoretically planned Cartesian space straight line trajectory according to an embodiment of the present application;

[0025] Fig. 8A is a spatial trajectory curve of joints 1 to 3 of a seven-axis robot arm according to an embodiment of the present application;

[0026] Figure 8B is a spatial trajectory curve of joints 4 to 7 of a seven-axis robot arm according to an embodiment of the present application;

[0027] Fig. 9 is a schematic diagram of an actual interpolation according to an embodiment of the present application;

[0028] Fig. 10A is a schematic diagram of interpolation point position error according to an embodiment of the present application;

[0029] Fig. 10B is a schematic diagram of an interpolation point posture error according to an embodiment of the present application;

[0030] Fig.11 is a system schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0031] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0032] It should be understood that the "plurality" mentioned in this article refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and so on are used to distinguish between the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second" and so on do not limit the quantity and execution order, and the words "first", "second" and so on do not limit certain different

[0033] In addition, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus that includes a series of steps or elements is not necessarily limited to those steps or elements explicitly listed, but may include other steps or elements not explicitly listed or inherent to such process, method, product, or apparatus.

[0034] First, the terms involved in the embodiments of the present application are introduced.

[0035] Multi-axis redundant robot: refers to a robot or robot system with more degrees of freedom than those required for a specific task. For example, for a task with specified end position and posture, six degrees of freedom is the minimum number of degrees of freedom required for the task. Then robots with more than seven axes, six-axis robots with guide rails or positioners, and multiple robot coordinated operation systems can all be called redundant robots in a broad sense.

[0036] The position and posture of a robot arm / robot usually includes two parts: position and orientation. Position describes the coordinates of the end effector of the robot arm in three-dimensional space, while orientation describes the direction of the end effector relative to a reference coordinate system. These two parts of information together constitute the complete position and posture description of the robot arm.

[0037] Interpolation pose: refers to the process of calculating a series of intermediate poses based on the starting pose and the target pose in the motion planning of the robot arm through a certain algorithm, so that the robot arm can smoothly transition from the starting pose to the target pose. In this process, factors such as the robot arm's kinematic constraints, dynamic characteristics, and task requirements need to be considered. There are many methods for interpolation poses of the robot arm, and the following are common ones:

[0038] Linear interpolation: In Cartesian space, the position of the robot end effector is directly linearly interpolated while keeping the posture unchanged or performing simple posture interpolation. This method is simple and intuitive, but may not meet complex motion requirements.

[0039] Circular interpolation: Plan an arc on the robot's motion path so that the robot moves along the arc trajectory. This method can smoothly change the robot's posture while reducing shock and vibration during movement.

[0040] Spline interpolation: Use spline curves (such as B-spline, NURBS curves, etc.) to plan the motion trajectory of the robot arm to achieve a smoother and more natural motion effect. This method requires higher computational complexity, but can achieve more precise and flexible motion control.

[0041] Joint space interpolation: In the joint space, the angles of each joint of the robot are directly interpolated, and the corresponding Cartesian space pose is obtained by inverse kinematics. This method can make full use of the joint performance of the robot, but it may be difficult to handle complex motion trajectories.

[0042] Taking linear interpolation as an example, the implementation steps are roughly as follows:

[0043] Determine the starting and target poses: Determine the starting and target poses of the robot arm according to the task requirements. Calculate position interpolation: In Cartesian space, linearly interpolate the starting and target positions to obtain a sequence of intermediate positions. Posture interpolation (optional): If the posture needs to be changed, the posture can be interpolated using methods such as the equivalent axis-angle coordinate system representation. Inverse kinematics solution: Use the interpolated intermediate poses (including position and posture) as input, and obtain the corresponding joint angle sequence through inverse kinematics solution. Control the movement of the robot arm: Based on the joint angle sequence obtained by the solution, control the robot arm to move according to the planned motion trajectory.

[0044] Wrist singularity: It is a special situation encountered by the robot during movement. It occurs under the specific configuration of the robot joints, resulting in a reduction in the robot's degrees of freedom or a sudden change in the joint speed due to a small movement at the end. Wrist singularity is a type of singularity point in industrial robots. It mainly occurs when the robot's wrist joint (usually the 4th and 6th axes) is in a specific position, causing the robot's kinematic performance to become abnormal. Conditions for occurrence: Wrist singularity usually occurs when the 4th and 6th axes are parallel, that is, when the angle of the 5th axis (usually the wrist rotation axis) is 0° or close to 0°. At this time, the forward rotation of the 4th axis can be compensated by the reverse rotation of the 6th axis, resulting in an infinite number of solutions for the pose of a point in space.

[0045] Solving the joint angle based on the damped least squares method is an important step in interpolating the pose. Among them, the selection of the damping coefficient affects the calculation efficiency and accuracy of the algorithm. Traditionally, the value of the damping coefficient is selected based on a fixed expression or empirical formula, which obviously has a lot of randomness, resulting in a large fluctuation in the accuracy of the calculated joint angle.

[0046] In this regard, an embodiment of the present application provides a method for determining a damping coefficient of a robot, wherein the robot has a wrist singularity, such as Figure 1 As shown, the method includes the following processing.

[0047] S100: Obtain target interpolation posture error.

[0048] Here, the target interpolation pose error can be understood as the maximum allowable interpolation pose error.

[0049] The maximum interpolation posture error includes: the robot TCP (Tool Center Point) end position error and posture error. Position error refers to the deviation vector between the actual interpolation position of the robot and the theoretical planning position, usually composed of three components on the X, Y and Z axes.

[0050] S102: Determine the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error according to the correlation between the target interpolation position error and the damping coefficient threshold and the singular threshold.

[0051] In this embodiment, the correlation between the target interpolation pose error and the damping coefficient threshold and the singularity threshold is determined in advance, or a tool (for example, a network model) that can determine or reflect the correlation between the target interpolation pose error and the damping coefficient threshold and the singularity threshold is pre-designed.

[0052] S104: Determine a damping coefficient according to a damping coefficient threshold and a singularity threshold corresponding to the target interpolation position error.

[0053] The method provided in this embodiment determines the damping coefficient threshold and singularity threshold corresponding to the target interpolation position error according to the correlation between the target interpolation posture error and the damping coefficient threshold and singularity threshold, and determines the damping coefficient according to the damping coefficient threshold and singularity threshold corresponding to the target interpolation position error. Therefore, compared with the prior art of selecting the value of the damping coefficient based on a fixed expression or empirical formula, it not only reduces the randomness of the damping coefficient to a certain extent, but also synchronously considers the singularity problem of the robot by introducing the singularity threshold. This makes the subsequent solution result of inverse kinematics based on the damping coefficient more accurate.

[0054] Optionally, in an implementation of this embodiment, S102 is implemented in the following manner: the target interpolation posture error is input into a network model that takes the target interpolation posture error as input and takes the damping coefficient threshold and singular threshold as output, and obtains the damping coefficient threshold and singular threshold corresponding to the target interpolation position error. In this implementation, the trained network model is used to reflect or determine the correlation between the target interpolation posture error and the damping coefficient threshold and singular threshold, which is conducive to more accurately determining the preferred damping coefficient, thereby improving the accuracy and efficiency of the inverse kinematics solution.

[0055] The network model may be a BP network model or a convolutional neural network model. The input data used by the network model during training include: interpolation posture error, and the output data used by the network model during training include: a damping coefficient threshold and a singular threshold corresponding to the interpolation posture error.

[0056] Exemplarily, the training data can be trained using random data. For example, the maximum value of the damping coefficient (i.e., the damping coefficient threshold) and the singular threshold are input randomly. Based on these two parameters, the damped least square method can be used to solve the robot inverse kinematics, and then the compensation algorithm is used to compensate the desired result to obtain the corresponding joint angles (actually solved joint angles). The error between the posture corresponding to the joint angle and the theoretical given position is the interpolation posture error in the training model data. In this way, the input data used for training: the interpolation posture error, and the output data used for training: the maximum value of the damping coefficient and the singular threshold are obtained.

[0057] Exemplarily, the training process may adopt a conventional model training process, which is not described in detail in the embodiments of the present application.

[0058] Optionally, in an implementation of this embodiment, S104 may be implemented in the following manner: determining the damping coefficient according to the damping coefficient and the Gaussian distribution law of the damping coefficient threshold and the singularity threshold corresponding to the target interpolation position error.

[0059] Specifically, the damping coefficient is determined based on the following Gaussian distribution function:

[0060] Where λ represents the damping coefficient, max represents the damping coefficient threshold corresponding to the target interpolation position error, ε represents the singular threshold corresponding to the target interpolation position error, and k represents the condition number in the Gaussian distribution function. The Gaussian distribution function is continuous and smooth, which means that it is defined at all points and its derivative exists. Therefore, it is more convenient to use the Gaussian distribution function for mathematical operations in the scenario applied in this embodiment, especially when performing differentiation and integration.

[0061] Figure 2 A method for determining an interpolation joint angle of a robot according to an embodiment of the present application, wherein the robot has a wrist singularity. The method includes the following processing.

[0062] S200: Obtain the damping coefficient of the robot. For details, please refer to Figure 1 The illustrated embodiment obtains the damping coefficient of the robot.

[0063] S202: Obtaining the posture differential velocity of the current interpolation point and the previous interpolation point on the motion trajectory of the robot, wherein "obtaining" includes multiple methods such as obtaining by calculation and directly obtaining from known information.

[0064] S204: Determine the joint angular velocity of the current interpolation point according to the conversion relationship between the joint angular velocity of the current interpolation point and the posture differential velocity, wherein the conversion relationship includes the damping coefficient.

[0065] S206: Determine the interpolation joint angle of the current interpolation point according to the joint angular velocity of the current interpolation point.

[0066] By adopting the method provided in this embodiment, on the one hand, the damping coefficient that is beneficial to improving the subsequent calculation efficiency is determined by using the method for determining the damping coefficient of the robot provided in the previous text; on the other hand, the joint angular velocity of the current interpolation point is calculated according to the conversion relationship between the joint angular velocity of the current interpolation point and the posture differential velocity (the damping coefficient is introduced in the conversion relationship), and then the interpolation joint angle of the current interpolation point is calculated, thereby improving the accuracy of the calculated interpolation joint angle; on the other hand, since a singular threshold is introduced in the calculation of the damping coefficient, wrist singularity avoidance and inverse kinematics solution can be performed simultaneously in the calculation process of the interpolation joint angle.

[0067] Taking the seven-axis robot as an example, it is divided into two configurations: SRS and non-SRS. The SRS configuration refers to the robot arm with 1 axis, 2 axis, and 3 axis collinearly and 5 axis, 6 axis, and 7 axis collinearly. The non-SRS configuration refers to the robot arm with 1 axis, 2 axis, and 3 axis not collinearly or 5 axis, 6 axis, and 7 axis not collinearly. For the inverse kinematics solution problem of the two configurations, the inverse kinematics solution methods can be divided into two categories: closed solution (geometric method) and numerical solution (iterative method, transposition method, and pseudo-inverse method). The closed solution has fast solution speed, high efficiency, and is easy to control in real time, but it is generally limited to the solution of SRS configuration robots. The numerical solution is highly versatile and can take into account the inverse kinematics solution of both SRS and non-SRS configuration robots at the same time, but it needs to solve a nonlinear set of equations, and the result is not unique. In addition, it cannot guarantee the solution of all solutions and the accuracy of the solved posture.

[0068] There are some existing technologies, such as using the standard DH parameter method to establish the DH parameter model of the 7-axis robot, and obtaining the expression of the transformation matrix of the 7-axis robot from the base coordinate system to the flange coordinate system according to the robot's forward motion algorithm. Then, an iterative algorithm is used to solve the above equations to obtain the inverse joint angles of the 7-axis robot, thus realizing the inverse kinematic solution of the 7-axis robot. However, the inverse method is not very versatile and is difficult to apply to singular point avoidance.

[0069] For another example, by creating a virtual six-axis robot that satisfies the Pieper criterion (the Pieper criterion is an important criterion in robotics, which provides important guidance for solving the robot's inverse kinematics. By following the Pieper criterion, the robot's inverse kinematics problem can be solved more effectively, thereby improving the robot's performance and stability) for the biased seven-axis robot, the real-time inverse kinematics calculation problem of the biased seven-axis robot is solved based on the inverse kinematics solution of the virtual six-axis robot and combined with the detection fitting method. However, this inversion method does not consider the robot singularity problem and is not very universal.

[0070] Compared with the prior art, the method provided in this embodiment can avoid singularities and solve inverse kinematics for seven-axis robots with SRS configuration and non-SRS configuration based on the strong versatility of the inverse solution method.

[0071] Optionally, in an implementation of this embodiment, the conversion relationship satisfies:

[0072]

[0073] Wherein: vel_joint represents the joint angular velocity of the current interpolation point, σ 1 ,σ 2 ...,σ m represents the singular value of the Jacobian matrix of the base, λ represents the damping coefficient, Ui and Vi represent the left and right singular vectors of the Jacobian matrix of the base, respectively. represents the posture differential velocity, and m is a positive integer.

[0074] By adopting the present implementation, the damping coefficient is introduced into the conversion relationship, which can not only avoid the conversion relationship being unable to be solved due to the denominator being 0, but also calculate a relatively accurate joint angular velocity.

[0075] Among them, the following method can be used to obtain the Ui and Vi. First, the joint angle of the previous interpolation point is obtained; then, the transfer matrix between the links of the robot is determined according to the joint angle of the previous interpolation point; then, the base Jacobian matrix is ​​determined according to the calculation relationship between the transfer matrix, the relative Jacobian matrix and the base Jacobian matrix; finally, the base Jacobian matrix is ​​decomposed by SVD to obtain the Ui and Vi. Please refer to the following for a detailed description of this process.

[0076] Optionally, in an implementation of this embodiment, as Figure 3 As shown, the method also includes the following processing.

[0077] S300: Determine the posture of the current interpolation point based on the interpolation joint angle of the current interpolation point.

[0078] S302: Determine whether the error between the current interpolation point's pose and the theoretical planning pose is less than a set threshold. If so, execute S304; otherwise, execute S306.

[0079] S304: The interpolation joint angle of the current interpolation point is valid. In other words, the interpolation joint angle of the current interpolation point is set as the actual interpolation angle.

[0080] S306: After adjusting the posture differential speed according to the error between the posture of the current interpolation point and the theoretical planning posture, the interpolation joint angle of the current interpolation point is re-determined according to the posture differential speed after the adjustment.

[0081] In this embodiment, by repeatedly executing S300 - S306 , a valid interpolated joint angle can be finally obtained.

[0082] Optionally, in S306, the posture differential speed may be adjusted according to the error between the posture of the current interpolation point and the theoretical planning posture in the following manner:

[0083] First, the error of the posture differential velocity is determined according to the error between the posture of the current interpolation point and the theoretical planning position; then, return to step S202, and the posture of the current interpolation point and the previous interpolation point are calculated.

[0084] The error of the posture differential velocity is subtracted from the posture differential velocity to obtain a new posture differential velocity. S204 and subsequent processing are then performed according to the new posture differential velocity.

[0085] By adopting the method provided in this embodiment, accuracy compensation can be performed when the error between the posture of the current interpolation point and the theoretical planning posture is not less than a set threshold, thereby more efficiently determining the interpolation joint angle that meets the requirements.

[0086] Figure 4 1 is a flow chart of a seven-axis robot arm kinematics real-time inverse solution and precision compensation method according to an embodiment of the present application. Figure 4 ,The method is taken as an example of application to linear interpolation, and includes the following processing.

[0087] Step 1: Train the network model. Specifically, use the empirical formula to obtain a large amount of data between the maximum value of the damping coefficient, the singular threshold and the interpolation pose error, and then use the neural network to train the pre-set network model, where the interpolation pose error is the network input, and the maximum value of the damping coefficient and the singular threshold are the network outputs;

[0088] Step 2: Determine the damping coefficient. Specifically, based on the required maximum interpolation pose error (ie, the target interpolation pose error) and the previous network model, the corresponding damping coefficient is obtained.

[0089] Step 3: Given the planned pose of the current interpolation point of the linear trajectory, the actual pose of the previous interpolation point, and the actual joint angle of the previous interpolation point;

[0090] Step 4: Calculate the TCP differential velocity. Specifically, calculate the pose differential velocity vel_pos between the current interpolation point and the previous interpolation point.

[0091] Pose Differential Velocity describes the rate of change of the end effector (such as gripper, tool, etc.) of a robot or manipulator in the pose space. Pose usually consists of two parts: position and attitude. Position refers to the coordinates of the end effector in space, while attitude describes its orientation or direction. Pose differential velocity can be decomposed into linear velocity and angular velocity:

[0092] Linear velocity: describes the linear motion speed of the end effector in space, that is, the velocity vector along a certain direction. This velocity vector usually has three components, corresponding to the speed on the three coordinate axes of X, Y, and Z.

[0093] Angular velocity: describes the rotation speed of the end effector around its center of mass or a fixed point. It is usually represented by a vector whose direction is the direction of the rotation axis and whose magnitude is the angular velocity of the rotation (in radians per second).

[0094] Step 5: Calculate the transfer matrix between the links. Specifically, introduce the joint angle of the previous interpolation point in step 3 into the forward kinematics module to obtain the transfer matrix between the links. The forward kinematics module, also known as the forward kinematics model, refers to the relationship between the position and posture of the robot's end effector and the robot's joint angle. In other words, given the angle of the robot's joint, the forward kinematics module can calculate the exact position and posture of the robot's end effector. This model is one of the most basic models in the field of robot control and is crucial for achieving robot posture control, target position calculation, simulation and other tasks.

[0095] Step 6: Calculate the relative Jacobian matrix T J. Specifically, the relative Jacobian matrix is ​​calculated based on the transfer matrix between the links.

[0096] Step 7: Calculate the base Jacobian matrix J. Specifically, based on the conversion relationship between the relative Jacobian matrix and the base Jacobian matrix, the base Jacobian matrix J can be calculated.

[0097] Step 8: SVD decomposition of the base Jacobian matrix J. Specifically, perform SVD decomposition on the base Jacobian matrix to obtain the U, S, and V matrices. Among them, U is the unit matrix composed of eigenvectors, S is the diagonal matrix composed of eigenvalues, and V is the unit matrix composed of eigenvectors. The formula is as follows:

[0098] J=U*S*V T (1)

[0099] Step 9: Introduce the general relationship:

[0100] Specifically, the relationship between the joint angular velocity vel_joint and the posture differential velocity vel_pos is introduced, and then vel_pos calculated in step 4 and J obtained in step 8 are substituted into the above general formula (2) to obtain the general formula:

[0101] Step 10: Introduce the damping coefficient and calculate the joint angular velocity vel_joint of the current interpolation point. Specifically, if the denominator σ i If it is 0, the result will be infinite. To avoid the denominator being 0, the damping coefficient λ is introduced into the general formula (3) in step 9 to obtain:

[0102]

[0103] Among them, vel_joint: represents the joint angular velocity;

[0104] σ 1 ,σ 2 ...,σ m : singular values ​​of J;

[0105] λ: damping coefficient;

[0106] Ui, Vi: left and right singular vectors of the Jacobian matrix;

[0107] TCP differential speed.

[0108] Furthermore, the joint angular velocity vel_joint of the current interpolation point can be calculated.

[0109] Step 11: Calculate the joint angle corresponding to the current interpolation point;

[0110] Step 12: Introduce the forward kinematics module to obtain the actual pose corresponding to the current interpolation point;

[0111] Step 13: Determine whether the error between the actual pose corresponding to the current interpolation point and the theoretical planned pose is less than the pose accuracy threshold (ie, the set threshold).

[0112] More specifically, in step 13, the actual posture corresponding to the current interpolation point is subtracted from the theoretical planned posture, and the error between the postures is calculated to obtain the joint angular velocity to be compensated.

[0113] Step 14: If it is less than the pose accuracy threshold, the calculated joint angle is set as the actual interpolation angle and the process ends. If it is greater than the pose accuracy threshold, the pose error of the current interpolation point is calculated and fed back to step 4, and the subsequent steps are repeated until the process ends.

[0114] More specifically, Figure 1 The biggest reason for the maximum interpolation posture error mentioned in the illustrated embodiment, in addition to the error in the robot's mechanical structure itself, is that the damping coefficient λ is additionally introduced into the original mathematical model (i.e., Formula 4) in order to ensure that the Jacobian matrix is ​​reversible at the singular point, which also causes errors.

[0115] Similarly, the posture error is also a deviation vector due to the introduction of the damping coefficient λ. When the ZYX method is used to describe the Euler angle, the posture error consists of three components: alphy Euler angle, beta Euler angle, and gamma Euler angle. Since λ is artificially introduced in formula (4), there will be errors in the calculation results. Therefore, when the posture error is greater than the posture accuracy threshold, the joint angular velocity to be compensated corresponding to the posture error is used to compensate the TCP differential velocity in step 4, and then step 5 and subsequent processing are continued according to the compensated TCP differential velocity.

[0116] The method provided in this embodiment uses a seven-axis industrial robot as an experimental object, but is not limited to a seven-axis industrial robot and can be applied to all multi-axis robots with wrist peculiarities.

[0117] The method provided in this embodiment uses an improved damped least squares method combined with a feedforward precision compensation algorithm to solve the inverse solution of the seven-axis robot arm. The training of the damping coefficient is not limited to the use of a neural network algorithm, and other machine learning algorithms such as deep learning, reinforcement learning, etc. can also be used to train the damping coefficient and use genetic algorithms and ant colony algorithms for optimization. Secondly, the posture error is not limited to being fed back to the original damped least squares formula, and the posture error can also be fed back to other precision compensation algorithms, and this application does not limit this.

[0118] The method provided by this embodiment provides a high-precision inverse solution method for a multi-axis robot. Taking a seven-axis industrial robot as an example, this method is simultaneously applicable to the seven-axis robots of SRS configuration and non-SRS configuration for singularity avoidance and inverse kinematics solution, and greatly improves the accuracy of the solution. Specifically, on the one hand, the damping coefficient optimized by this embodiment and the damped least squares method are used to find the optimal inverse solution. Among them, the damping coefficient will affect the solution accuracy and efficiency, so the BP neural network is used to train the model of the maximum interpolation position error and the damping coefficient of the robot of this model in advance, and the damping coefficient is determined based on the required maximum interpolation error, which can realize the dynamic adjustment of the optimal damping coefficient, thereby greatly improving the accuracy of the solution. On the other hand, the posture error caused by the damping coefficient is compensated for by feedforward until the posture accuracy threshold requirement is met, thereby improving the accuracy of the final result.

[0119] In a specific implementation of this embodiment, a seven-axis robot arm kinematics real-time inverse solution and precision compensation method includes the following processing procedures.

[0120] Step 1: Use the empirical formula to obtain a large amount of data between the maximum value of the damping coefficient, the singular threshold and the interpolation pose error, and then use the neural network to train the previous network model, in which the interpolation pose error is the network input, and the maximum value of the damping coefficient and the singular threshold are the network outputs.

[0121] Step 2: Given the required maximum interpolation pose errors of 0.1 mm and 0.1°, and based on the network model, obtain the corresponding maximum value of the damping coefficient λ max is 1.8, the singular domain value ε is 300, and then the damping coefficient λ is determined based on the Gaussian distribution function;

[0122]

[0123] In the formula, λ max ——maximum value of damping factor; ε——singular threshold; k——condition number.

[0124] Step 3: Establish the robot link coordinate system, such as Figure 5 As shown; determine the robot's DH parameters, such as Figure 6 As shown in the table.

[0125] in, Figure 5 The figure shows the mapping relationship between the robot joint angle and the terminal TCP posture determined by the DH modeling method. The DH modeling method is to establish a coordinate system fixed to each link of the robot according to certain rules, and determine the length and rotation angle parameters of different links themselves and the offset and joint angle parameters between adjacent links through the position relationship between adjacent coordinate systems. Finally, according to the coordinate system transformation formula between adjacent links, the above parameters are substituted into the formula to solve the position and posture of the terminal link relative to the robot base. It is a conventional method. Figure 5 The coordinate systems shown are all determined based on the joint rotation and the right-hand rule, which is a conventional approach.

[0126] exist Figure 6 In the table, the DH parameters include the length of the connecting rod a i , connecting rod angle α i , adjacent connecting rod offset d i and the joint angle θ i The connecting rod parameters are defined as: the length of the connecting rod a i For along X i Axis, from Z i Move to Z i+1 Distance; connecting rod angle α i For around X i Axis, from Z i Rotate to Z i+1 Angle; connecting rod offset d i Along Zi Axis, from X i-1 Move to X i The distance between the joint angle θ i Along Z i Axis, from X i-1 Rotate to X i angle.

[0127] Specifically, in step 3, the straight line trajectory planning method can be used for Cartesian space trajectory planning. For example, given the planned pose of the current interpolation point of the straight line trajectory is P[127.3, 47.7, 1029.8, 24.6, -10.2, -176.4], the actual pose of the starting point P0[127, 47.4, 1029.9, 24.4, -10.1, -176.5], the starting point joint angle J0[10, 10, 10, 10, 15, 10, 10] and the ending point joint angle J1[20, 20, 20, 20, 20, 50].

[0128] Step 4: Calculate the position and attitude differential velocity vel_pos between the current interpolation point and the previous interpolation point. The position velocity is obtained through position transformation, and the attitude velocity is obtained through quaternion transformation.

[0129] Step 5: Introduce the joint angle of the previous interpolation point in step 3 into the forward kinematics module to obtain the transfer matrix between the links.

[0130] Step 6: Calculate the relative Jacobian matrix T J;

[0131]

[0132] Step 7: Based on the conversion relationship between the relative Jacobian matrix and the base Jacobian matrix, the base Jacobian matrix J can be calculated.

[0133]

[0134] Step 8: Perform SVD decomposition on the base Jacobian matrix to obtain U, S, and V matrices, where U is the unit matrix composed of eigenvectors, S is the diagonal matrix composed of eigenvalues, and V is the unit matrix composed of eigenvectors.

[0135] J=U*S*V T

[0136] Step 9: Introduce the general formula of the relationship between the joint angular velocity vel_joint and the end pose velocity vel_pos, and then substitute the vel_pos calculated in step 4 and J obtained in step 8 into the following general formula:

[0137]

[0138] Step 10: Introduce the damping coefficient λ to obtain;.

[0139]

[0140] Step 11: Calculate the joint velocity vel_joint of the current interpolation point.

[0141] Step 12: Calculate the joint angle corresponding to the current interpolation point. For example, the joint angle corresponding to the current interpolation point can be determined based on vel_joint, the interpolation period of the controller (for example, 0.004s) and the joint angle of the previous pose.

[0142] Step 13: Introduce the forward kinematics module to obtain the actual pose corresponding to the current interpolation point.

[0143] Step 14: Determine whether the error between the actual pose corresponding to the current interpolation point and the theoretical planned pose is less than the pose accuracy threshold.

[0144] Step 15: If it is less than the pose accuracy threshold, set the calculated joint angle as the actual interpolation angle and end; if it is not less than the pose accuracy threshold, calculate the pose error of the current interpolation point and feed it back to step 4, and loop the subsequent steps until the end.

[0145] Step 16: Given the planned straight line trajectory at the end, Figure 7 As shown. Follow the above steps to solve the inverse solution corresponding to the linear interpolation posture and obtain the joint trajectory graph, as shown in Fig. 8A and Figure 8B Then substitute the obtained joint trajectory into the forward kinematics to obtain the actual interpolation posture, as shown in Fig. 9 As shown in Figure 2, and compared with the theoretical pose, we get Fig. 10A and 10B The pose interpolation error diagram shown in Figure 2 is shown in Figure 2. Fig. 8A And the joint trajectory corresponding to the path shown in 8B ( Fig. 8A and Figure 8B Represents the actual interpolated joint space trajectory), it can be seen that ① the damping coefficient combined with the damped least squares method and the precision compensation algorithm adopted in the embodiment of the present application can correctly calculate the inverse solution of the seven-axis robot arm; ② its corresponding joint trajectory is smooth, satisfying the continuity of speed, acceleration and agility; ③ it is synchronously imported into the no-load for verification, meeting the real-time requirements.

[0146] The present application also provides an electronic device, including a memory and a processor, wherein the memory stores computer instructions, and the processor is used to call the computer instructions to implement the method provided in the present application, for example, to implement Figure 1-Figure 4 The method provided in any one of the embodiments.

[0147] Specifically, Fig.11 As shown, the electronic device includes a processor 100, at least one communication bus 200, a user interface 300, at least one external communication interface 400 and a memory 500. The communication bus 200 is configured to achieve connection and communication between these components. The user interface 300 may include a display screen, and the external communication interface 400 may include a standard wired interface and a wireless interface.

[0148] The present application also provides a computer program product. When the computer program product is executed, the method provided in the present application is implemented. For example, Figure 1-Figure 4 The method provided in any one of the embodiments.

[0149] The present application also provides a computer-readable storage medium in which a computer program product is stored. When the computer program product is executed, the method provided in the present application is implemented, for example, Figure 1-Figure 4 The method provided in any one of the embodiments.

[0150] The description of the above computer program product, computer-readable storage medium, and electronic device is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the computer program product, computer-readable storage medium, and electronic device of this application, please refer to the description of the method embodiment of this application for understanding.

[0151] The present application also provides a robot, which is a multi-axis robot and has a singular wrist. The robot adopts the method provided in the present application, for example, Figure 1-10B The method in the related embodiment, or the robot has Fig.11 Electronic equipment shown.

[0152] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0153] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0154] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0155] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiment of the present application may be a non-volatile storage medium, in other words, a non-transient storage medium.

[0156] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data for analysis, stored data, displayed data, etc.) and signals involved in the embodiments of this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the scene data of the current frame in the three-dimensional virtual scene, the device information of the client, and the scene interaction information involved in the embodiments of this application are all obtained with full authorization.

[0157] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for determining a damping coefficient of a robot having a wrist singularity, characterized in that: The method comprises: Get the target interpolation pose error; Determine the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error according to the correlation relationship between the target interpolation position error and the damping coefficient threshold and the singular threshold; The damping coefficient is determined according to a damping coefficient threshold and a singularity threshold corresponding to the target interpolation position error.

2. The method according to claim 1, characterized in that Determining the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error according to the correlation between the target interpolation position error and the damping coefficient threshold and the singular threshold includes: The target interpolation posture error is input into a network model that takes the target interpolation posture error as input and takes the damping coefficient threshold and singular threshold as output, so as to obtain the damping coefficient threshold and singular threshold corresponding to the target interpolation position error.

3. The method according to claim 2, characterized in that The input data used by the network model during the training process includes: interpolation posture error, and the output data used by the network model during the training process includes: a damping coefficient threshold and a singular threshold corresponding to the interpolation posture error; and / or, The network model is a BP neural network model or a convolutional neural network model.

4. The method according to claim 1, characterized in that Determining the damping coefficient according to the damping coefficient threshold and the singularity threshold corresponding to the target interpolation position error includes: The damping coefficient is determined according to the damping coefficient and the Gaussian distribution law of the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error.

5. The method according to claim 4, characterized in that The determining the damping coefficient according to the damping coefficient and the Gaussian distribution law of the damping coefficient threshold and the singular threshold corresponding to the target interpolation position error comprises: The damping coefficient is determined based on the following Gaussian distribution function: Wherein, λ represents the damping coefficient, λ max represents the damping coefficient threshold corresponding to the target interpolation position error, ε represents the singular threshold corresponding to the target interpolation position error, and k represents the condition number in the Gaussian distribution function.

6. A method for determining interpolated joint angles of a robot having a wrist singularity, characterized in that: The method comprises: Determine the damping coefficient of the robot using the method as described in any one of claims 1 to 5; Obtaining the posture differential velocity of the current interpolation point and the previous interpolation point on the motion trajectory of the robot; Determine the joint angular velocity of the current interpolation point according to a conversion relationship between the joint angular velocity of the current interpolation point and the posture differential velocity, wherein the conversion relationship includes the damping coefficient; The interpolation joint angle of the current interpolation point is determined according to the joint angular velocity of the current interpolation point.

7. The method according to claim 6, characterized in that The conversion relationship satisfies: in; vel_joint represents the joint angular velocity of the current interpolation point, σ1, σ2..., σ m represents the singular value of the Jacobian matrix of the base, λ represents the damping coefficient, Ui and Vi represent the left and right singular vectors of the Jacobian matrix of the base, respectively. represents the posture differential velocity, and m is a positive integer.

8. The method according to claim 7, characterized in that The method further comprises: Obtaining the joint angle of the previous interpolation point; Determine a transfer matrix between the links of the robot according to the joint angle of the previous interpolation point; Determine the base Jacobian matrix according to the calculation relationship between the transfer matrix, the relative Jacobian matrix and the base Jacobian matrix; The base Jacobian matrix is ​​subjected to SVD decomposition to obtain the Ui and Vi.

9. The method according to claim 6, characterized in that The method further comprises: Determining the pose of the current interpolation point based on the interpolation joint angle of the current interpolation point; Determine whether the error between the pose of the current interpolation point and the theoretical planning pose is less than a set threshold; If it is less than the set threshold, the interpolation joint angle of the current interpolation point is valid, or, If it is not less than the set threshold, the posture differential speed is adjusted according to the error between the posture of the current interpolation point and the theoretical planning posture, and the interpolation joint angle of the current interpolation point is re-determined according to the adjusted posture differential speed.

10. An electronic device, characterized in that: The electronic device comprises: a memory for storing one or more computer instructions; A processor, configured to implement the method according to any one of claims 1 to 9 according to the computer instructions.

11. A robot having a wrist singularity, characterized in that: The robot adopts the method according to any one of claims 1 to 9, or has the electronic device according to claim 10.

Citation Information

Patent Citations

  • Joint singular point treatment method, device, equipment and storage medium

    CN109571481A

  • Inverse solution method and device for seven-joint redundant degree-of-freedom robot

    CN114714335A

  • Inverse kinematics solution method of robot, robot and computer readable storage medium

    CN115179288A

  • Manipulator arm position sensing

    US4893254A