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

By combining geometric decomposition and spinor theory, the inverse kinematics problem of a multi-degree-of-freedom robotic arm is decomposed into multiple sub-problems, solving the problems of complex solutions and numerical instability in existing technologies, and achieving efficient and accurate inverse kinematics solutions.

CN121374642BActive Publication Date: 2026-03-27HANGZHOU 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
Filing Date
2025-12-23
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing methods for solving the inverse kinematics of multi-degree-of-freedom robotic arms suffer from problems such as complex solution processes, poor numerical stability, and limited applicability, especially for robotic arms that do not conform to the Pieper criterion.

Method used

A hybrid strategy combining geometric decomposition and spinor theory is adopted to decompose the inverse kinematics problem into multiple subproblems, and the joint angles are gradually determined by solving problems involving rotations around a single axis and a double axis.

Benefits of technology

It improves the solution efficiency and numerical stability, and solves the problems of low solution efficiency and poor numerical stability in the inverse kinematics process of robotic arms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121374642B_ABST
    Figure CN121374642B_ABST
Patent Text Reader

Abstract

The application provides a multi-degree-of-freedom mechanical arm inverse solution method and device, the method comprises the following steps: selecting a fourth candidate position corresponding to a fourth joint on the mechanical arm; determining a first joint angle according to the fourth candidate position and the spatial posture relationship between the axes, solving the positive kinematics expression of the fourth joint by using the first joint angle, determining a second joint angle and a third joint angle; converting the positive kinematics expression of the mechanical arm into a first expression used for representing the single-axis rotation problem, solving the first expression to determine the fourth joint angle; determining a fifth candidate position according to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle; and reselecting the fourth candidate position when the error allowance condition is not met. By using the 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] The present application relates to the technical field of mechanical arm control, in particular to a multi-degree-of-freedom mechanical arm inverse solution method and device. BACKGROUND

[0002] Inverse kinematics solving of a serial robot is a core problem of robot motion planning and control. For a long time, researchers have developed various solving strategies, but each has its own limitations. The existing technology usually includes the following three inverse kinematics solving methods: the first is an analytical method based on algebraic elimination, which establishes a D-H parameter model of the robot, deduces a nonlinear equation set between the end pose and the joint angle, and uses algebraic elimination to convert the problem into a high-order polynomial solving; the second is an optimization method based on numerical iteration, which uses numerical optimization algorithms such as Newton-Raphson method and quasi-Newton method to solve the inverse kinematics equation through iterative approximation; the third is a method based on geometric decomposition, which needs to use Pieper criterion for decoupling for spherical wrist robots.

[0003] However, the analytical method based on algebraic elimination needs to convert the 6R robot inverse kinematics into a 16th order polynomial solving, which has the problems of complex solving process and poor numerical stability; the optimization method based on numerical iteration needs to update the joint angle through inverse or pseudo-inverse of the Jacobian matrix until the end pose error converges, and the convergence depends heavily on the initial guess, which easily leads to local optimization or complete divergence, and the Jacobian matrix is prone to ill-conditioned problems near the singular configuration of the robot, resulting in numerical instability; the method based on geometric decomposition cannot be applied to robots that do not meet the pieper criterion configuration. SUMMARY

[0004] Therefore, the purpose of the present application is to provide a multi-degree-of-freedom mechanical arm inverse solution method and device to overcome at least one of the above-mentioned defects.

[0005] In the first aspect, the embodiments of the present application provide a multi-degree-of-freedom mechanical arm inverse solution method, comprising:

[0006] Within a preset range corresponding to the end effector with a known pose, a fourth candidate position corresponding to a fourth joint on the mechanical arm is selected, and the mechanical arm is a multi-axis mechanical arm that does not meet the pieper criterion.

[0007] According to the fourth candidate position and the spatial attitude relationship between the axes, a first joint angle is determined, a forward kinematics expression of the fourth joint is solved using the first joint angle, and a second joint angle and a third joint angle are determined.

