7-dof redundant robot arm and inverse kinematics solving method thereof

By establishing a DH coordinate system and kinematic matrix, and combining geometric and matrix methods to calculate joint angles, the inverse kinematics problem of a redundant 7-DOF manipulator with offset was solved, improving the solution speed and stability.

CN118254150BActive Publication Date: 2026-03-24MIDEA GROUP CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-26
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing technologies are insufficient to effectively solve the inverse kinematics problem of a 7-DOF redundant manipulator with bias, resulting in difficulty and slow speed in solving the problem.

Method used

By establishing a DH coordinate system and kinematic matrix, the pose information of the end-effector is obtained, a predetermined range of arm angles is set, joint angles are calculated, step length and joint angles are adjusted to meet the predetermined range, and geometric and matrix methods are used to calculate joint angles to optimize the solution process.

Benefits of technology

This effectively reduces the number of inverse kinematics solutions for a 7-DOF redundant robotic arm, improves the solution speed and reduces the solution difficulty, and ensures stable operation of the robotic arm in confined spaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118254150B_ABST
    Figure CN118254150B_ABST
Patent Text Reader

Abstract

The application discloses a 7-DOF redundant mechanical arm and an inverse kinematics solving method thereof. The inverse kinematics solving method comprises the following steps: establishing a D-H coordinate system and a kinematics matrix according to the configuration and parameters of the mechanical arm; acquiring the pose information of an end target; calculating an arm type angle reference surface according to a predetermined range of a set arm type angle; calculating a kinematics inverse solution according to a set joint angle of a fifth joint; when the arm type angle of the first joint is within the predetermined range, outputting the inverse solution result; when the arm type angle of the first joint is not within the predetermined range, adjusting the step length to update the parameters and calculating until the arm type angle of the first joint is within the predetermined range to output the inverse solution result. In this way, the kinematics inverse solution problem of the 7-DOF redundant mechanical arm with bias can be solved, the number of inverse kinematics solutions of the 7-DOF redundant mechanical arm is reduced, the solving speed is effectively improved, and the solving difficulty is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of industrial robot technology, and more specifically, to a 7-DOF redundant robotic arm and its inverse kinematics solution method. Background Technology

[0002] Currently, compared to 6-DOF robotic arms, 7-DOF robotic arms offer greater flexibility and significant advantages in complex workspace operations, singularity avoidance, load optimization, and other performance metrics. However, solving the inverse kinematics of a 7-DOF robotic arm is quite difficult. Due to the presence of one redundant degree of freedom, there are countless theoretical inverse kinematic solutions. While inverse kinematics solutions for SRS-based robotic arms are available, existing methods for SRS-based inverse kinematics solutions cannot address the inverse kinematics problem of a biased 7-DOF robotic arm. Summary of the Invention

[0003] This application provides a 7-DOF redundant robotic arm and its inverse kinematics solution method.

[0004] The inverse kinematics solution method of this application is used for a 7-DOF redundant manipulator with bias. The 7-DOF redundant manipulator has the following structure: a base coordinate system (x0, y0, z0); a first joint coordinate system (x1, y1, z1) aligned with the base coordinate system and moved d1 along the z0 axis; a second joint coordinate system (x2, y2, z2) rotated 90° from the first joint coordinate system around the x1 axis; a third joint coordinate system (x3, y3, z3) aligned with the first joint coordinate system and moved d3 along the z1 axis; and a fourth joint coordinate system (x4, y4, z2). z4) is rotated 90° around the x3 axis and moved d4 along the y3 axis by the third joint coordinate system; the fifth joint coordinate system (x5, y5, z5) is rotated 90° around the x4 axis and moved d5 along the y4 axis by the fourth joint coordinate system; the sixth joint coordinate system (x6, y6, z6) is rotated 90° around the x5 axis and moved d6 along the y5 axis by the fifth joint coordinate system; the seventh joint coordinate system (x7, y7, z7) is rotated 90° around the x6 axis and moved d7 along the y6 axis by the sixth joint coordinate system. The seventh joint is connected to the end target. All joints rotate around their respective z-axis as the rotation center.

