Inverse solution method and device of multi-degree-of-freedom robot arm

By converting the forward kinematics expression of the robotic arm into a spinor theory subproblem and solving it by decomposition, the problems of low solution efficiency and poor numerical stability in the inverse kinematics solution of multi-degree-of-freedom robotic arms are solved, and a more efficient inverse solution method is realized.

CN121374641BActive Publication Date: 2026-04-28HANGZHOU INNOVATION RES INST OF BEIJING UNIV OF AERONAUTICS & ASTRONAUTICS
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU INNOVATION RES INST OF BEIJING UNIV OF AERONAUTICS & ASTRONAUTICS
Filing Date
2025-12-23
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In the existing technology, the inverse kinematics solution method for multi-degree-of-freedom robotic arms has problems such as complex solution process, poor numerical stability and limited applicability, especially for robotic arms that do not conform to Pieper's criterion.

Method used

The forward kinematics expression of the robotic arm is transformed into a non-standard screw theory subproblem. Through random sampling and screw theory subproblem decomposition, the third joint angle, fourth joint angle, etc. are solved step by step to form a rotation problem around a single axis and an ordered dual axis. The fourth joint angle is iteratively adjusted to meet the error allowable condition.

Benefits of technology

This improves the solution efficiency and numerical stability of inverse kinematics for multi-degree-of-freedom robotic arms, and solves the problems of low solution efficiency and poor numerical stability in existing technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121374641B_ABST
    Figure CN121374641B_ABST
Patent Text Reader

Abstract

The application provides a multi-degree-of-freedom mechanical arm inverse solution method and device, the method comprising: converting the forward kinematics expression of the mechanical arm into a first expression; randomly sampling the fourth joint angle to determine the current fourth joint angle, and using the current fourth joint angle to solve the first expression to determine the third joint angle; converting the forward kinematics expression of the mechanical arm into a second expression for representing the ordered double-axis rotation problem, solving the second expression to determine the first joint angle and the second joint angle; determining the fifth candidate position according to the first joint angle, the second joint angle, the third joint angle and the current fourth joint angle; when the fifth candidate position does not satisfy the error allowable condition, resampling the fourth joint angle as a variable, and returning to execute the step of determining the third joint angle. By using the above multi-degree-of-freedom mechanical arm inverse solution method and device, the solving efficiency and numerical stability of the mechanical arm inverse solution process are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotic arm control technology, and more specifically, to a method and apparatus for inverse kinematics of a multi-degree-of-freedom robotic arm. Background Technology

[0002] The core function of inverse kinematics (IK) solving for serial robots is to solve for the motion parameters of each joint, such as angles and displacements, based on the target pose of the end effector. This is a core problem in robot motion planning and control. Existing technologies typically include three methods for IK solving: the first is an analytical method based on algebraic elimination, which derives the nonlinear equations between the end effector pose and joint angles by establishing a DH parameter model of the robot and using algebraic elimination to transform the problem into a high-order polynomial solution; the second is an optimization method based on numerical iteration, employing numerical optimization algorithms such as the Newton-Raphson method and quasi-Newton methods to iteratively approximate the solution of the inverse kinematic equations; the third is a method based on geometric decomposition, which requires the use of the Pieper criterion for decoupling in spherical wrist robots.

[0003] However, analytical methods based on algebraic elimination require transforming the inverse kinematics of the 6R robot into a 16th-order polynomial solution. This high-order polynomial solution process suffers from complexity and poor numerical stability. Optimization methods based on numerical iteration require updating joint angles by inverting or pseudo-inverting the Jacobian matrix until the end-effector pose error converges. Convergence heavily relies on initial guesses, easily leading to the algorithm getting trapped in local optima or completely diverging. Furthermore, the Jacobian matrix is ​​prone to ill-conditioned problems near singular robot configurations, resulting in numerical instability. Methods based on geometric decomposition are not applicable to robots with configurations that do not conform to the Pieper criterion. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a method and apparatus for inverse kinematics of a multi-degree-of-freedom robotic arm, so as to overcome at least one of the above-mentioned defects.

[0005] In a first aspect, embodiments of this application provide an inverse kinematics method for a multi-degree-of-freedom robotic arm, including:

[0006] The forward kinematics expression of the robotic arm is transformed into a first expression to characterize a non-standard spinor theory subproblem. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion. The first expression uses the third joint angle and the fourth joint angle as variables.

[0007] The fourth joint angle, which is a variable, is randomly sampled to determine the current fourth joint angle. The current fourth joint angle is then used to solve the first expression to determine the third joint angle.

[0008] Based on the third joint angle and the current fourth joint angle, the forward kinematics expression of the robotic arm is converted into a second expression to characterize the problem of rotation around an ordered dual axis. The second expression is then solved to determine the first joint angle and the second joint angle.

[0009] Based on the first joint angle, the second joint angle, the third joint angle, and the current fourth joint angle, determine the fifth candidate position of the fifth joint under the current fourth joint angle;

[0010] If the fifth candidate position does not meet the error allowable condition, the fourth joint angle, which is a variable, is resampled, and the current fourth joint angle is used to return to the execution of the step of solving the first expression using the current fourth joint angle to determine the third joint angle.

[0011] Optionally, the step of converting the forward kinematics expression of the robotic arm into a first expression for characterizing a non-standard spinor theory subproblem includes: multiplying both sides of the equation of the forward kinematics expression of the robotic arm by the initial position of the fifth joint to obtain a third expression; converting the third expression into a first intermediate expression based on the principle that the position of the intersection point between the first joint axis and the second joint axis remains unchanged; and simplifying the first intermediate expression based on the principle that the length of the vector remains unchanged under rotation to obtain the first expression.

[0012] Optionally, the step of converting the third expression into the first intermediate expression based on the principle that the position of the intersection point between the first joint axis and the second joint axis remains unchanged includes: determining the initial position expression of the second joint based on the principle of position invariance, wherein the initial position expression of the second joint is an equation in which the product of the first joint screw index mapping, the second joint screw index mapping, and the initial position of the second joint equals the initial position of the second joint; subtracting the initial position of the second joint from both sides of the equation of the third expression to obtain the distance difference expression; and replacing the initial position of the target second joint in the distance difference expression with the initial position expression of the second joint to obtain the first intermediate expression.

[0013] Optionally, the step of solving the first expression using the current fourth joint angle to determine the third joint angle includes: updating the first expression using the current fourth joint angle to convert the first expression into a third expression for characterizing a rotation-translation problem about a single axis; and solving the third expression according to the solution method for a rotation-translation problem about a single axis to determine the third joint angle.

[0014] Optionally, the first expression is an equation in which the first distance equals the second distance, where the first distance is the distance between the first position and the initial position of the second joint, the second distance is the distance between the product of the initial position of the fifth joint, the reciprocal of the initial pose of the fifth joint, and the pose after the movement of the fifth joint, and the initial position of the second joint, and the first position is the position corresponding to the product of the screw index mapping of the third joint, the screw index mapping of the fourth joint, and the initial position of the fifth joint.

[0015] Optionally, the step of converting the forward kinematics expression of the robotic arm into a second expression for characterizing the problem of rotation about an ordered biaxial axis, based on the third joint angle and the current fourth joint angle, includes: substituting the determined third joint angle and the current fourth joint angle into the third expression to obtain the second expression.

[0016] Optionally, the step of determining the fifth candidate position of the fifth joint at the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle, and the current fourth joint angle includes: determining the fifth candidate position based on the product of the first joint screw index mapping corresponding to the first joint angle, the second joint screw index mapping corresponding to the second joint angle, the third joint screw index mapping corresponding to the third joint angle, the fourth joint screw index mapping corresponding to the fourth joint angle, and the initial position of the fifth joint.

[0017] Optionally, after determining the third joint angle by solving the first expression using the current fourth joint angle, the method further includes: determining whether the third joint angle has a solution; if the third joint angle has no solution, then re-sampling the fourth joint angle as a variable to determine the latest current fourth joint angle, so as to solve the first expression using the latest current fourth joint angle.

[0018] Optionally, the method further includes: when the fifth candidate position meets the error allowable condition, converting the forward kinematics expression of the robotic arm into a fourth expression to characterize the problem of rotation around an ordered biaxial axis; and solving the fourth expression according to the solution method for the problem of rotation around an ordered biaxial axis to determine the fifth joint angle and the sixth joint angle.