[0008] The positive kinematics expression of the robot arm is converted into a first expression for representing a single-axis rotation problem, and the first expression is solved according to the first joint angle, the second joint angle and the third joint angle to determine the fourth joint angle.

[0009] According to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle, a fifth candidate position of the fifth joint at the fourth candidate position is determined.

[0010] When the fifth candidate position does not satisfy the error allowance condition, the fourth candidate position is reselected, and the step of determining the first joint angle according to the reselected fourth candidate position and the spatial posture relationship between the axes is performed again.

[0011] Optionally, the second axis and the third axis of the robot arm are parallel, the fourth axis is perpendicular to the third axis, the fifth axis is perpendicular to the fourth axis, and the sixth axis is perpendicular to the fifth axis.

[0012] Optionally, the step of solving the positive kinematics expression of the fourth joint by using the first joint angle to determine the second joint angle and the third joint angle includes: converting the positive kinematics expression of the fourth joint into a second expression for solving the second joint angle and the third joint angle, the second expression being an equation that the product of the second joint screw index mapping, the third joint screw index mapping and the fourth joint initial position is equal to the ratio of the fourth candidate position to the first joint screw index mapping; and solving the second expression according to a solving method of an ordered double-axis rotation problem to determine the second joint angle and the third joint angle.

[0013] Optionally, the step of converting the positive kinematics expression of the robot arm into the first expression for representing the single-axis rotation problem includes: moving the first joint screw index mapping, the second joint screw index mapping, the third joint screw index mapping and the fifth joint initial position in the positive kinematics expression of the robot arm to the other side of the equation to obtain a first intermediate expression; and multiplying the fifth joint initial position by both sides of the equation of the first intermediate expression to obtain the first expression.

[0014] Optionally, the first expression is an equation that the product of the fourth joint screw index mapping and the fifth joint initial position is equal to a fifth derived position, and the fifth derived position is the ratio of the product of the fifth joint initial position and the post-movement position of the fifth joint to the product of the fifth joint initial position, the first joint screw index mapping, the second joint screw index mapping and the third joint screw index mapping.

[0015] Optionally, the step of solving the first expression according to the first joint angle, the second joint angle and the third joint angle to determine the fourth joint angle includes: solving the first expression according to a solving method of a single-axis rotation problem to determine the fourth joint angle.

[0016] Optionally, the step of determining the fifth candidate position of the fifth joint at the fourth candidate position according to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle comprises: determining the fifth candidate position according to a 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 fifth joint initial position.

[0017] Optionally, the method further comprises: when the fifth candidate position satisfies the error allowance condition, converting the forward kinematics expression of the robot arm into a third expression used for representing a double-axis rotation problem around an order; and solving the third expression according to a solving method of the double-axis rotation problem around the order to determine the fifth joint angle and the sixth joint angle.

[0018] Optionally, the step of determining the first joint angle according to the fourth candidate position and the spatial posture relationship between the axes comprises: determining, according to the spatial posture relationship, an inverse tangent value of the fourth candidate position on a horizontal plane as the first joint angle.

[0019] In a second aspect, the embodiments of the present application further provide an inverse solution device of a multi-degree-of-freedom robot arm, the device comprising:

[0020] a first position determining module configured to select a fourth candidate position corresponding to a fourth joint on the robot arm within a preset range corresponding to an end effector with a known pose, the robot arm being a multi-axis robot arm not conforming to a Pieper criterion;

[0021] a first angle determining module configured to determine a first joint angle according to the fourth candidate position and a spatial posture relationship between the axes, and to solve a forward kinematics expression of the fourth joint by using the first joint angle to determine a second joint angle and a third joint angle;

[0022] a second angle determining module configured to convert a forward kinematics expression of the robot arm into a first expression used for representing a single-axis rotation problem, and to solve the first expression according to the first joint angle, the second joint angle and the third joint angle to determine a fourth joint angle;

