Calculation method of robot spatial flexibility based on inverse kinematics

Through the robot space flexibility calculation method based on inverse kinematics, the generalization problem of the flexibility calculation strategy of the 7-degree-of-freedom robot workspace and the accuracy problem of inverse kinematics judgment are solved, and more efficient and accurate flexible calculations are achieved.

CN118664589BActive Publication Date: 2025-05-13HARBIN INST OF TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410741889.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-11
Publication Date
2025-05-13
Estimated Expiration
2044-06-11

AI Technical Summary

Technical Problem

When calculating the flexibility of a 7-degree-of-freedom robot workspace, the strategy lacks generalizability and it is difficult to effectively judge whether there is an inverse kinematic solution for a certain position, and the calculation amount is large and uncertain.

Method used

The spatial flexibility calculation method of robots based on inverse kinematics is adopted to analyze the multi-solution problems in inverse kinematics, and the corresponding inverse kinematics solutions at all arm angles are obtained, and they are screened and judged to ensure the accuracy and generality of the calculation results.

Benefits of technology

The versatility of the 7-degree-of-freedom robotic arm working space calculation is improved, and it can accurately determine whether there is an inverse kinematic solution for a certain position, which reduces the amount of calculation and improves the accuracy of the calculation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118664589B_ABST
    Figure CN118664589B_ABST
Patent Text Reader

Abstract

A method for calculating the spatial flexibility of a robot based on inverse kinematics belongs to the field of robotics technology. S1. Analyze the multiple solution problems in inverse kinematics; S2. Obtain the corresponding inverse kinematic solutions under all arm angles; S3. Screen the solutions obtained in S2 to determine whether a certain posture has an inverse kinematic solution; S4. Calculate the flexibility of the workspace of a 7-DOF manipulator. The present invention is used to solve the versatility problem of the calculation strategy for calculating the flexibility of the workspace of a 7-DOF manipulator. The present invention takes into account the different end joint axis orientation problems and is more versatile. The present invention can solve the problem of how to determine whether a certain posture has an inverse kinematic solution with high accuracy; it has the characteristics of simultaneously considering joint angle restrictions and avoiding singular points, and has the advantage of higher conclusion accuracy. The present invention can solve the multiple solution problem in the process of solving inverse kinematics, filling the program gap in the inverse kinematics solution of a 7-DOF robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of robots, and in particular relates to the problem of calculating the motion space flexibility in robots. Background Art

[0002] Redundant DOF (7 DOF) robots have higher flexibility due to their redundant characteristics. In their path planning, it is usually necessary to make the robot move as much as possible in the area of ​​high flexibility, so that the robot's motion path can be designed as flexibly as possible. The flexibility of a robot refers to the number of feasible postures that the robot can reach a certain point in space with different postures. The larger the value, the better the flexibility of the robot at this point. Therefore, judging whether a given posture has an inverse kinematic solution is a prerequisite for calculating flexibility. In the existing methods for calculating the inverse kinematic solution of a 7-DOF robot, numerical methods (such as genetic algorithms) will set a score function and converge to the optimal solution based on the score function, but this method has uncertainty, that is, the convergence is a local optimal solution, and regardless of whether a certain posture has an inverse kinematic solution, the numerical method will obtain an optimal solution. It is necessary to judge whether the solution is valid in the future. The process is cumbersome and the amount of calculation is large; in the analytical method, there is only a theoretical analysis method, and there is no analysis of the multiple solution problem in the specific code implementation process.

[0003] When calculating the flexibility of a point in space, most existing methods are based on the KUKA robot arm. Because its last axis is the roll axis, the number of z-axes of the achievable end posture is used as the flexibility value of the point. When the end axis configuration is different from that of the KUKA robot arm, the strategy becomes invalid, so this strategy is not universal. Summary of the invention

[0004] In order to solve the problem of the universality of the calculation strategy of the workspace flexibility of a 7-DOF robot, the present invention provides a robot spatial flexibility calculation method based on inverse kinematics;

[0005] The technical solution adopted by the present invention is:

[0006] The method for calculating the spatial flexibility of a robot based on inverse kinematics is characterized by comprising the following steps:

[0007] S1. Analyze the multi-solution problem in inverse kinematics;

[0008] S2. Obtain the corresponding inverse kinematics solutions for all arm angles;