[0005] The inverse kinematics solution method includes:

[0006] Establish the DH coordinate system and kinematic matrix based on the robot arm configuration and parameters;

[0007] Obtain the pose information of the end target;

[0008] Calculate the boom angle reference plane according to the predetermined range of the boom angle;

[0009] Calculate the inverse kinematics solution based on the set joint angle of the fifth joint;

[0010] When the arm angle of the first joint is within the predetermined range, the inverse solution result is output;

[0011] If the arm angle of the first joint is not within the predetermined range, adjust the step size update parameter and reset the joint angle of the fifth joint, then recalculate the inverse kinematics solution until the arm angle of the first joint is within the predetermined range and output the inverse kinematics solution result.

[0012] In the inverse kinematics solution method of this application, a coordinate system is first established, and the target pose information is determined as known information according to the planning task. Joint angles and arm shape angles are then calculated using geometric and matrix methods. This solves the inverse kinematics problem of a 7-DOF redundant manipulator with offset, while reducing the number of inverse kinematic solutions for a 7-DOF redundant manipulator, effectively improving the solution speed and reducing the solution difficulty.

[0013] In some embodiments, the calculation of inverse kinematics based on the joint angle of the fifth joint includes:

[0014] The joint angle of the fourth joint is calculated based on the pose information of the end target and the set joint angle of the fifth joint.

[0015] Calculate the joint angles of the sixth and seventh joints based on the joint angle of the fourth joint;

[0016] Calculate the joint angles of the first joint, the second joint, and the third joint.

[0017] Thus, during the calculation process, the joint angle of the fourth joint can be calculated first using the set joint angle of the fifth joint, and then the joint angles of the seventh and sixth joints can be calculated using the joint angles of the fourth and fifth joints. Finally, the joint angles of the first three joints are calculated. In this way, the joint angles of all joints can be calculated sequentially, allowing the robotic arm to rotate according to the calculation results and achieve the corresponding actions.

[0018] In some embodiments, calculating the joint angle of the fourth joint based on the pose information of the end target and the joint angle of the fifth joint includes:

[0019] The joint angle of the fourth joint was calculated using geometric and algebraic methods.

[0020] Thus, after setting the joint angle of the fifth joint, the joint angle of the fourth joint can be calculated using geometric and algebraic methods.

[0021] In some embodiments, when the joint angle of the fifth joint is greater than 0, the joint angle of the fourth joint is less than 0; when the joint angle of the fifth joint is less than 0, the joint angle of the fourth joint is greater than 0.

[0022] Thus, during the calculation process, the set value of the joint angle of the fifth joint can directly affect the joint angle of the fourth joint. When the joint angle of the fifth joint is set to be greater than 0, the joint angle of the fourth joint is less than 0, and when the joint angle of the fifth joint is set to be less than 0, the joint angle of the fourth joint is greater than 0, thereby ensuring the stability of the entire robotic arm.

[0023] In some embodiments, the expression for the third joint relative to the base coordinate system is:

[0024] 0 p3 = [0 0d1] T +d3 0 z3;

[0025] in, 0 p3 represents the pose information of the third joint relative to the base coordinates.

[0026] Thus, the pose information of the third joint can be expressed by a rotation matrix, and can then be transformed into other formulas to calculate the joint angles of the third, second, and first joints.

[0027] In some embodiments, calculating the joint angles of the first joint, the second joint, and the third joint includes:

[0028] Calculate the joint angle of the second joint;

[0029] Calculate the joint angle of the first joint based on the joint angle of the second joint;

[0030] The joint angle of the third joint is calculated based on the joint angles of the second joint and the first joint.

[0031] Therefore, in the calculation process, the joint angle of the second joint can be calculated first, and then the joint angle of the first joint can be calculated using the joint angle of the second joint as a known quantity. Finally, the joint angle of the third joint can be calculated using the joint angles of the first and second joints as known quantities, thus allowing the joint angles of all joints to be calculated.