[0023] a second position determining module configured to determine a fifth candidate position of a fifth joint at the fourth candidate position according to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle;

[0024] The circulating execution module is configured to, when the fifth candidate position does not satisfy the error allowance condition, reselect the fourth candidate position, and return to execute the step of determining the first joint angle according to the reselected fourth candidate position and the spatial posture relationship between the axes.

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

[0026] The inverse solution method and device for a multi-degree-of-freedom mechanical arm provided by the embodiments of the present application can convert the inverse solution problem of the mechanical arm into multiple sub-problems by using a hybrid strategy combining geometric decomposition and screw theory, and then accurately solve each sub-problem, thereby improving the solving efficiency and numerical stability. Compared with the inverse solution method for a multi-degree-of-freedom mechanical arm in the prior art, the embodiments of the present application solve the problems of low solving efficiency and poor numerical stability in the inverse solution process of the mechanical arm.

[0027] In order to make the above objectives, characteristics and advantages of the present application more apparent, clear and easy to understand, the following will specifically describe the preferred embodiments of the present application, and the accompanying drawings will be described in detail as follows. BRIEF DESCRIPTION OF DRAWINGS

[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as a limitation to the scope. For those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0029] Figure 1 A flowchart of the inverse solution method for a multi-degree-of-freedom mechanical arm provided by the embodiments of the present application is shown;

[0030] Figure 2 A structural schematic diagram of the multi-degree-of-freedom mechanical arm provided by the embodiments of the present application is shown;

[0031] Figure 3 A schematic diagram of the first joint angle provided by the embodiments of the present application is shown;

[0032] Figure 4 A structural schematic diagram of the inverse solution device for a multi-degree-of-freedom mechanical arm provided by the embodiments of the present application is shown;

[0033] Figure 5 A structural schematic diagram of the electronic device provided by the embodiments of the present application is shown. DETAILED DESCRIPTION

[0034] 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.

[0035] 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.

[0036] 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:

[0037] Step S101: Within the preset range corresponding to the end effector with known pose, select the fourth candidate position corresponding to the fourth joint on the robotic arm.

[0038] 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.

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

[0040] 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 2As shown, the robot arm includes six axes, which are the first axis 201, the second axis 202, the third axis 203, the fourth axis 204, the fifth axis 205 and the sixth axis 206 in the order of connection, and a specific configuration refers to that the second axis 202 and the third axis 203 of the robot arm are parallel, the fourth axis 204 is perpendicular to the third axis 203, the fifth axis 205 is perpendicular to the fourth axis 204, and the sixth axis 206 is perpendicular to the fifth axis 205. Meanwhile, the robot arm includes a plurality of joints, which include the second joint 212, the third joint 213, the fourth joint 214 and the fifth joint 215. Among them, is a base coordinate system, which is a global fixed reference system of the robot arm and is a reference origin for all motion calculations; is a tool coordinate system, which is a local reference system fixed to the fifth joint of the robot arm and focuses on the actual working point of the tool. Among them, the second axis 202 and the third axis 203 both rotate around direction.

[0041] Meanwhile, the pose of the end effector 216 of the robot arm and the link length between the joints are known, and since the end effector 216 of the robot arm and the fifth joint 215 are on the same fifth axis, the pose of the fifth joint 215 only has a distance difference with the pose of the end effector 216 of the robot arm. Since the distance difference is known, the pose of the fifth joint 215 is also known, which includes the initial pose of the fifth joint and the pose after the motion of the fifth joint. The initial pose of the fifth joint can refer to the pose of the fifth joint in the initial state.

[0042] When the pose of the fifth joint 215 is known, since the fifth axis 205 and the sixth axis 206 are perpendicular, it can be determined that the position of the fourth joint 214 must be on a circle with the fifth joint 215 as the center and L as the radius, so the circle is the preset range, and the position of the circle is determined based on the position of the end effector 216 of the robot arm.