[0009] S3. Screen the solutions obtained in S2 to determine whether a certain posture has an inverse kinematic solution;

[0010] S4. Calculate the flexibility of the workspace of the 7-DOF robot.

[0011] Compared with the prior art, the present invention has the following beneficial effects:

[0012] 1. The present invention is mainly used to solve the versatility problem of calculating the flexibility calculation strategy of the workspace of a 7-DOF manipulator. Compared with previous calculation strategies, the present invention takes into account the different orientation problems of the end joint axes and is more versatile. For robots with similar redundant degrees of freedom, their flexibility can be calculated according to the flexibility calculation strategy proposed in the present invention.

[0013] 2. The present invention can solve the problem of how to determine whether a certain posture has an inverse kinematics solution. The process of determining the inverse kinematics solution is an analytical solution process rather than a numerical solution process, and has high accuracy. It has the characteristics of simultaneously considering joint angle limitations and avoiding singular points. Compared with previous judgment strategies, it has the advantage of higher conclusion accuracy.

[0014] 3. The present invention can solve the problem of multiple solutions in the process of inverse kinematics solution, filling the program gap in the inverse kinematics solution of 7-DOF robots. The proposed multi-solution solution has been proven to be feasible through program verification, and the next step of work can be carried out based on the results obtained. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a schematic diagram of the robot joint configuration and coordinate system establishment;

[0016] Figure 2 are the robot DH parameters;

[0017] Figure 3 It is the arm angle-joint angle function curve in a certain posture;

[0018] Figure 4 It is the flexibility of 1024 points evenly distributed on the z=0 plane;

[0019] Figure 5 yes Figure 4 A top view of DETAILED DESCRIPTION

[0020] In order to better understand the purpose, structure and function of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings.

[0021] The embodiment of the present invention is described based on a more general 7-DOF robot. In order to solve the problem of versatility, the wrist joint mechanism is set as a 2-DOF parallel robot. Figure 1 , DH parameters see Figure 2 .

[0022] The analytical inverse kinematic method adopts the "arm angle" method proposed by Professor Masayuki Shimizu (Shimizu, Masayuki, et al. "Analytical inverse kinematic computation for 7-DOF redundant manipulators with joint limits and its application to redundancy resolution." IEEE Transactions on robotics 24.5 (2008): 1131-1142.), and first analyzes the multi-solution problem in its solution process. Then the corresponding inverse kinematic solutions under all arm angles are obtained, and the arm angle corresponding to the inverse solution that meets the joint angle limit and is far away from the singular point is found. If it exists, it means that the posture has an inverse kinematic solution, that is, the posture is reachable.

[0023] 1. Analysis of multiple solutions in inverse kinematics

[0024] The arm angle is an additional parameter that characterizes the overall posture of the robot. The calculation formulas for the 7 angles are as follows:

[0025]

[0026]

[0027] where a s , b s 、c s 、a w , b w 、c w is a known matrix, l se , l ew , l sw is a known constant, is the current arm angle, when When [-π,π] changes, all inverse kinematic solutions under a certain posture can be obtained according to the above formula. When not at a singular point, the seven angle values ​​can be calculated by inverse trigonometric functions. In programming software, the return value of inverse trigonometric functions is in a fixed range, not [-π,π], which is defective in mathematical calculations, and the correct value may be ignored due to the defect in solving inverse trigonometric functions. Therefore, the return value of the programming software is corrected by formula 8 (applied to formula 2 and formula 6) and formula 9 (applied to formulas 1, 3, 5, and 7), and all return values ​​and correction values ​​are traversed to check the positive kinematics of each combination to find the correct combination.

[0028]

[0029] Among them, a represents the value returned by the inverse sine function, β represents the value returned by the inverse tangent function, and a′ and β′ are their corrected values ​​respectively.

[0030] Experiments have shown that at the same arm angle, there is more than one combination that can meet the inverse kinematics requirements. Since the solutions at different arm angles represent the self-motion of the redundant degree of freedom robot, we hope that this motion has the following two requirements:

[0031] (1) The joint angles should not jump as much as possible, because in reality, the joint angles will not jump;

[0032] (2) The derivative value of the joint angle does not jump, which can reduce the impact.