[0032] In some embodiments, before calculating the joint angle of the third joint based on the joint angles of the second joint and the first joint, the following steps are included:

[0033] When the joint angle of the first joint is equal to 0, the input value is received to determine the joint angle of the first joint.

[0034] Thus, when the calculated joint angle of the first joint is 0, a value can be manually specified, and the controller can accept the input value and then control the first joint to rotate to the corresponding angle.

[0035] In some embodiments, calculating the joint angle of the third joint based on the joint angles of the second joint and the first joint includes:

[0036] Filter the optimal solution for the joint angle of the third joint.

[0037] Thus, after multiple values ​​appear at the third joint, the controller can select one of the optimal solutions to ensure that the entire robotic arm moves reasonably and maintains a distance from obstacles.

[0038] In some embodiments, calculating the arm-shaped angle reference plane according to a predetermined range of the arm-shaped angle includes:

[0039] The sixth joint is selected and connected to the z-axis of the base coordinate system to form a reference plane;

[0040] The arm angle of the redundant robotic arm is calculated using the reference plane.

[0041] In this way, by establishing a reference plane to calculate the arm angle of the robotic arm, it can be ensured that the entire robotic arm can reasonably avoid obstacles in a confined space and ensure the stable operation of the entire robotic arm.

[0042] The 7-DOF redundant robotic arm in this application embodiment is controlled by the inverse kinematics solution method described in any of the above embodiments.

[0043] In the 7-DOF redundant manipulator and its inverse kinematics solution method of this application, the inverse kinematics solution method can first establish a coordinate system, determine the target pose information as known information according to the planned task, and calculate the joint angles and arm shape angles through geometric and matrix methods. In this way, the inverse kinematics solution problem of a 7-DOF redundant manipulator with offset can be solved, while reducing the number of inverse kinematics solutions for a 7-DOF redundant manipulator, effectively improving the solution speed and reducing the solution difficulty.

[0044] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0045] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, wherein:

[0046] Figure 1This is a flowchart illustrating the inverse kinematics solution method according to the embodiments of this application;

[0047] Figure 2 This is a coordinate diagram of a biased 7-DOF redundant robotic arm according to an embodiment of this application;

[0048] Figure 3 This is another flowchart illustrating the inverse kinematics solution method according to the embodiments of this application;

[0049] Figure 4 This is another flowchart illustrating the inverse kinematics solution method of the embodiments of this application;

[0050] Figure 5 This is a schematic diagram of the shoulder, elbow, and wrist of a 7-DOF redundant robotic arm with bias according to an embodiment of this application.

[0051] Figure 6 This is a geometric diagram of the shoulder and elbow portions of the biased 7-DOF redundant robotic arm according to an embodiment of this application.

[0052] Figure 7 This is another flowchart illustrating the inverse kinematics solution method of the embodiments of this application;

[0053] Figure 8 This is another flowchart illustrating the inverse kinematics solution method of the embodiments of this application;

[0054] Figure 9 This is another flowchart illustrating the inverse kinematics solution method of the embodiments of this application;

[0055] Figure 10 This is a schematic diagram of the arm profile angle of a 7-DOF redundant robotic arm with bias according to an embodiment of this application. Detailed Implementation

[0056] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application.

[0057] In this application, unless otherwise expressly specified and limited, "above" or "below" the second feature can include direct contact between the first and second features, or contact between the first and second features through another feature between them. Furthermore, "above," "over," and "on top" of the second feature includes the first feature being directly above or diagonally above the second feature, or simply indicates that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature includes the first feature being directly below or diagonally below the second feature, or simply indicates that the first feature is at a lower horizontal level than the second feature.

[0058] The following disclosure provides many different embodiments or examples for implementing different structures of this application. To simplify the disclosure, specific examples and settings are described below. Of course, these are merely examples and are not intended to limit the scope of this application. Furthermore, reference numerals and / or letters may be repeated in different examples; such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or settings discussed. In addition, various specific examples of processes and materials are provided in this application, but those skilled in the art will recognize the application of other processes and / or the use of other materials.