[0043] After determining the preset range, a point can be randomly selected in the preset range, and the selected point is determined as the fourth candidate position, wherein the fourth candidate position can refer to the candidate position of the fourth joint.

[0044] The coordinates of the fourth candidate position in the tool coordinate system are denoted as: The fourth candidate position can be expressed as: , wherein represents the included angle between the fourth candidate position in the tool coordinate system and the horizontal plane in the preset range; L represents the distance between the fourth joint and the fifth joint.

[0045] The coordinates of the fourth candidate position in the base coordinate system are denoted as: The fourth candidate position can be expressed as: .

[0046] In step S102, the first joint angle is determined according to the fourth candidate position and the spatial posture relationship between the axes, and the positive kinematics expression of the fourth joint is solved by using the first joint angle to determine the second joint angle and the third joint angle.

[0047] The spatial posture relationship can refer to a parallel or vertical relationship between the axes.

[0048] The first joint angle can refer to a rotation angle of the first joint around its own axis in the base coordinate system, and the first joint angle is denoted as: The second joint angle can refer to a rotation angle of the second joint around its own axis in the base coordinate system, and the second joint angle is denoted as: The third joint angle can refer to a rotation angle of the third joint around its own axis in the base coordinate system, and the third joint angle is denoted as: The fourth joint angle can refer to a rotation angle of the fourth joint around its own axis in the base coordinate system, and the fourth joint angle is denoted as: The fifth joint angle can refer to a rotation angle of the fifth joint around its own axis in the base coordinate system, and the fifth joint angle is denoted as: The sixth joint angle can refer to a rotation angle of the sixth joint (end effector) around its own axis in the base coordinate system, and the sixth joint angle is denoted as: .

[0049] The goal of the inverse kinematics solving of the robot arm is the above six joint angles, and the known conditions of the inverse kinematics solving of the robot arm are the pose of the end effector (sixth joint) in the initial state, the pose of the end effector (sixth joint) after movement, and the initial motion screw of each joint , the position of each joint in the initial state. Since the pose of the fifth joint can be determined according to the pose of the end effector, the known conditions of the inverse kinematics solving of the robot arm include the pose of the fifth joint in the initial state and the pose of the fifth joint after movement. The pose of the fifth joint in the initial state is referred to as the fifth joint initial pose.

[0050] The determination process of the first joint angle will be described below with reference to Figure 3 .

[0051] Figure 3 A schematic diagram of the first joint angle provided by the embodiment of the application is shown, as Figure 3As shown, the second joint 212, the third joint 213, and the fourth joint 214 are all within plane 310, while the fourth joint 214, the fifth joint 215, and the sixth joint 216 are all within plane 320. Since the second axis is parallel to the third axis and the fourth axis is perpendicular to the third axis, the spatial position of the fourth joint 214 is determined by the first axis, the second axis, and the third axis. Furthermore, the projection of the fourth joint 214 onto the xy-plane is... The connection and Angle between axes (i.e., the first joint angle) is determined only by the first axis.

[0052] Thus, when determining the first joint angle, the arctangent value of the fourth candidate position on the horizontal plane can be used as the first joint angle based on the spatial attitude relationship. For example, the fourth candidate position corresponding to the fourth joint... The coordinates are ( ),but Given that the fourth candidate position is known, the value of the first joint angle can be determined.

[0053] In one embodiment, when determining the second joint angle and the third joint angle, the forward kinematic expression of the fourth joint can be converted into a second expression for solving the second joint angle and the third joint angle. Then, the second expression is solved according to the solution method for the problem of rotation around an ordered biaxial axis to determine the second joint angle and the third joint angle.

[0054] Specifically, the forward kinematic expression of the fourth joint can be expressed as: , This indicates the position of the fourth joint in its initial state, i.e., the initial position of the fourth joint. It is known. The positive kinematic expression of the fourth joint can be transformed into a second expression, which is an equation in which the product of the second joint screw index mapping, the third joint screw index mapping, and the initial position of the fourth joint is equal to the ratio of the fourth candidate position to the first joint screw index mapping.