[0019] Secondly, embodiments of this application also provide an inverse kinematics device for a multi-degree-of-freedom robotic arm, the device comprising:

[0020] The first expression determination module is used to convert the positive kinematics expression of the robotic arm into a first expression to characterize the non-standard screw theory subproblem. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion. The first expression uses the third joint angle and the fourth joint angle as variables.

[0021] The first angle determination module is used to randomly sample the fourth joint angle as a variable to determine the current fourth joint angle, and use the current fourth joint angle to solve the first expression to determine the third joint angle;

[0022] The second angle determination module is used to convert the forward kinematics expression of the robotic arm into a second expression to characterize the problem of rotation around an ordered dual axis, based on the third joint angle and the current fourth joint angle. The second expression is then solved to determine the first joint angle and the second joint angle.

[0023] The first position determination module is used to determine the fifth candidate position of the fifth joint under the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle and the current fourth joint angle;

[0024] The loop iteration module is used to resample the fourth joint angle as a variable when the fifth candidate position does not meet the error allowable condition, and return to the step of using the newly determined current fourth joint angle to solve the first expression and determine the third joint angle.

[0025] The embodiments of this application bring the following beneficial effects:

[0026] The present application provides an inverse kinematics method and apparatus for a multi-degree-of-freedom robotic arm, which can transform complex nonlinear problems into a series of subproblems with clear geometric meanings. The transformed subproblems are solved sequentially according to screw theory, which improves the solution efficiency and numerical stability. Compared with the inverse kinematics methods for multi-degree-of-freedom robotic arms in the prior art, it solves the problems of low solution efficiency and poor numerical stability in the inverse kinematics process of robotic arms.

[0027] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0028] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0029] Figure 1 A flowchart illustrating the inverse kinematics method for a multi-degree-of-freedom robotic arm provided in an embodiment of this application is shown.

[0030] Figure 2 A schematic diagram of the structure of the multi-degree-of-freedom robotic arm provided in the embodiments of this application is shown;

[0031] Figure 3 A flowchart illustrating the steps for determining the first expression provided in an embodiment of this application is shown;

[0032] Figure 4 A schematic diagram of the third joint angle provided in an embodiment of this application is shown;

[0033] Figure 5 This paper shows a schematic diagram of the inverse kinematics device for a multi-degree-of-freedom robotic arm provided in an embodiment of this application.

[0034] Figure 6 A schematic diagram of the structure of the electronic device provided in the embodiments of this application is shown. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. Based on the embodiments of this application, every other embodiment obtained by those skilled in the art without inventive effort falls within the scope of protection of this application.

[0036] To facilitate understanding of this embodiment, the following describes each of the exemplary steps provided in this embodiment using the inverse kinematics method of the multi-degree-of-freedom robotic arm provided in this application embodiment as an example of its application to a server.

[0037] Please see Figure 1 , Figure 1 This is a flowchart illustrating an inverse kinematics method for a multi-degree-of-freedom robotic arm provided in an embodiment of this application. Figure 1 As shown in the embodiments of this application, the inverse kinematics method for a multi-degree-of-freedom robotic arm includes:

[0038] Step S101: The forward kinematics expression of the robotic arm is converted into a first expression to characterize the non-standard spinor theory subproblem.

[0039] The robotic arm is a six-degree-of-freedom robotic arm of a serial robot. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion under a specific configuration. That is, the robotic arm does not satisfy the condition that the last three joint axes intersect at a point, nor does it satisfy the condition that three adjacent axes are parallel to each other.

[0040] The following reference Figure 2This section introduces a multi-axis robotic arm with a specific configuration that does not conform to the Pieper criterion.

[0041] Figure 2 A schematic diagram of the structure of the multi-degree-of-freedom robotic arm provided in the embodiments of this application is shown, as follows: Figure 2 As shown, the robotic arm includes six axes, which, in connection order, are axis 201, axis 202, axis 203, axis 204, axis 205, and axis 206. A specific configuration refers to the robotic arm's axis 202 being parallel to axis 203, axis 204 being perpendicular to axis 203, axis 205 being perpendicular to axis 204, and axis 206 being perpendicular to axis 205. The robotic arm also includes multiple joints, including joint 212, joint 213, joint 214, and joint 215. Among these, { } is the base coordinate system, which is the global fixed reference system of the robotic arm and the origin of all motion calculations; The tool coordinate system is a local reference system fixed to the fifth joint of the robotic arm, focusing on the actual working point of the tool. The second axis 202 and the third axis 203 both revolve around... Rotation of direction.