[0059] Please see Figure 1 and Figure 2 The inverse kinematics solution method of this application is used for a 7-DOF redundant manipulator with bias. The 7-DOF redundant manipulator has the following structure: a base coordinate system (x0, y0, z0); a first joint coordinate system (x1, y1, z1) aligned with the base coordinate system and moved d1 along the z0 axis; a second joint coordinate system (x2, y2, z2) rotated 90° from the first joint coordinate system around the x1 axis; a third joint coordinate system (x3, y3, z3) aligned with the first joint coordinate system and moved d3 along the z1 axis; and a fourth joint coordinate system (x4, y4, z2). z4) is rotated 90° around the x3 axis and moved d4 along the y3 axis from the third joint coordinate system. The fifth joint coordinate system (x5, y5, z5) is rotated 90° around the x4 axis and moved d5 along the y4 axis from the fourth joint coordinate system. The sixth joint coordinate system (x6, y6, z6) is rotated 90° around the x5 axis and moved d6 along the y5 axis from the fifth joint coordinate system. The seventh joint coordinate system (x7, y7, z7) is rotated 90° around the x6 axis and moved d7 along the y6 axis from the sixth joint coordinate system. The seventh joint is connected to the end target. All joints rotate around their respective z-axis as the rotation center.

[0060] Inverse kinematics solutions include:

[0061] 01. Establish the DH coordinate system and kinematic matrix based on the robot arm configuration and parameters;

[0062] 02. Obtain the pose information of the end target;

[0063] 03. Calculate the boom angle reference plane according to the predetermined range of the boom angle;

[0064] 04. Calculate the inverse kinematics solution based on the joint angle of the fifth joint;

[0065] 05. When the arm angle of the first joint is within the predetermined range, output the inverse solution result;

[0066] 06. When the arm angle of the first joint is not within the predetermined range, adjust the step size update parameters and reset the joint angle of the fifth joint. Then recalculate the inverse kinematics solution until the arm angle of the first joint is within the predetermined range and output the inverse kinematics solution result.

[0067] In the inverse kinematics solution method of this application, a coordinate system is first established, and the target pose information is determined as known information according to the planning task. Joint angles and arm shape angles are then calculated using geometric and matrix methods. This solves the inverse kinematics problem of a 7-DOF redundant manipulator with offset, while reducing the number of inverse kinematic solutions for a 7-DOF redundant manipulator, effectively improving the solution speed and reducing the solution difficulty.

[0068] In related technologies, collaborative robotic arms are commonly 6-DOF (6 degrees of freedom) articulated robotic arms. They can achieve translation in three directions and rotation in three directions within Cartesian space in common application scenarios. Their inverse kinematics solution is unique, making them widely applicable. However, in complex situations or confined workspaces, the maneuverability and flexibility of 6-DOF robotic arms are relatively low. 7-DOF robotic arms, on the other hand, have multiple inverse kinematic solutions for the same pose, offering high flexibility. Therefore, in complex and confined task spaces, they can adjust their configuration to reduce energy consumption, avoid collisions, and complete the target task, giving them a certain advantage. However, existing inverse kinematics solutions for 7-DOF robotic arms are all based on the traditional SRS (Straight Rig) configuration, where the first three joints and the last three joints are perpendicular to each other and intersect at a single point, satisfying the pipe criterion.

[0069] In this embodiment, the 7-DOF redundant robotic arm has an offset, with the fourth and sixth joints of the robotic arm bent and offset. All joints of the robotic arm rotate around their respective z-axis. For the offset robotic arm, the position and attitude information of the end effector target can be set, and then the joint angle of the fifth joint can be set. The inverse kinematics solution is calculated using the set joint angle of the fifth joint. The joint angles of different joints are calculated sequentially using the formula provided in this embodiment. After calculating the joint angle of the first joint, if the joint angle of the first joint is within a predetermined range, the controller of the robotic arm can directly output the inverse kinematics solution results to the motors of different joints, thereby causing each joint of the robotic arm to rotate to the calculated angle, ensuring that the end effector achieves the corresponding position and attitude. If the calculated joint angle of the first joint is not within the predetermined range, the process can return to step S40, reset the joint angle of the fifth joint and other information, until the calculated joint angle of the first joint meets the range, and output the inverse kinematics solution results, thereby enabling the robotic arm to perform the corresponding action.