[0055] For example: the first joint screw index mapping can refer to the screw index mapping of the first joint, which is denoted as: The second joint screw index mapping can refer to the screw index mapping of the second joint, which is denoted as: The third joint screw index mapping can refer to the screw index mapping of the third joint, which is denoted as: Then the second expression can be represented as: .

[0056] The second expression represents the position of the fourth joint from its initial state. First rotate around the third axis Angle, then rotate around the second axis Angle, finally with Overlap, among which, Since the third axis is parallel to the second axis, and They lie in the same plane. In this way, a complex algebraic problem is transformed into a simple plane geometry problem in which only the second and third joint angles are unknown. Moreover, this plane geometry problem is a rotation problem about an ordered biaxial axis in the theory of a variant Paden-Kahan subproblem. The solution method for rotation problems about ordered biaxial axes can be used to solve the second expression, and the values ​​of the second and third joint angles can be determined.

[0057] In one embodiment, when determining the second joint angle and the third joint angle, it is also necessary to verify whether there is a solution for the second joint angle and the third joint angle. If there is no solution, the process returns to step S101 to reselect the fourth candidate position; if there is a solution, the process continues to step S103.

[0058] Step S103: The forward kinematics expression of the robotic arm is converted into a first expression to characterize the rotation problem around a single axis. The first expression is solved based on the first joint angle, the second joint angle, and the third joint angle to determine the fourth joint angle.

[0059] 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 pose of the fifth joint in its initial state, i.e., the initial pose of the fifth joint. 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.

[0060] When converting the forward kinematics expression of the robotic arm, the first joint screw index mapping, the second joint screw index mapping, the third joint screw index mapping, and the initial pose of the fifth joint in the forward kinematics expression of the robotic arm are moved to the other side of the equation to obtain the first intermediate expression; the initial position of the fifth joint is multiplied on both sides of the equation of the first intermediate expression to obtain the first expression. For example, the following equation is obtained:

[0061] , , , , , , ,

[0062] The first expression is an equation that the product of the fourth joint screw index mapping and the fifth joint initial position is equal to the fifth derived position, the fifth derived position refers to the ratio of the product of the fifth joint initial position and the pose of the fifth joint after movement to the product of the fifth joint initial pose, the first joint screw index mapping, the second screw index mapping, and the third screw index mapping, and the first expression is: , , In the first expression, only the fourth joint angle

[0063] Step S104, according to the first joint angle, the second joint angle, the third joint angle, and the fourth joint angle, the fifth candidate position of the fifth joint in the fourth candidate position is determined.

[0064] The fifth candidate position refers to the position of the fifth joint when the fourth joint is in the fourth candidate position, and the fifth candidate position is determined based on the fourth candidate position. The fifth candidate position may deviate from the actual position of the fifth joint.

[0065] In an embodiment, after determining the first four joint angles, 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 fifth joint initial position can be used to determine the fifth candidate position.

[0066] Specifically, the fifth candidate position is denoted as: The fifth candidate position can be expressed as follows: In this equation, only the fifth candidate position is unknown, so the fifth candidate position can be calculated.

[0067] In an embodiment, after the fifth candidate position is determined, the fifth candidate position can be compared with the actual position of the fifth joint, and it is determined whether the error allowance condition is satisfied according to the comparison result.

[0068] For example, it is determined whether 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 between the fifth candidate position and the actual position of the fifth joint is less than the set deviation threshold, it is determined that the error allowance condition is satisfied, indicating that the selected fourth candidate position is accurate, and the fifth joint angle and the sixth joint angle can be determined continuously. If the deviation between the fifth candidate position and the actual position of the fifth joint is greater than or equal to the set deviation threshold, it is determined that the error allowance condition is not satisfied, indicating that the selected fourth candidate position is not accurate enough, and the fourth candidate position needs to be selected again, and step S105 is executed continuously. The actual position of the fifth joint is determined according to the pose after the movement of the fifth joint.