[0042] Meanwhile, the pose of the end effector 216 of the robotic arm and the link lengths between each joint are known. Since the end effector 216 of the robotic arm and the fifth joint 215 are both located on the fifth axis 205, the pose of the fifth joint 215 and the pose of the end effector 216 of the robotic arm only differ in distance. Since this distance difference is known, the pose of the fifth joint 215 is also known. The pose of the fifth joint 215 includes the initial pose of the fifth joint and the pose after the fifth joint has moved. The initial pose of the fifth joint can refer to the pose of the fifth joint in its initial state.

[0043] The following reference Figure 3 Let's introduce the process of determining the first expression.

[0044] Figure 3 A flowchart illustrating the steps for determining the first expression provided in an embodiment of this application is shown, as follows: Figure 3 As shown, the steps for determining the first expression include:

[0045] Step S1011: Multiply both sides of the equation of the forward kinematics expression of the robotic arm by the initial position of the fifth joint to obtain the third expression.

[0046] The forward kinematics expression of the robotic arm can be determined by the exponential product formula for serial robots. The exponential product formula can refer to the POE (Product of Exponentials) formula, which is: Then the forward kinematics expression of the six-axis robotic arm is: ,in, This indicates the initial pose of the fifth joint, that is, the pose of the fifth joint in its initial state. It is a known 4th order matrix; This indicates the position after the fifth joint has moved. It is also a known 4th order matrix; (i=1,2,……,6) represents the initial rotation of motion for each joint; (i=1,2,……,6) represents the joint angle of each joint of the robotic arm.

[0047] This indicates the first joint angle, which can refer to the rotation angle of the first joint around its own axis in the base coordinate system. This indicates the second joint angle, which can refer to the rotation angle of the second joint around its own axis in the base coordinate system. The third joint angle refers to the rotation angle of the third joint around its own axis in the base coordinate system. The fourth joint angle refers to the rotation angle of the fourth joint around its own axis in the base coordinate system. This indicates the fifth joint angle, which can refer to the rotation angle of the fifth joint around its own axis in the base coordinate system. The sixth joint angle refers to the rotation angle of the sixth joint (end effector) around its own axis in the base coordinate system.

[0048] The goal of solving the inverse kinematics of the robotic arm is to find the aforementioned six joint angles. The known conditions for solving the inverse kinematics of the robotic arm are the initial pose of the end effector (sixth joint), the pose of the end effector (sixth joint) after motion, and the initial rotation of each joint. The initial position of each joint. Since the pose of the fifth joint can be determined based on the pose of the end effector, the known conditions for solving the inverse kinematics of the robotic arm include the initial pose of the fifth joint and the pose of the fifth joint after movement. The pose of the fifth joint in its initial state is referred to as the initial pose of the fifth joint.

[0049] Specifically, the initial position of the fifth joint is denoted as: Multiplying both sides of the positive kinematics expression of the robotic arm by the initial position of the fifth joint, we obtain the third expression: In the third expression, This represents the screw index mapping of the first joint, i.e., the screw index mapping of the first joint. This represents the screw index mapping of the second joint, i.e., the screw index mapping of the second joint. This represents the screw index mapping of the third joint, i.e., the screw index mapping of the third joint. This represents the spinor index mapping of the fourth joint, i.e., the spinor index mapping of the fourth joint.

[0050] Step S1012: Based on the principle that the position of the intersection point between the first joint axis and the second joint axis remains unchanged, the third expression is converted into the first intermediate expression.

[0051] The first step is to determine the initial position expression of the second joint based on the principle of position invariance.

[0052] The principle of invariant position means that the position of the intersection point between the axes of the first and second joints remains unchanged; that is, regardless of the rotation of the first and second joints, the position of the intersection point remains the same. Based on this principle, an initial position expression for the second joint can be constructed.