[0033] For the joint angles calculated by the inverse tangent function, a jump with an amplitude of π will occur near the singular arm angle, and this jump is inevitable; the jump amplitude caused by the corrected solution is slightly larger than π, depending on the interval between the arm angle values, and this jump can be avoided by selecting a solution combination; and for the joint angles calculated by the inverse sine function, its derivative will jump near the singular arm angle; the jump caused by the corrected solution has different amplitudes in different cases and varies within [0,π].

[0034] In summary, it is not feasible to distinguish whether it is caused by singularity or multiple solutions by judging the jump amplitude, so we choose to select the optimal solution by calculating the jump amplitude of the solution determined at the previous arm angle and all the solutions obtained at the next arm angle, and selecting the solution with the smallest jump. The solution at the first arm angle selects the solution closest to the joint angle limit to ensure that the entire joint angle-arm angle function curve best meets the joint angle limit, so as to ensure that an accurate conclusion on the existence of the inverse solution is obtained. Using the above conclusions, a programming experiment is performed on it, and the arm angle-joint angle function obtained in a certain posture is as follows Figure 3 shown.

[0035] Second, find the corresponding inverse kinematics solutions for all arm angles;

[0036] Specific steps:

[0037] (1) Set the arm angle value to n equally spaced values ​​within [-π,π];

[0038] (2) Calculate the singular points in a certain position (for the calculation of singular points, refer to Shimizu, Masayuki, et al. "Analytical inverse kinematic computation for 7-DOF redundant manipulators with joint limits and its application to redundancy resolution." IEEE Transactions on robotics 24.5 (2008): 1131-1142.), that is, the singular arm angle value, to provide data for subsequent avoidance of singular points;

[0039] (3) Determine the first arm angle in a certain posture Is it at a singular point? If so, Corrected to That is, when encountering a singular point, use the nearby To approximate; if not, directly calculate the inverse kinematics solution under this arm angle. This step can ensure the accuracy of the calculation results, because at the singular point, the numerator and denominator of the formula become 0. When approaching the singular point, the order of magnitude of the numerator and denominator is very small, around E-16, and the calculation will have a relatively large error. In a certain range around the singular point (within 0.001 around the singular point), use the nearby The replacement calculation not only ensures the correctness of the inverse kinematics calculation, but also minimizes the impact on the existence judgment of the final inverse kinematics solution;

[0040] (4) Determine each solution θ ij (i is the i-th solution combination, and there are different numbers of solution combinations in different situations; j is the j-th joint angle under the solution combination, j = 1, 2, ..., 7) whether the angle value is within the corresponding limit range [l dj ,l uj ], if it is, then it is recorded as ε ij =0; if not, then the distance ε between it and the restricted range is recorded. ij =θ ij -l uj or ε ij = l dj -θ ij ε ij is defined as an arm angle The solution θ ij The score value is When updating, ε ij Updated accordingly. Note that ε ij There are two ways to calculate: the first is when When ij is θ ij The distance from the joint angle j, which has been explained in detail in this step; the second is when When ij is θ ij The difference from the joint angle value determined at the previous arm angle, which will be explained in detail in step 7;

[0041] Where: l dj is: the lower limit of the limit interval of the joint angle j; l uj is the upper limit of the limit interval of the joint angle j;