[0069] In step S105, when the fifth candidate position does not satisfy the error allowance condition, the fourth candidate position is selected again, so as to return to execute the step of determining the first joint angle according to the fourth candidate position and the spatial pose relationship between the axes.

[0070] When the fifth candidate position does not satisfy the error allowance condition, it indicates that the selected fourth candidate position does not match the actual position of the fourth joint, and the fourth candidate position needs to be selected again in the preset range, so as to return to execute step S101.

[0071] By analogy, after multiple iterations, when the fifth candidate position satisfies the error allowance condition, the fifth joint angle and the sixth joint angle are determined according to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle.

[0072] Specifically, when the fifth candidate position satisfies the error allowance condition, the forward kinematics expression of the robot arm is converted into a third expression including the fifth joint angle and the sixth joint angle. Then, the third expression is solved according to the solving method of the ordered double-axis rotation problem, so as to determine the fifth joint angle and the sixth joint angle.

[0073] For example, the , , , and in the forward kinematics expression of the robot arm are all moved to the other side of the equation, and a second intermediate expression is obtained. Then, the target joint initial position is multiplied by both sides of the second intermediate expression, so as to obtain the third expression. The target joint initial position can refer to the position of the target joint in the initial state.

[0074] The third expression is an equation that the product of the fifth joint screw index mapping, the sixth joint screw index mapping and the target joint initial position is equal to the target derived position, the target derived position is the ratio of the product of the target joint initial position and the post-movement pose of the fifth joint and the product of the fifth joint initial pose, the first joint screw index mapping, the second joint screw index mapping, the third joint screw index mapping and the fourth joint screw index mapping. The target joint is a joint selected from the plurality of joints, and the target joint can be the third joint or the fourth joint. When the target joint is the third joint, the third expression is: At this time, the target derived position can refer to . Only and in the third expression are unknown, and the problem of rotating around the ordered double-axis is a standard Paden-Kahan sub-problem theory, so the third expression can be solved by using the solving method of the problem of rotating around the ordered double-axis to determine the fifth joint angle and the sixth joint angle.

[0075] The inverse solution method of the multi-degree-of-freedom mechanical arm provided in the embodiments of the present application can convert the mechanical arm inverse solution problem into a plurality of sub-problems through a hybrid strategy combining geometric decomposition and screw theory, and then accurately solve each sub-problem, thereby improving the solving efficiency and numerical stability and solving the problems of low solving efficiency and poor numerical stability in the mechanical arm inverse solution process.

[0076] Based on the same inventive concept, the embodiments of the present application also provide an inverse solution device of a multi-degree-of-freedom mechanical arm corresponding to the inverse solution method of the multi-degree-of-freedom mechanical arm. Since the principle of solving problems by the device in the embodiments of the present application is similar to the inverse solution method of the multi-degree-of-freedom mechanical arm described above, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described herein.

[0077] Please refer to Figure 4 , Figure 4 is a structural schematic diagram of an inverse solution device of a multi-degree-of-freedom mechanical arm provided by the embodiments of the present application. As shown in Figure 4 , the inverse solution device 400 of the multi-degree-of-freedom mechanical arm comprises:

[0078] A first position determination module 401 is configured to select a fourth candidate position corresponding to a fourth joint on the mechanical arm in a preset range corresponding to an end effector with a known pose, and the mechanical arm is a multi-axis mechanical arm not meeting the Pieper criterion.

[0079] The first angle determination module 402 is configured to determine the first joint angle according to the fourth candidate position and the spatial posture relationship between the axes, and solve the forward kinematics expression of the fourth joint by using the first joint angle to determine the second joint angle and the third joint angle.