[0053] The initial position expression for the second joint is an equation in which the product of the first joint screw index mapping, the second joint screw index mapping, and the initial position of the second joint equals the initial position of the second joint. The initial position expression for the second joint can be represented as: ,in, This indicates the initial position of the second joint.

[0054] The second step is to subtract the initial position of the second joint from both sides of the equation in the third expression to obtain the distance difference expression.

[0055] After subtracting the initial position of the second joint from both sides of the equation in the third expression, the distance difference expression is: .

[0056] The third step is to replace the target second joint initial position in the distance difference expression with the second joint initial position expression to obtain the first intermediate expression.

[0057] The initial position of the target's second joint refers to the initial position of the second joint in the distance difference expression that is on the same side as the spinor exponent mapping of multiple joints. The first intermediate expression after replacing the initial position of the target's second joint is expressed as: .

[0058] Furthermore, by rearranging the first intermediate expression, we can obtain: .

[0059] Step S1013: Based on the principle that the length of a vector remains unchanged under rotation, the first intermediate expression is simplified to obtain the first expression.

[0060] The principle that vector length remains constant under rotation means that the length of a vector remains unchanged regardless of how it is rotated.

[0061] Taking the norm of both sides of the first intermediate expression, we obtain the expression for the first intermediate distance: .

[0062] Then, based on the principle that the length of a vector remains unchanged under rotation, we can delete the left side of the equation. This yields the first expression.

[0063] The first expression is: The first expression can be described in textual form, for example: the first expression is an equation where the first distance equals the second distance. The first distance is the distance between the first position and the initial position of the second joint. The second distance is the distance between the product of the initial position of the fifth joint, the reciprocal of the initial pose of the fifth joint, and the pose after the fifth joint's movement, and the initial position of the second joint. The first position is the position corresponding to the product of the screw index mapping of the third joint, the screw index mapping of the fourth joint, and the initial position of the fifth joint. The first expression uses the third joint angle and the fourth joint angle as variables. The first distance can be expressed as: The second distance can be expressed as The first position can be represented as: .

[0064] Step S102: Randomly sample the fourth joint angle as a variable to determine the current fourth joint angle, and use the current fourth joint angle to solve the first expression to determine the third joint angle.

[0065] Random sampling is performed within the range of 0° to 360° to determine the current value of the fourth joint angle. Then, the first expression is updated using the current fourth joint angle to transform it into a third expression characterizing the problem of translational rotation about a single axis. The third expression can be represented as: ,in, express ,because but This is also known.

[0066] The following reference Figure 4 Let's introduce the third joint angle.