[0070] Specifically, for a 7-DOF robotic arm, the first, second, and third joints can be denoted as the shoulder position Ps, the fifth, sixth, and seventh joints as the wrist position Pw, and the fourth joint as the elbow position Pe. The 7-DOF cooperative robotic arm of this embodiment has an orthogonal configuration with offsets at both the elbow and wrist, unlike the traditional cooperative SRS configuration. Therefore, it can be calculated using the inverse kinematics solution method of this embodiment.

[0071] Further, d1 represents the length of the first arm between the base coordinate and the first joint, and θ1 represents the joint angle of the first joint; d2 represents the length of the second arm between the first joint and the second joint, and θ2 represents the joint angle of the second joint; d3 represents the length of the third arm between the second joint and the third joint, and θ3 represents the joint angle of the third joint; d4 represents the length of the fourth arm between the third joint and the fourth joint, and θ4 represents the joint angle of the fourth joint; d5 represents the length of the fifth arm between the fourth joint and the fifth joint, and θ5 represents the joint angle of the fifth joint; d6 represents the length of the sixth arm between the fifth joint and the sixth joint, and θ6 represents the joint angle of the sixth joint; d7 represents the length of the seventh arm between the sixth joint and the seventh joint, and θ7 represents the joint angle of the seventh joint.

[0072] Please see Figure 3 In some implementations, 04 includes:

[0073] 041. Calculate the joint angle of the fourth joint based on the pose information of the end target and the set joint angle of the fifth joint.

[0074] 042. Calculate the joint angles of the sixth and seventh joints based on the joint angle of the fourth joint.

[0075] 043, calculate the joint angles of the first, second, and third joints.

[0076] Thus, during the calculation process, the joint angle of the fourth joint can be calculated first using the set joint angle of the fifth joint, and then the joint angles of the seventh and sixth joints can be calculated using the joint angles of the fourth and fifth joints. Finally, the joint angles of the first three joints are calculated. In this way, the joint angles of all joints can be calculated sequentially, allowing the robotic arm to rotate according to the calculation results and achieve the corresponding actions.

[0077] Please see Figure 4 and Figure 5 In some embodiments, 041 includes:

[0078] 0411, calculate the joint angle of the fourth joint using geometric and algebraic methods.

[0079] After establishing the geometry, the joint angle of the fourth joint can be calculated using the following equation:

[0080] W`W5=|d6sinq5|;

[0081] W`W6=|d6cosq5|;

[0082]

[0083]

[0084]

[0085]

[0086]