[0080] The second angle determination module 403 is configured to convert the forward kinematics expression of the mechanical arm into a first expression used for representing the rotation problem around a single axis, and solve the first expression according to the first joint angle, the second joint angle and the third joint angle to determine the fourth joint angle.

[0081] The second position determination module 404 is configured to determine the fifth candidate position of the fifth joint at the fourth candidate position according to the first joint angle, the second joint angle, the third joint angle and the fourth joint angle.

[0082] The loop execution module 405 is configured to, when the fifth candidate position does not satisfy the error allowance condition, reselect the fourth candidate position, and return to execute the step of determining the first joint angle according to the fourth candidate position and the spatial posture relationship between the axes according to the reselected fourth candidate position.

[0083] Please refer to Figure 5 , Figure 5 A structure schematic diagram of an electronic device provided by an embodiment of the present application is shown in FIG. 5. Figure 5 As shown in FIG. 5, the electronic device 500 includes a processor 510, a memory 520 and a bus 530.

[0084] The memory 520 stores machine readable instructions executable by the processor 510, and when the electronic device 500 is running, the processor 510 and the memory 520 communicate through the bus 530. When the machine readable instructions are executed by the processor 510, the steps of the inverse solution method of the multi-degree-of-freedom mechanical arm in the method embodiment shown in the above description can be performed. For specific implementation manners, refer to the method embodiment, which will not be described here. Figure 1 The processor 510 executes the machine readable instructions stored in the memory 520, and the steps of the inverse solution method of the multi-degree-of-freedom mechanical arm in the method embodiment shown in the above description can be performed. For specific implementation manners, refer to the method embodiment, which will not be described here.

[0085] The present application also provides a computer readable storage medium, which stores a computer program. When the computer program is run by a processor, the steps of the inverse solution method of the multi-degree-of-freedom mechanical arm in the method embodiment shown in the above description can be performed. For specific implementation manners, refer to the method embodiment, which will not be described here. Figure 1 The processor 510 executes the machine readable instructions stored in the memory 520, and the steps of the inverse solution method of the multi-degree-of-freedom mechanical arm in the method embodiment shown in the above description can be performed. For specific implementation manners, refer to the method embodiment, which will not be described here.

[0086] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiment, which will not be described here.

[0087] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. The described device embodiments are merely schematic, for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different units, or the among different units, can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.

[0088] The units described as separated components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments of the present application.

[0089] In addition, each functional unit in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically as a separate unit, or two or more units can be integrated in one unit.

[0090] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a non-volatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present application or the parts of the technical solutions that make essential contributions to the prior art can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0091] Finally, it should be noted that the above-described embodiments are merely specific embodiments of the present application, which are used to illustrate the technical solutions of the present application, but not to limit the same. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those skilled in the art that any person skilled in the art can make modifications or easily think of changes to the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some of the technical features within the technical scope disclosed by the present application. The modifications, changes or replacements do not make the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for inverse kinematics of a multi-degree-of-freedom robotic arm, characterized in that, include: Within a preset range corresponding to the end effector with known pose, the fourth candidate position corresponding to the fourth joint on the robotic arm is selected. The robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion. Based on the fourth candidate position and the spatial attitude relationship between each axis, the first joint angle is determined, and the positive kinematic expression of the fourth joint is solved using the first joint angle to determine the second and third joint angles. The forward kinematics expression of the robotic arm is converted into a first expression to characterize the rotation problem around a single axis. The first expression is then solved based on the first joint angle, the second joint angle, and the third joint angle to determine the fourth joint angle. Based on the first joint angle, the second joint angle, the third joint angle, and the fourth joint angle, determine the fifth candidate position of the fifth joint under the fourth candidate position; If the fifth candidate position does not meet the error allowable condition, the fourth candidate position is reselected, and the step of determining the first joint angle based on the fourth candidate position and the spatial attitude relationship between each axis is returned to be executed.