[0067] Figure 4 A schematic diagram of the third joint angle provided in an embodiment of this application is shown, as follows: Figure 4 As shown, the fifth joint is composed of Start orbiting the fourth axis ( Rotation to Then by Start around the third axis ( Rotation to , and The distance between them is d. express .

[0068] As can be seen from the form of the third expression, by sampling the fourth joint angle, the first expression can be transformed into the third expression representing the rotation and translation problem about a single axis (sub-problem 3) in the Paden-Kahan subproblem of standard spinor theory. The third expression can be solved according to the solution method of the rotation and translation problem about a single axis to determine the third joint angle.

[0069] In one embodiment, when solving the first expression using the current fourth joint angle, the third joint angle may or may not have a solution. Therefore, after solving the first expression, it can be determined whether the third joint angle has a solution. If the third joint angle has no solution, the process returns to step S102, re-samples the fourth joint angle as a variable to redetermine the current fourth joint angle, and re-solves the first expression using the latest current fourth joint angle until the third joint angle has a solution, then proceeds to step S103.

[0070] Step S103: Based on the third joint angle and the current fourth joint angle, the forward kinematics expression of the robotic arm is converted into a second expression to characterize the problem of rotation around an ordered dual axis. The second expression is solved to determine the first joint angle and the second joint angle.

[0071] Specifically, by multiplying both sides of the forward kinematics expression of the robotic arm by the initial position of the fifth joint, and substituting the determined third joint angle and the current fourth joint angle, a second expression is obtained, which is expressed as: ,in, express ,because , And the present If all are known, then This is also known.

[0072] The second expression is an equation used to characterize the problem of rotation around an ordered biaxial axis (subproblem 2) in the Paden-Kahan subproblem in spinor theory. The second expression can be solved according to the solution method of rotation around an ordered biaxial axis, thereby determining the first joint angle and the second joint angle under the current fourth joint angle.

[0073] Step S104: Determine the fifth candidate position of the fifth joint under the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle, and the current fourth joint angle.

[0074] The fifth candidate position is determined by multiplying the first joint screw index mapping corresponding to the first joint angle, the second joint screw index mapping corresponding to the second joint angle, the third joint screw index mapping corresponding to the third joint angle, the fourth joint screw index mapping corresponding to the fourth joint angle, and the initial position of the fifth joint.

[0075] For example, the fifth candidate position is denoted as: Then the fifth candidate position can be represented as: ,because , , , as well as Since all of these are known, the value of the fifth candidate position of the fifth joint under the current fourth joint angle can be calculated.

[0076] In one embodiment, after determining the fifth candidate position, the fifth candidate position can be compared with the actual position of the fifth joint, and the error allowable condition can be determined based on the comparison result.

[0077] For example: Determine if the deviation between the fifth candidate position and the actual position of the fifth joint is less than a set deviation threshold. If the deviation is less than the threshold, the error tolerance condition is met, indicating that the selected fourth joint angle is accurate, and the fifth and sixth joint angles can be determined. If the deviation is greater than or equal to the threshold, the error tolerance condition is not met, indicating that the selected fourth joint angle is inaccurate, and the fourth joint angle needs to be reselected. Then, proceed to step S105. The actual position of the fifth joint is determined based on its pose after movement.

[0078] Step S105: When the fifth candidate position does not meet the error allowable condition, the fourth joint angle, which is a variable, is resampled, and the current fourth joint angle is used to return to the execution of the step of solving the first expression using the current fourth joint angle to determine the third joint angle.

[0079] If the fifth candidate position does not meet the error allowable condition, it indicates that the fifth candidate position determined under the current fourth joint angle does not match the actual position of the fifth joint, and the fourth joint angle needs to be resampled. Therefore, the process returns to step S102.

[0080] Following this pattern, after multiple iterations, until the fifth candidate position meets the error allowable condition, the fifth and sixth joint angles are determined based on the first, second, third, and fourth joint angles.

[0081] When the fifth candidate position meets the error allowable condition, the forward kinematics expression of the robotic arm is transformed into a fourth expression to characterize the problem of rotation around an ordered biaxial axis; according to the solution method of the problem of rotation around an ordered biaxial axis, the fourth expression is solved to determine the fifth joint angle and the sixth joint angle.

[0082] For example: in the positive kinematics expression of the robotic arm , , , as well as Moving both sides to the other side of the equation, we can obtain the second intermediate expression. Then, multiply both sides of the second intermediate expression by the initial position of the target joint. This is to obtain the fourth expression. Here, the initial position of the target joint can refer to the position of the target joint in its initial state.

[0083] The target joint is selected from multiple joints. The target joint can be the third joint or the fourth joint. When the target joint is the third joint, the fourth expression is: At this point, the target's derived location can refer to... The fourth expression only contains and It is unknown, and is a rotation problem about an ordered biaxial axis under the standard Paden-Kahan subproblem in spinor theory (subproblem 2). Therefore, the solution method for rotation problems about an ordered biaxial axis can be used to solve the fourth expression to determine the fifth and sixth joint angles.

[0084] The inverse kinematics method for multi-degree-of-freedom robotic arms provided in this application can transform complex nonlinear problems into a series of subproblems with clear geometric meanings. The transformed subproblems are solved sequentially according to screw theory, which improves the solution efficiency and numerical stability. Compared with the inverse kinematics method for multi-degree-of-freedom robotic arms in the prior art, it solves the problems of low solution efficiency and poor numerical stability in the inverse kinematics process of robotic arms.

[0085] Based on the same inventive concept, this application also provides an inverse solution device for a multi-degree-of-freedom robotic arm corresponding to the inverse solution method of the multi-degree-of-freedom robotic arm. Since the principle of the device in this application is similar to the inverse solution method of the multi-degree-of-freedom robotic arm described above in this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0086] Please see Figure 5 , Figure 5 This is a schematic diagram of the inverse kinematics device for a multi-degree-of-freedom robotic arm provided in an embodiment of this application. Figure 5As shown, the inverse kinematics device 400 of the multi-degree-of-freedom robotic arm includes:

[0087] The first expression determination module 401 is used to convert the positive kinematics expression of the robotic arm into a first expression for characterizing a non-standard screw theory subproblem. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion. The first expression uses the third joint angle and the fourth joint angle as variables.

[0088] The first angle determination module 402 is used to randomly sample the fourth joint angle as a variable to determine the current fourth joint angle, and use the current fourth joint angle to solve the first expression to determine the third joint angle;

[0089] The second angle determination module 403 is used to convert the forward kinematic expression of the robotic arm into a second expression to characterize the problem of rotation around an ordered dual axis based on the third joint angle and the current fourth joint angle, solve the second expression, and determine the first joint angle and the second joint angle.

[0090] The first position determination module 404 is used to determine the fifth candidate position of the fifth joint under the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle and the current fourth joint angle;

[0091] The loop iteration module 405 is used to resample the fourth joint angle as a variable when the fifth candidate position does not meet the error allowable condition, and return to the step of using the newly determined current fourth joint angle to solve the first expression and determine the third joint angle.

[0092] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 6 As shown, the electronic device 500 includes a processor 510, a memory 520, and a bus 530.

[0093] The memory 520 stores machine-readable instructions executable by the processor 510. When the electronic device 500 is running, the processor 510 and the memory 520 communicate via the bus 530. When the machine-readable instructions are executed by the processor 510, they can perform the operations described above. Figure 1 The steps of the inverse kinematics method for the multi-degree-of-freedom robotic arm in the method embodiment shown are described in the method embodiment for specific implementation, and will not be repeated here.

[0094] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can perform the above-described actions. Figure 1The steps of the inverse kinematics method for the multi-degree-of-freedom robotic arm in the method embodiment shown are described in the method embodiment for specific implementation, and will not be repeated here.

[0095] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0096] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the shown or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0097] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0098] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0099] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0100] Finally, it should be noted that the above-described embodiments are merely specific implementations of this application, used to illustrate the technical solutions of this application, and not to limit them. The scope of protection of this application is not limited thereto. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this application. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for inverse kinematics of a multi-degree-of-freedom robotic arm, characterized in that, include: The forward kinematics expression of the robotic arm is converted into a first expression to characterize a non-standard spinor theory subproblem. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion under a specific configuration. The first expression uses the third joint angle and the fourth joint angle as variables. The robotic arm includes six axes. The specific configuration refers to the robotic arm having the second axis parallel to the third axis, the fourth axis perpendicular to the third axis, the fifth axis perpendicular to the fourth axis, and the sixth axis perpendicular to the fifth axis. The fourth joint angle, which is a variable, is randomly sampled to determine the current fourth joint angle. The first expression is then solved using the current fourth joint angle to determine the third joint angle. Based on the third joint angle and the current fourth joint angle, the forward kinematics expression of the robotic arm is converted into a second expression to characterize the problem of rotation around an ordered dual axis. The second expression is then solved to determine the first joint angle and the second joint angle. Based on the first joint angle, the second joint angle, the third joint angle, and the current fourth joint angle, determine the fifth candidate position of the fifth joint under the current fourth joint angle; If the fifth candidate position does not meet the error allowable condition, the fourth joint angle, which is a variable, is resampled, and the step of solving the first expression using the current fourth joint angle to determine the third joint angle is returned to be executed.