[0087] Where an auxiliary base plane is drawn through d5 perpendicular to d4, △S`E`W` is the projection of the 7-DOF redundant robot arm onto the auxiliary base plane, S represents the position of the first and second joints, E represents the position of the third joint, E` represents the position of the fourth joint, W5 represents the position of the fifth joint, W6 represents the position of the sixth joint, and θ i Let q5 represent the joint angle of the i-th joint, and let q5 represent ∠W`W6W5.

[0088] Thus, after setting the joint angle of the fifth joint, the joint angle of the fourth joint can be calculated using geometric and algebraic methods. The 7-DOF robotic arm is projected onto an auxiliary base plane, and the derivation process is obtained from the above formula through geometric and vector calculations.

[0089] In essence, during the movement of a robotic arm, it's necessary to first determine the final end-effector's target position and posture, then decide on the overall arm shape, and finally control the various motors to achieve the predetermined action. The robotic arm can perform calculations via a controller, which can be electrically connected to the motors of each joint. This allows the controller to transmit the calculated results to different motors, which then control the robotic arm to move and perform the corresponding actions.

[0090] In some implementations, when the joint angle of the fifth joint is greater than 0, the joint angle of the fourth joint is less than 0; when the joint angle of the fifth joint is less than 0, the joint angle of the fourth joint is greater than 0.

[0091] Thus, during the calculation process, the set value of the joint angle of the fifth joint can directly affect the joint angle of the fourth joint. When the joint angle of the fifth joint is set to be greater than 0, the joint angle of the fourth joint is less than 0, and when the joint angle of the fifth joint is set to be less than 0, the joint angle of the fourth joint is greater than 0, thereby ensuring the stability of the entire robotic arm.

[0092] Further, please refer to Figure 5 In some implementations, when the joint angle of the fifth joint is greater than or equal to 0, the joint angle of the fourth joint can be calculated using the following formula:

[0093]

[0094] When the joint angle of the fifth joint is less than 0, the joint angle of the fourth joint can be calculated using the following formula:

[0095]

[0096] Therefore, the joint angle of the fourth joint can be calculated using the above formula, depending on the joint angle of the fifth joint. It should be noted that the reference diagram for when the joint angle of the fifth joint is greater than or equal to 0 is different from the reference diagram for when the joint angle of the fifth joint is less than 0; therefore, the calculation process is also different.

[0097] Please see Figure 6 In some embodiments, the expression for the third joint relative to the base coordinate system is: 0 p3 = [0 0d1] T +d3 0 z3.

[0098] This equation can be transformed into the following equation, and the joint angles of the sixth and seventh joints can be calculated using the following equation:

[0099]

[0100]

[0101] 0 R7 7 p3+ 0 p7 = [0 0d1] T +d3 0 R7 7 z3;

[0102] 7 p3-d3 7 z3 = 7 R0(- 0 p7+[0 0d1] T ) = B x B y B z ] T ;

[0103]

[0104]

[0105]

[0106]

[0107] sinθ7+β)=h;

[0108]

[0109] sinθ6+γ)=k;

[0110]

[0111] in, 0 p3 represents the pose information of the third joint relative to the base coordinates. 0 T3 represents the rotation matrix of the third joint relative to the base coordinates. 7 T3 represents the rotation matrix of the seventh joint relative to the third joint. 0 T7 represents the rotation matrix of the seventh joint relative to the base coordinates, s i Let si represent the sine function of the joint angle of the i-th joint (e.g., s6 represents the sine function of the joint angle of the sixth joint), c i c represents the cosine function of the joint angle of the i-th joint (e.g., c4 represents the cosine function of the joint angle of the fourth joint), and a and B both represent the element symbols of the matrix.

[0112] Thus, the pose information of the third joint can be expressed by a rotation matrix, and can then be transformed into other formulas to calculate the joint angles of the third, second, and first joints.

[0113] Please see Figure 6 and Figure 7 In some embodiments, 043 includes:

[0114] 0431, Calculate the joint angle of the second joint;

[0115] 0432, Calculate the joint angle of the first joint based on the joint angle of the second joint;

[0116] 0433, calculate the joint angle of the third joint based on the joint angles of the second and first joints.

[0117] Therefore, in the calculation process, the joint angle of the second joint can be calculated first, and then the joint angle of the first joint can be calculated using the joint angle of the second joint as a known quantity. Finally, the joint angle of the third joint can be calculated using the joint angles of the first and second joints as known quantities, thus allowing the joint angles of all joints to be calculated.

[0118] Please see Figure 6 In some embodiments, the joint angles of the first, second, and third joints can be calculated using the following equations:

[0119]

[0120] θ2=±arccos(a 33 );

[0121]

[0122]

[0123] θ1=arctan2(-a 23 s2,-a 13 s2);

[0124]

[0125]

[0126] When s2 = 0, c1s3 + c2c3s1 = a 21 => sin(θ³ + α) = a;

[0127]

[0128] Please see Figure 8 In some implementations, before 0433, the inverse kinematics solution method includes:

[0129] 0434, when the joint angle of the first joint is equal to 0, receive the input value to determine the joint angle of the first joint.

[0130] Thus, when the calculated joint angle of the first joint is 0, a value can be manually specified, and the controller can accept the input value and then control the first joint to rotate to the corresponding angle.

[0131] Please see Figure 8 In some embodiments, 0433 further includes:

[0132] 0435, select the optimal solution for the joint angle of the third joint.

[0133] Thus, multiple θ3 values ​​can be obtained during the calculation process, and the controller can select the optimal solution through this step. During the selection process, the controller can prioritize obstacle avoidance or minimize the rotation angle of each joint relative to its initial position.

[0134] Please see Figure 9 and Figure 10 In some implementations, 03 includes:

[0135] 031, Select the sixth joint and connect it with the z-axis of the base coordinate system to form a reference plane;

[0136] 032, Calculate the arm angle of the redundant robotic arm using the reference plane.

[0137] In this way, by establishing a reference plane to calculate the arm angle of the robotic arm, it can be ensured that the entire robotic arm can reasonably avoid obstacles in a confined space and ensure the stable operation of the entire robotic arm.

[0138] Please see Figure 10 In some implementations, the arm profile angle of the redundant robotic arm can be calculated using the following equation:

[0139]

[0140] WF = WE * sin(∠SWE);

[0141]

[0142]

[0143] Here, F and D are auxiliary points for geometric solution. A perpendicular line is drawn from the fourth joint to the reference plane and compared with the reference plane to F. A line parallel to the Z-axis is drawn from point F on the reference plane and intersects the line CW at point D. φ is ∠DFE.

[0144] Please see Figure 1 The 7-DOF redundant robotic arm in this application is controlled by the inverse kinematics solution method of any of the above embodiments.

[0145] In the 7-DOF redundant manipulator and its inverse kinematics solution method of this application, the inverse kinematics solution method can first establish a coordinate system, determine the target pose information as known information according to the planned task, and calculate the joint angles and arm shape angles through geometric and matrix methods. In this way, the inverse kinematics solution problem of a 7-DOF redundant manipulator with offset can be solved, while reducing the number of inverse kinematics solutions for a 7-DOF redundant manipulator, effectively improving the solution speed and reducing the solution difficulty.

[0146] Specifically, based on the planned task, the target pose is determined. Then, using the constraint space, the arm angle constraint range is set, and the arm angle reference plane is calculated. Next, the joint angle of the fifth joint is set, and the inverse kinematics solution of the redundant robot is solved. Finally, the current arm angle is calculated, and it is determined whether the arm angle meets the constraint range. If it does, the inverse kinematics result is directly output; otherwise, the joint angle of the fifth joint is reset and calculated.

[0147] In the inverse kinematics solution method of this application, there is currently no unified and effective calculation method for the operation problem of a 7-DOF redundant manipulator with elbow and wrist offsets in a confined space. This application constructs an inverse kinematics calculation model for the redundant manipulator based on the offset configuration and proposes a method for calculating the arm angle based on the redundant manipulator. Within a confined space, based on a set arm angle constraint range, an iterative optimization approach is used to optimize the solution model, thereby obtaining the inverse kinematics solution result of the manipulator that satisfies the spatial constraints.

[0148] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0149] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more steps for implementing a particular logical function or process, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the function involved, as should be understood by those skilled in the art to which embodiments of this application pertain.

[0150] Although this application has been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.

Claims

1. An inverse kinematics solution method for a 7-DOF redundant robotic arm with bias, characterized in that, The structure of the 7-DOF redundant robotic arm is as follows: a base coordinate system (x0, y0, z0), a first joint coordinate system (x1, y1, z1) aligned with the base coordinate system and moved by d1 along the z0 axis, a second joint coordinate system (x2, y2, z2) rotated 90° from the first joint coordinate system around the x1 axis, a third joint coordinate system (x3, y3, z3) aligned with the first joint coordinate system and moved by d3 along the z1 axis, and a fourth joint coordinate system (x4, y4, z4) rotated 90° from the third joint coordinate system around the x3 axis. The fifth joint coordinate system (x5, y5, z5) is rotated 90° around the x4 axis from the fourth joint coordinate system and moved d5 along the y4 axis. The sixth joint coordinate system (x6, y6, z6) is rotated 90° around the x5 axis from the fifth joint coordinate system and moved d6 along the y5 axis. The seventh joint coordinate system (x7, y7, z7) is rotated 90° around the x6 axis from the sixth joint coordinate system and moved d7 along the y6 axis. The seventh joint is connected to the end target. All joints rotate around their respective z-axis as the rotation center. The inverse kinematics solution method includes: Establish the DH coordinate system and kinematic matrix based on the robot arm configuration and parameters; Obtain the pose information of the end target; Calculate the boom angle reference plane according to the predetermined range of the boom angle; Calculate the inverse kinematics solution based on the set joint angle of the fifth joint; When the arm angle of the first joint is within the predetermined range, the inverse solution result is output; If the arm angle of the first joint is not within the predetermined range, adjust the step size update parameter and reset the joint angle of the fifth joint, then recalculate the inverse kinematics solution until the arm angle of the first joint is within the predetermined range and output the inverse kinematics solution result.

2. The inverse kinematics solution method according to claim 1, characterized in that, The calculation of the inverse kinematics solution based on the joint angle of the fifth joint includes: The joint angle of the fourth joint is calculated based on the pose information of the end target and the set joint angle of the fifth joint. Calculate the joint angles of the sixth and seventh joints based on the joint angle of the fourth joint; Calculate the joint angles of the first joint, the second joint, and the third joint.

3. The inverse kinematics solution method according to claim 2, characterized in that, The step of calculating the joint angle of the fourth joint based on the pose information of the end target and the joint angle of the fifth joint includes: The joint angle of the fourth joint was calculated using geometric and algebraic methods.

4. The inverse kinematics solution method according to claim 3, characterized in that, When the joint angle of the fifth joint is greater than 0, the joint angle of the fourth joint is less than 0. When the joint angle of the fifth joint is less than 0, the joint angle of the fourth joint is greater than 0.

5. The inverse kinematics solution method according to claim 2, characterized in that, The expression for the third joint relative to the base coordinate system is: ; in, This represents the pose information of the third joint relative to the base coordinates. This represents the pose information of the third joint z-axis coordinate z3 relative to the base z-axis coordinate z0.

6. The inverse kinematics solution method according to claim 2, characterized in that, The calculation of the joint angles of the first joint, the second joint, and the third joint includes: Calculate the joint angle of the second joint; Calculate the joint angle of the first joint based on the joint angle of the second joint; The joint angle of the third joint is calculated based on the joint angles of the second joint and the first joint.

7. The inverse kinematics solution method according to claim 6, characterized in that, Before calculating the joint angle of the third joint based on the joint angles of the second joint and the first joint, the process includes: When the joint angle of the first joint is equal to 0, the input value is received to determine the joint angle of the first joint.

8. The inverse kinematics solution method according to claim 6, characterized in that, The step of calculating the joint angle of the third joint based on the joint angles of the second joint and the first joint includes: Filter the optimal solution for the joint angle of the third joint.

9. The inverse kinematics solution method according to claim 1, characterized in that, The step of calculating the arm angle reference plane according to the predetermined range of the set arm angle includes: The sixth joint is selected and connected to the z-axis of the base coordinate system to form a reference plane; The arm angle of the redundant robotic arm is calculated using the reference plane.

10. A 7-DOF redundant robotic arm, characterized in that, Controlled by the inverse kinematics solution method described in any one of claims 1-9.

Citation Information

Patent Citations

  • Seven-degree-of-freedom humanoid-structure mechanical arm inverse kinematics planning method

    CN109291046A

  • Inverse kinematics solving algorithm of seven-degree-of-freedom mechanical arm

    CN110712203A