2. The method according to claim 1, characterized in that, The second axis of the robotic arm is parallel to the third axis, the fourth axis is perpendicular to the third axis, the fifth axis is perpendicular to the fourth axis, and the sixth axis is perpendicular to the fifth axis.

3. The method according to claim 1, characterized in that, The step of solving the positive kinematic expression of the fourth joint using the first joint angle to determine the second and third joint angles includes: The positive kinematic expression of the fourth joint is converted into a second expression for solving the second joint angle and the third joint angle. The second expression is an equation in which the product of the second joint screw index mapping, the third joint screw index mapping and the initial position of the fourth joint is equal to the ratio of the fourth candidate position to the first joint screw index mapping. The second expression is solved using the method for solving problems involving rotations around ordered biaxial axes, in order to determine the second joint angle and the third joint angle.

4. The method according to claim 1, characterized in that, The step of converting the forward kinematics expression of the robotic arm into a first expression characterizing a rotation problem about a single axis includes: The first joint screw index mapping, the second joint screw index mapping, the third joint screw index mapping, and the initial pose of the fifth joint in the positive kinematics expression of the robotic arm are moved to the other side of the equation to obtain the first intermediate expression. Multiply both sides of the first intermediate expression by the initial position of the fifth joint to obtain the first expression.

5. The method according to claim 4, characterized in that, The first expression is an equation in which the product of the fourth joint spin index mapping and the initial position of the fifth joint equals the fifth derived position. The fifth derived position is the ratio of the product of the initial position of the fifth joint and the post-motion pose of the fifth joint to the product of the initial pose of the fifth joint, the first joint spin index mapping, the second joint spin index mapping, and the third joint spin index mapping.

6. The method according to claim 1, characterized in that, The step of solving the first expression based on the first joint angle, the second joint angle, and the third joint angle to determine the fourth joint angle includes: Based on the solution method for problems involving rotation about a single axis, the first expression is solved to determine the fourth joint angle.

7. The method according to claim 1, characterized in that, The step of determining the fifth candidate position of the fifth joint under the fourth candidate position based on the first joint angle, the second joint angle, the third joint angle, and the 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, 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 third expression to characterize the problem of rotation around an ordered dual axis. The third expression is solved using the method for solving problems involving rotations around ordered biaxial axes to determine the fifth and sixth joint angles.

9. The method according to claim 1, characterized in that, The step of determining the first joint angle based on the fourth candidate position and the spatial attitude relationship between each axis includes: Based on the spatial attitude relationship, the arctangent value of the fourth candidate position on the horizontal plane is determined as the first joint angle.

10. A reverse engineering device for a multi-degree-of-freedom robotic arm, characterized in that, include: The first position determination module is used to select the fourth candidate position corresponding to the fourth joint on the robotic arm within a preset range corresponding to the end effector with known pose, wherein the robotic arm is a multi-axis robotic arm that does not conform to the Pieper criterion. The first angle determination module is used to determine the first joint angle based on the fourth candidate position and the spatial attitude relationship between each axis, and to solve the positive kinematic expression of the fourth joint using the first joint angle to determine the second joint angle and the third joint angle. The second angle determination module is used to convert the positive kinematic expression of the robotic arm into a first expression for characterizing the rotation problem around a single axis, and solve the first expression based on the first joint angle, the second joint angle, and the third joint angle to determine the fourth joint angle; The second position determination module is used to determine the fifth candidate position of the fifth joint under the fourth candidate position based on the first joint angle, the second joint angle, the third joint angle, and the fourth joint angle. The loop execution module is used to reselect the fourth candidate position when the fifth candidate position does not meet the error allowable condition, so as to return to the execution of the step of determining the first joint angle based on the fourth candidate position and the spatial attitude relationship between each axis according to the reselected fourth candidate position.

Citation Information

Patent Citations

  • 6R robot inverse kinematic geometry solving method based on screw theory

    CN107756400A

  • Method and system for optimizing inverse kinematics of mechanical arm based on improved algorithm

    CN115416020A