2. The method according to claim 1, characterized in that, The step of converting the positive kinematics expression of the robotic arm into a first expression for characterizing a non-standard spinor theory subproblem includes: By multiplying both sides of the equation of the positive kinematics expression of the robotic arm by the initial position of the fifth joint, a third expression is obtained; Based on the principle that the position of the intersection point between the first joint axis and the second joint axis remains unchanged, the third expression is converted into a first intermediate expression; Based on the principle that the length of a vector remains unchanged under rotation, the first intermediate expression is simplified to obtain the first expression.

3. The method according to claim 2, characterized in that, The step of converting the third expression into a first intermediate expression based on the principle that the position of the intersection point between the first joint axis and the second joint axis remains unchanged includes: Based on the principle of position invariance, the expression for the initial position of the second joint is determined. The expression for the initial position of the second joint is an equation in which the product of the first joint screw index mapping, the second joint screw index mapping, and the initial position of the second joint is equal to the initial position of the second joint. Subtract the initial position of the second joint from both sides of the equation in the third expression to obtain the distance difference expression; The target second joint initial position in the distance difference expression is replaced with the second joint initial position expression to obtain the first intermediate expression.

4. The method according to claim 1, characterized in that, The step of solving the first expression using the current fourth joint angle to determine the third joint angle includes: The first expression is updated using the current fourth joint angle to transform it into a third expression characterizing the problem of rotation and translation about a single axis. Based on the solution method for the rotation and translation problem about a single axis, the third expression is solved to determine the third joint angle.