[0042] (5) Calculate the total score of each solution combination Select the smallest ε i As the first solution θ(1) j (θ(k) j For arm angle The purpose of steps 4 and 5 is to determine the first arm angle The second arm angle is the optimal solution. The optimal solution is based on The optimal solution selection under the third arm angle The optimal solution is based on The optimal solution selection under , and so on. Therefore, The optimal solution under the condition is set as the solution that best matches the joint angle, which is conducive to making all solutions as much as possible within the joint angle limit, thereby making the existence judgment of the subsequent kinematic inverse solution more accurate and ensuring the accuracy of the flexibility calculation;

[0043] (6) Calculate the arm angle as If the inverse kinematics solution under is singular, it is corrected according to step (3);

[0044] (7) Each solution θ calculated ij The difference ε from the value of the joint angle j determined at the previous arm angle ij =|θ ij -θ(k-1) j |;

[0045] (8) Calculate the total score of each solution combination Select the smallest ε i As the kth solution θ(i) j The purpose of steps 7 and 8 is to select the subsequent arm angle The optimal solution under the arm angle is selected. The solution with the smallest difference from the solution determined under the previous arm angle is selected. This can avoid the non-singular point jump caused by the inverse trigonometric function solution;

[0046] (9) Repeat steps 6-8 until the solutions for all arm angles are calculated.

[0047] 3. Strategy for determining whether a certain posture has an inverse kinematic solution

[0048] Depend on Figure 3 The calculated solutions need to be screened according to the following criteria:

[0049] (1) The joint angle should comply with the joint angle limit;

[0050] (2) The selected joint angle should be far away from the singular point.

[0051] To this end, the present invention selects the available arm angle intervals in accordance with the above requirements in sequence. The process is an analytical process, and the joint angle restrictions and the avoidance of singular points are considered at the same time, which has the characteristics of high accuracy. The steps are as follows:

[0052] (1) For θ(k) j , determine whether it is within the joint angle limit range, if so, then record the current is the feasible arm angle of joint angle j; if it is not feasible, it is recorded as an infeasible arm angle;

[0053] (2) Feasible arm angle interval of combined joint angle j Through steps 1 and 2, the available arm angle range that meets the joint angle restrictions is preliminarily screened;

[0054] (3) Setting the singular point interval δ s(p) =[s p -0.001,s p +0.001], where s p is the pth singular The number of values ​​is m, which is different in different situations. This step sets the interval to avoid singular points, so that the entire judgment process can exclude singular points at the same time, maximizing the practical usability of the judgment results (if singular points are not excluded, then even if a certain posture is determined to be achievable, it may be achieved at a singular point, and the robot should try to avoid moving at a singular point during movement);

[0055] (4) Calculate the total available Interval

[0056] (5) Determine whether δ is an empty set. If not, it means that the posture has an inverse kinematics solution. Otherwise, it means that the posture has no inverse kinematics solution. The entire judgment process is an analytical solution process, which ensures the correctness of the judgment result.

[0057] IV. Calculation strategy for flexibility of workspace of 7-DOF manipulator

[0058] The present invention evenly distributes q posture matrices in space, combines them with r position points evenly distributed in space, and uses the number of posture matrices with inverse kinematics solutions at the position point as the flexibility of the point. This strategy does not need to consider the direction of the rotation axis of the robot's end joint and has the characteristics of high versatility. The steps are as follows:

[0059] (1) Using the method of Professor Saff (Saff, Edward B., and Amo BJ Kuijlaars. "Distributingmany points on a sphere." The mathematical intelligencer 19 (1997): 5-11), a number of points are evenly distributed on a sphere, and the line vector connecting the origin and each spherical point is used as the direction vector of the z-axis. Then, the attitude matrix is ​​rotated b times around the z-axis at the same angle for a total of 360° to obtain ab evenly distributed attitude matrices.

[0060] (2) Using the above strategy to determine whether a certain posture has an inverse kinematics solution, determine the existence of the inverse kinematics solution of each posture matrix in turn, and record the number of posture matrices with inverse solutions as the flexibility of the point. Calculate the flexibility of 1024 points on the z = 0 plane, see Figure 4 and Figure 5 .

[0061] The previous strategy was to use spherical points as the basic unit of flexibility value: for each spherical point, determine whether the b posture matrices obtained by rotating around the z-axis have an inverse kinematics solution. As long as one of them has an inverse kinematics solution, no further determination is made, and the spherical point is recorded as having an inverse kinematics solution, and the number of spherical points with inverse kinematics solutions is used as the flexibility value of the point in space. This is because the direction of the end rotation axis of the robotic arm on which it is based coincides with the z-axis. In order to expand the versatility of the present invention, each posture matrix is ​​used as the basic unit of flexibility value, so that when the direction of the end rotation axis does not coincide with the z-axis, the calculation can still be continued normally according to the strategy, which has the advantage of high versatility.

[0062] It is to be understood that the present invention is described by some embodiments, and it is known to those skilled in the art that various changes or equivalent substitutions may be made to these features and embodiments without departing from the spirit and scope of the present invention. In addition, under the teachings of the present invention, these features and embodiments may be modified to adapt to specific circumstances and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited by the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope of protection of the present invention.

Claims

1. A method for calculating robot spatial flexibility based on inverse kinematics, characterized by: The following steps are involved: S1. Analyze the multiple solution problems in inverse kinematics; S2. Obtain the corresponding inverse kinematics solutions for all arm angles; S3. Screen the solutions obtained in S2 to determine whether a certain posture has an inverse kinematic solution; S4. Calculate the flexibility of the workspace of the 7-DOF robot. The specific process of analyzing the multi-solution problem in inverse kinematics in S1 is: Set at a certain arm angle The calculation formulas for the 7 joint angles of a 7-DOF robot are as follows: Among them: a s , b s 、c s 、a w , b w 、c w is a known matrix, l se , l ew , l sw is a known constant, is the current arm angle, when When [-π,π] changes, all inverse kinematic solutions under a certain posture are obtained according to the above formula; The return value of the programming software is corrected by using Formula 8 and Formula 9, and all return values ​​and correction values ​​are traversed to check the positive kinematics of each combination to find the correct combination; Where α represents the value returned by the inverse sine function, β represents the value returned by the inverse tangent function, and α ′ , β ′ are their correction values ​​respectively; The specific steps for obtaining the corresponding inverse kinematics solutions for all arm angles in S2 are: S21. Set the arm angle value to n equally spaced values ​​within [-π,π]; S22. Calculate the singular point under a certain posture, that is, the singular arm angle value; S23. Determine the first arm angle in a certain posture. Is it at a singular point? If so, Corrected to If not, directly calculate the inverse kinematics solution under this arm angle; S24. Determine each solution θ ij Is the angle value within the corresponding limit range [l dj ,l uj ], if it is, then it is recorded as ε ij =0; if not, then the distance ε between it and the restricted range is recorded as ij =θ ij -l uj or ε ij = l dj -θ ij , Where: ij is defined as an arm angle The solution θ ij The score value is When updating, ε ij Update accordingly; θ ij where i is the i-th solution combination, and there are different numbers of solution combinations in different situations; j is the j-th joint angle under the solution combination, j = 1, 2, ..., 7; l dj is: the lower limit of the limit interval of the joint angle j; l uj is the upper limit of the limit interval of the joint angle j; S25. Calculate the total score of each solution combination Select the smallest ε i As the first solution θ(1) j , thus, determining the first arm angle in a certain posture The optimal solution under the second arm angle The optimal solution is based on The optimal solution selection under the third arm angle The optimal solution is based on The optimal solution selection under , and so on; Where: θ(k) j For arm angle The value of the joint angle j has been determined below, S26. Calculate the arm angle as If the inverse kinematics solution under is singular, it is corrected according to the S23 method; S27. Each solution θ calculated ij The difference ε from the value of the joint angle j determined at the previous arm angle ij =|θ ij -θ(k-1) j |; S28. Calculate the total score of each solution combination Select the smallest ε i As the kth solution θ(i) j ; S29. Repeat steps S26-S28 until solutions for all arm angles are calculated.

2. The method for calculating robot spatial flexibility based on inverse kinematics according to claim 1, characterized in that: The specific steps of S3 are: S31. For θ(k) j , determine whether it is within the joint angle limit range, if so, then record the current is the feasible arm angle of joint angle j; If it is not feasible, it is recorded as an infeasible arm angle; S32. Feasible arm angle interval of combined joint angle j S33. Set the singular point interval δ s(p) =[s p -0.001,s p +0.001], where s p is the pth singular The value, whose number is m, is different in different cases; S34. Calculate the total available Interval S35. Determine whether δ is an empty set. If not, it means that the posture has an inverse kinematics solution. Otherwise, it means that the posture has no inverse kinematics solution.

3. The method for calculating robot spatial flexibility based on inverse kinematics according to claim 2, characterized in that: The specific steps of calculating the flexibility of the 7-DOF manipulator workspace in S4 are: S41. Evenly distribute a points on a sphere, use the line vector between the origin and each spherical point as the direction vector of the z-axis, and then rotate the attitude matrix around the z-axis b times at the same angle for a total of 360° to obtain ab evenly distributed attitude matrices; S42. Use S3 to determine the existence of the inverse kinematics solution of each posture matrix in turn, and record the number of posture matrices with inverse solutions as the flexibility of the point.

Citation Information

Patent Citations

  • Bias mechanical arm inverse-kinematics solving method

    CN106202713A