5. The method according to claim 1, characterized in that, The first expression is an equation in which the first distance equals the second distance. The first distance is the distance between the first position and the initial position of the second joint. The second distance is the distance between the product of the initial position of the fifth joint, the reciprocal of the initial pose of the fifth joint, and the pose after the movement of the fifth joint, and the initial position of the second joint. The first position is the position corresponding to the product of the screw index mapping of the third joint, the screw index mapping of the fourth joint, and the initial position of the fifth joint.

6. The method according to claim 2, characterized in that, The step of converting the forward kinematics expression of the robotic arm into a second expression characterizing the problem of rotation about an ordered biaxial axis based on the third joint angle and the current fourth joint angle includes: Substitute the determined third joint angle and the current fourth joint angle into the third expression to obtain the second expression.

7. The method according to claim 1, characterized in that, The step of determining the fifth candidate position of the fifth joint under the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle, and the current fourth joint angle includes: The fifth candidate position is determined by multiplying the first joint rotation index mapping corresponding to the first joint angle, the second joint rotation index mapping corresponding to the second joint angle, the third joint rotation index mapping corresponding to the third joint angle, the fourth joint rotation index mapping corresponding to the fourth joint angle, and the initial position of the fifth joint.

8. The method according to claim 1, characterized in that, After solving the first expression using the current fourth joint angle to determine the third joint angle, the method further includes: Determine if there is a solution for the third joint angle; If the third joint angle has no solution, the fourth joint angle, which is a variable, is sampled again to determine the latest current fourth joint angle, so as to solve the first expression using the latest current fourth joint angle.

9. The method according to claim 1, characterized in that, The method further includes: When the error allowable condition is met at the fifth candidate position, the forward kinematics expression of the robotic arm is converted into a fourth expression to characterize the problem of rotation around an ordered dual axis. The fourth expression is solved using the method for solving problems involving rotations around ordered biaxial axes, in order to determine the fifth and sixth joint angles.

10. A reverse engineering device for a multi-degree-of-freedom robotic arm, characterized in that, include: The first expression determination module is used to convert the forward kinematics expression of the robotic arm into a first expression for characterizing a non-standard spinor theory subproblem. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion under a specific configuration. The first expression uses the third joint angle and the fourth joint angle as variables. The robotic arm includes six axes. The specific configuration refers to the robotic arm having the second axis parallel to the third axis, the fourth axis perpendicular to the third axis, the fifth axis perpendicular to the fourth axis, and the sixth axis perpendicular to the fifth axis. The first angle determination module is used to randomly sample the fourth joint angle as a variable to determine the current fourth joint angle, and use the current fourth joint angle to solve the first expression to determine the third joint angle; The second angle determination module is used to convert the forward kinematic expression of the robotic arm into a second expression for characterizing the problem of rotation around an ordered dual axis based on the third joint angle and the current fourth joint angle, solve the second expression, and determine the first joint angle and the second joint angle. The first position determination module is used to determine the fifth candidate position of the fifth joint under the current fourth joint angle based on the first joint angle, the second joint angle, the third joint angle and the current fourth joint angle; The loop iteration module is used to resample the fourth joint angle as a variable when the fifth candidate position does not meet the error allowable condition, and return to the step of solving the first expression using the current fourth joint angle to determine the third joint angle using the newly determined current fourth joint angle.

Citation Information

Patent Citations

  • Inverse kinematics general solving method of five-degree-of-freedom serial robot

    CN106845037A

  • Method and device for determining joint rotation angles of series robot

    CN108406769A