6-axis robot inverse solution method, device and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-30
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]显然针对上述情况,不适合采用位姿已知的逆解算法,因此,需要一种新的算法,以实现机器人位置和姿态未知而某个轴的关节角度已知时的逆运动学求解
[0050]本申请提供的一种6轴机器人逆解方法、装置及存储介质根据在某个轴指定的关节角度求解其余轴5个轴的关节坐标和机器人末端的位姿,实现6轴机器人逆运动学求解。
Smart Images

Figure CN116214504B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 6-axis robots, and more particularly to a method, apparatus and storage medium for inverse kinematics of a 6-axis robot. Background Technology
[0002] Six-axis robots can perform trajectory planning using joint coordinates or Cartesian coordinates. When planning a trajectory using Cartesian coordinates, it is crucial to consider the robot's inverse kinematics (inverse kinematics). Existing inverse kinematics methods for six-axis robots are pose-known algorithms. The approach involves using the pose matrix of the starting point, the pose matrix of the ending point, and the Cartesian velocity. A Cartesian motion interpolation algorithm (such as linear interpolation or circular interpolation) is then used to calculate the pose matrix for each interpolation cycle. Based on the relationship between the pose matrices and the coordinates of the six axes, the relationship between each joint and the pose matrix is used to solve for the joint coordinates of each axis.
[0003] Inverse kinematics (IK) algorithms with known pose matrices can solve most inverse kinematics problems for 6-axis robots. However, for certain special cases, such as when the robot passes through singularities, if we use IK algorithms with known pose matrices to inverse kinematics all pose matrices obtained from Cartesian interpolation motion, we obtain the joint coordinates for all six axes in all interpolation cycles. If we take the derivative of the joint coordinates obtained from the IK algorithms for all interpolation cycles to obtain the joint velocities, we will find that the joint velocity of a certain axis has exceeded the maximum allowable value for that axis. Obviously, this is not allowed by the drive motor of that joint.
[0004] Obviously, the inverse kinematics algorithm with known pose is not suitable for the above situation. Therefore, a new algorithm is needed to solve the inverse kinematics when the robot's position and pose are unknown but the joint angle of a certain axis is known. Summary of the Invention
[0005] To solve the above-mentioned technical problems, or at least partially solve them, this application provides a 6-axis robot inverse kinematics method, apparatus, and storage medium.
[0006] In a first aspect, this application provides a method for inverse kinematics of a 6-axis robot, the method comprising the following steps:
[0007] Obtain the linear motion parameters of a 6-axis robot;
[0008] Calculate the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters;
[0009] The kinematic model of the 6-axis robot was established using the standard DH method to obtain the DH parameters for each joint;
[0010] Construct the constraint equations for the 6-axis robot;
[0011] The constraint equations are solved using a numerical iterative method.
[0012] Preferably, obtaining the linear motion parameters of the 6-axis robot includes the following steps:
[0013] Obtain and parse the linear motion program of the 6-axis robot;
[0014] Obtain the joint coordinates of the starting point of motion of the 6-axis robot;
[0015] Obtain the joint coordinates of the motion endpoint of the 6-axis robot;
[0016] Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system of the 6-axis robot;
[0017] Obtain the homogeneous transformation matrix of the 6-axis robot.
[0018] Preferably, the step of calculating the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters includes the following steps:
[0019] Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system in the linear motion parameters;
[0020] The equivalent rotation angle is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system and the homogeneous transformation matrix.
[0021] The equivalent rotation axis is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system, the homogeneous transformation matrix, and the equivalent rotation angle.
[0022] Preferably, the expression for the equivalent rotation angle is:
[0023]
[0024] Where acos represents arccosine, a represents the starting point of the linear motion, and b represents the ending point of the linear motion;
[0025]
[0026] Preferably, the expression for the equivalent axis of rotation is:
[0027]
[0028] Where θ represents the equivalent rotation angle.
[0029] Preferably, the step of establishing the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters for each joint includes the following steps:
[0030] Establish a joint coordinate system at the axis of each joint of the 6-axis robot;
[0031] Determine the DH parameters for each of the joints;
[0032] The DH parameters of the 6-axis robot are determined based on the DH parameters of each joint.
[0033] Preferably, determining the DH parameters of each joint includes the following steps:
[0034] Determine the link offset angle for each of the aforementioned joints;
[0035] Determine the link offset of each of the aforementioned joints;
[0036] Determine the link length of each of the aforementioned joints;
[0037] Determine the torsion angle of each joint.
[0038] Secondly, this application provides a 6-axis robot inverse kinematics device, comprising:
[0039] The linear motion parameter acquisition module is used to acquire the linear motion parameters of the 6-axis robot.
[0040] A linear motion equivalent parameter calculation module is used to calculate the linear motion equivalent parameters of the 6-axis robot based on the linear motion parameters.
[0041] The kinematic model building module is used to build the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters of each joint;
[0042] A constraint equation system construction module is used to construct the constraint equation system of the 6-axis robot;
[0043] The constraint equations solving module is used to solve the constraint equations using a numerical iterative method.
[0044] Thirdly, an electronic device is provided, the electronic device comprising:
[0045] At least one processor; and,
[0046] A memory communicatively connected to the at least one processor; wherein,
[0047] The memory stores instructions that can be executed by the at least one processor, which enables the at least one processor to perform any of the aforementioned 6-axis robot inverse kinematics methods.
[0048] Fourthly, a non-transitory computer-readable storage medium is provided, which stores computer instructions for causing the computer to execute any of the aforementioned 6-axis robot inverse kinematics methods.
[0049] The technical solutions provided in this application have the following advantages compared with the prior art:
[0050] This application provides a method, apparatus, and storage medium for inverse kinematics of a 6-axis robot, which calculates the joint coordinates of the remaining five axes and the pose of the robot end effector based on a specified joint angle on a certain axis, thereby realizing the inverse kinematics solution of a 6-axis robot. Attached Figure Description
[0051] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0052] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 This is a flowchart illustrating a 6-axis robot inverse kinematics method provided in an embodiment of the present invention;
[0054] Figure 2 This is a schematic diagram of the structure of a 6-axis robot reverse engineering device provided in an embodiment of the present invention;
[0055] Figure 3 This is a schematic diagram of the structure of an electronic device provided by the present invention;
[0056] Figure 4 This is a schematic diagram of the structure of a non-transitory computer-readable storage medium provided by the present invention;
[0057] Figure 5 This is a schematic diagram of a 6-axis robot in a 6-axis robot inverse kinematics method provided in an embodiment of the present invention;
[0058] Figure 6 This is a schematic diagram of a 6-axis robot in a 6-axis robot inverse kinematics method provided in an embodiment of the present invention. Detailed Implementation
[0059] 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, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0060] Figure 1 This is a flowchart illustrating a 6-axis robot inverse kinematics method provided in an embodiment of this application.
[0061] This application provides a method for inverse kinematics of a 6-axis robot, the method comprising the following steps:
[0062] S1: Obtain the linear motion parameters of the 6-axis robot;
[0063] In this embodiment of the application, obtaining the linear motion parameters of the 6-axis robot includes the following steps:
[0064] Obtain and parse the linear motion program of the 6-axis robot;
[0065] Obtain the joint coordinates of the starting point of motion of the 6-axis robot;
[0066] Obtain the joint coordinates of the motion endpoint of the 6-axis robot;
[0067] Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system of the 6-axis robot;
[0068] Obtain the homogeneous transformation matrix of the 6-axis robot.
[0069] To better illustrate the principles and effects of this application, we take the linear motion of a 6-joint robot in Cartesian space as an example. Figure 5 As shown, the robot starts from point P. a The linear motion reaches the endpoint P. b The current time is the nth interpolation cycle, and the point on the robot trajectory is denoted as P. n Its pose and the joint angles of its six axes are known. The next moment is the (n+1)th interpolation cycle, and the point on the trajectory is denoted as P. n+1 Its pose is unknown, and the joint angles are known for only one axis, while the other five axes are unknown. For example, the joint angle of axis J4 is known, but the joint angles of axes J1, J2, J3, J5, and J6 are unknown. The step length s is defined as the ratio of the Cartesian distance increment between two adjacent interpolation cycles to the total distance from the starting point to the ending point.
[0070] The user-written linear motion program for the robot is parsed to obtain the robot's starting point P. a Joint coordinates q of the point(a) The homogeneous transformation matrix T from the base coordinate system to the flange coordinate system (a) The robot's final movement point P b Joint coordinates q (b) Homogeneous transformation matrix T (b) , where q (a) and q (b) T is a 6-dimensional vector. (a) and T (b) It is a 4×4 matrix.
[0071]
[0072]
[0073] In the nth interpolation cycle, P n The joint angle q of the point (n) and step size s (n) All are known quantities. In the (n+1)th interpolation period, P n+1 Step size s (n+1) Unknown, regarding joint angle q (n+1) Only the joint angles of one axis are known, while the joint angles of the other five axes are unknown, such as the joint angles of axis J4. Given the joint angles of axis J1 J2 axis joint angle J3 axis joint angle J5 axis joint angle J6 axis joint angle All are unknown. q (n) and q (n+1) s is a 6-dimensional vector. (n) and s (n+1) It is a scalar. Therefore, we can obtain the following expression:
[0074]
[0075] S2: Calculate the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters;
[0076] In this embodiment of the application, the step of calculating the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters includes the following steps:
[0077] Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system in the linear motion parameters;
[0078] The equivalent rotation angle is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system and the homogeneous transformation matrix.
[0079] The equivalent rotation axis is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system, the homogeneous transformation matrix, and the equivalent rotation angle.
[0080] Specifically, recorded from P a Point motion endpoint P b The equivalent displacement vector for linear motion is The equivalent rotation axis K and the equivalent rotation angle θ are given by the attitude. Since T (a) and T (b) ,but Given both K and θ, the solution expression is as follows:
[0081]
[0082]
[0083] Where acos represents the arccosine, a represents the starting point of the linear motion, and b represents the ending point of the linear motion;
[0084]
[0085] S3: The kinematic model of the 6-axis robot is established using the standard DH method to obtain the DH parameters for each joint;
[0086] In this embodiment of the application, the step of establishing the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters of each joint includes the following steps:
[0087] Establish a joint coordinate system at the axis of each joint of the 6-axis robot;
[0088] Determine the DH parameters for each of the joints;
[0089] The DH parameters of the 6-axis robot are determined based on the DH parameters of each joint.
[0090] like Figure 6 As shown, the kinematic model of the robot is established using the standard DH method, and the DH parameters for each joint of the robot are obtained: d i a i α i Where i = (1, 2... 6), the method is as follows:
[0091] (1) Establish a joint coordinate system {i-1} at the i-th joint axis. The X-axis, Y-axis, and Z-axis of the joint coordinate system {i-1} are constructed as follows:
[0092] Z i-1 X represents the axis of the i-th joint, with the positive direction satisfying the right-hand screw rule; i-1Y represents the common perpendicular line between the (i-1)th joint axis and the i-th joint axis, with its positive direction pointing from the (i-1)th joint axis to the i-th joint axis; i-1 Z represents i-1 Cross product X i-1 .
[0093] (2) Determine the DH parameters of the i-th joint:
[0094] The meanings of the DH parameters for the i-th joint are as follows:
[0095] θ i Indicates the linkage offset angle, indicating the direction of X. i-1 Along Z i-1 Rotate the axis to X i Angle; d i This indicates link offset, meaning that X... i-1 Along Z i-1 Translate axis to X i distance; a i Indicates the length of the link, indicating the Z-axis. i-1 Along X i Translate axis to Z i Distance; α i Indicates the link torsion angle, indicating the Z-axis. i-1 Along X i Rotate the axis to Z i The angle.
[0096] (3) Determine the DH parameters of the 6-axis robot:
[0097] a1, a2, a3, d4, and d6 in the table below are all known.
[0098] 1 0 0 <![CDATA[a1]]> π / 2 2 0 0 <![CDATA[a2]]> 0 3 0 0 <![CDATA[a3]]> π / 2 4 0 <![CDATA[d4]]> 0 π / 2 5 0 0 0 -π / 2 6 0 <![CDATA[d6]]> 0 0
[0099] S4: Construct the constraint equations for the 6-axis robot;
[0100] like Figure 6 As shown, the robot's base coordinate system coincides with the coordinate system of the first axis joint, which is {0}, the coordinate system of the i-th joint is {i-1}, and the coordinate system of the robot's end flange is {6}.
[0101] The homogeneous transformation matrix from the base coordinate system {0} to the flange coordinate system {6} can be obtained using the coordinate transformation method:
[0102]
[0103] in, This represents the homogeneous transformation matrix from coordinate system {i-1} to coordinate system {i}, where i = 1, 2, ..., 6. The calculation formula is as follows:
[0104]
[0105] q i Let d represent the angle of the i-th joint, i = 1, 2...6. i a i α i The value can be found in the DH parameter in step 3.3.
[0106] In the nth interpolation cycle, P n The joint angle q of the point (n) Given that q = q (n) That is:
[0107]
[0108] Substituting q into formulas (6) and (5), we can obtain the homogeneous transformation matrix from the base coordinate system {0} to the flange coordinate system {6} during the nth interpolation period. remember for:
[0109]
[0110] In the (n+1)th interpolation period, for P n+1 The joint angle q of the point (n+1) Let q = q (n+1) That is:
[0111]
[0112] For q (n+1) Joint angles only on the J4 axis Given the joint angles of axis J1 J2 axis joint angle J3 axis joint angle J5 axis joint angle J6 axis joint angle Since both are unknown, substituting equation (8) into equations (6) and (5) yields the homogeneous transformation matrix from the time base coordinate system {0} to the flange coordinate system {6} during the (n+1)th interpolation period.
[0113] For P n+1 dot, s (n+1) P is an unknown quantity. n+1 Point is equivalent to P n The point moves forward a distance s along the straight line trajectory. (n+1) The process is represented by the homogeneous transformation matrix ΔT, and the calculation formula is as follows:
[0114] ΔT=ΔT O *ΔTP (9)
[0115] ΔT P Indicates from P n Point to P n+1 The matrix representing the change in the position of a point is calculated using the following formula:
[0116]
[0117] ΔT O Indicates from P n Point to P n+1 The pose change matrix of a point is calculated using the following formula:
[0118]
[0119] Where, ΔR O This is equivalent to rotating Δθ around axis K. According to Rodriguez's formula, this rotation can be described as a 3×3 rotation matrix:
[0120] ΔR O =I+sin(Δθ)M+(1-cos(Δθ))MM(12)
[0121] Where Δθ=s (n+1) *θ, K x K y K z θ is given in formula (4), and both are known quantities.
[0122] Substituting equation (12) into equation (11), and then substituting (10) and (11) into (9), we can obtain ΔT. The expression for ΔT contains only s. (n+1) It is an unknown quantity.
[0123] From P n Point to P n+1 The position and orientation change matrix of the point is ΔT, and we have:
[0124]
[0125] Right now
[0126]
[0127] See formula (7), ΔT -1 It's about solving for variable s. (n+1) expression, It's about variables to be solved.
[0128] The expression, then It's about the variable s to be solved. (n+1) ,
[0129] The expression is denoted as:
[0130]
[0131] In formula (14), the first three rows of the matrix are all about the variable s. (n+1) , The function, combined with formulas (13), (14), and (7), yields:
[0132]
[0133] Theoretically, there can be 12 constraint equations based on equation (15) of the system of equations. However, since the first 3 rows and the first 3 columns of the homogeneous transformation matrix are rotation matrices and satisfy the following relationship:
[0134]
[0135] That is, when the first 3 rows and first 2 columns of the left matrix are equal to the first 3 rows and first 2 columns of the right matrix, then the first 3 rows and third column of the right matrix must be equal to the first 3 rows and third column of the left matrix. Therefore, based on the above relationship, we can construct a relationship about variable s. (n+1) , The nine constraint equations are expressed as follows:
[0136]
[0137] S5: Solve the constraint equations using the numerical iteration method.
[0138] Let X be the variable to be solved, s. (n+1) , The vector formed
[0139]
[0140] The above constraint equations are solved using a numerical iteration method, as follows:
[0141] (1) Assign an initial value to X
[0142] When n = 0, the value of the starting point is used as the initial value of the (n+1)th interpolation period variable, as shown in the following expression:
[0143]
[0144] If n > 0, the value of the nth interpolation period is used as the initial value of the variable in the (n+1)th interpolation period, as shown in the following expression:
[0145]
[0146] (2) Substitute X into the left side of formula (17), subtract the right side of the formula, and assign the result to d. Y The expression is as follows:
[0147]
[0148] (3) Calculate f with respect to variable s (n+1) , The Jacobian matrix J is expressed as follows:
[0149]
[0150] (4) Calculate the increment of X, ΔX, as shown in the following expression:
[0151]
[0152] (5) Determine if ||ΔX|| is within the set precision range. If not, update the joint angle X and repeat steps (2) to (5). The expression for updating the joint angle X is as follows:
[0153] X = X - ΔX (23)
[0154] If so, then the current value of X is the solution to the system of equations (17).
[0155] (6) Store variable s (n+1) , The value of is used as the initial value for the (n+2)th interpolation cycle iteration.
[0156] The following uses specific numerical values to verify this application.
[0157] Robots a1, a2, a3, d4, and d6 are as follows:
[0158]
[0159] The pose T of the robot's starting point for linear motion (a) , starting point joint q (a) and the final pose matrix T (b) The values are as follows:
[0160] q (a) =[50 90 20 40 90 60] T (deg)
[0161]
[0162]
[0163] Let n = 0. Assume that from the initial moment to the first interpolation cycle, the expected motion of the J4 axis is at its maximum speed qdmax4 = 320 (deg / s). Given that Δt = 0.002 (s) per unit interpolation cycle, the joint angle of the J4 axis at the first interpolation cycle can be easily calculated.
[0164]
[0165] According to step (1) in S5, the joint angle and step size at the starting point are used as the initial values of the variables to be solved at the first interpolation cycle time, i.e.
[0166]
[0167] Substituting the initial value into steps (2) to (5), after 11 iterations, the value of ||dY|| is less than 3.1e-13, and the final value of the variable to be solved at the first interpolation cycle is obtained as follows:
[0168]
[0169] The values of ||dY|| for the 11th iteration are shown in the table below:
[0170] 1 2.23403775327966 2 0.60074467549698 3 0.01564766954654 4 0.00024700770734 5 0.00001419196762 6 0.00000111184023 7 0.00000004756938 8 0.00000000171845 9 0.00000000007578 10 0.00000000000390 11 0.00000000000031
[0171] Further analysis revealed that the final error was 3.1e-13, which was due to floating-point precision and was unrelated to the method described in this application.
[0172] Therefore, q (1) The value of q is shown below, and then q is stored. (1) The value of is then substituted into step (3) of S4 to obtain the homogeneous transformation matrix for the first interpolation period. The method for solving for two interpolated periodic variables is similar and will not be repeated here.
[0173]
[0174] like Figure 2 This application provides a 6-axis robot inverse kinematics device, comprising:
[0175] The linear motion parameter acquisition module 10 is used to acquire the linear motion parameters of the 6-axis robot.
[0176] The linear motion equivalent parameter calculation module 20 is used to calculate the linear motion equivalent parameters of the 6-axis robot based on the linear motion parameters.
[0177] The kinematic model building module 30 is used to build the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters of each joint;
[0178] The constraint equation system construction module 40 is used to construct the constraint equation system of the 6-axis robot;
[0179] The constraint equation solving module 50 is used to solve the constraint equation system using a numerical iterative method.
[0180] The 6-axis robot inverse kinematics device provided in this application can perform the 6-axis robot inverse kinematics method provided in the above steps.
[0181] It should be understood that the specific embodiments described above are merely illustrative or explanatory of the principles of the invention and do not constitute a limitation thereof. Therefore, any modifications, equivalent substitutions, improvements, etc., made without departing from the spirit and scope of the invention should be included within the protection scope of the invention. Furthermore, the appended claims are intended to cover all variations and modifications falling within the scope and boundaries of the appended claims, or equivalent forms of such scope and boundaries.
[0182] The following is for reference. Figure 3 The diagram illustrates a structural schematic of an electronic device 100 suitable for implementing embodiments of the present disclosure. The electronic devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 3 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0183] like Figure 3 As shown, the electronic device 100 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 102 or a program loaded from a storage device 108 into a random access memory (RAM) 103. The RAM 103 also stores various programs and data required for the operation of the electronic device 100. The processing unit 101, ROM 102, and RAM 103 are interconnected via a bus 104. An input / output (I / O) interface 105 is also connected to the bus 104.
[0184] Typically, the following devices can be connected to I / O interface 105: input devices 106 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 107 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 108 including, for example, magnetic tapes, hard disks, etc.; and communication devices 109. Communication device 109 allows electronic device 100 to communicate wirelessly or wiredly with other devices to exchange data. Although electronic device 100 with various devices is shown in the figure, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0185] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 109, or installed from storage device 108, or installed from ROM 102. When the computer program is executed by processing device 101, it performs the functions defined in the methods of embodiments of this disclosure.
[0186] The following is for reference. Figure 4 It illustrates a schematic diagram of a computer-readable storage medium suitable for implementing embodiments of the present disclosure, the computer-readable storage medium storing a computer program that, when executed by a processor, can implement the 6-axis robot inverse kinematics method as described above.
[0187] This application provides a method, apparatus, and storage medium for inverse kinematics of a 6-axis robot, which calculates the joint coordinates of the remaining five axes and the pose of the robot end effector based on a specified joint angle on a certain axis, thereby realizing the inverse kinematics solution of a 6-axis robot.
[0188] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0189] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for inverse kinematics of a 6-axis robot, characterized in that, The method includes the following steps: Obtain the linear motion parameters of a 6-axis robot; Obtain the known joint angle of one joint axis of the 6-axis robot in the next interpolation cycle; Calculate the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters; The kinematic model of the 6-axis robot was established using the standard DH method to obtain the DH parameters for each joint; A set of constraint equations is constructed for the 6-axis robot, with the interpolation step size to be solved and the angles of the other five unknown joints as variables; the expression of the constraint equations is as follows: ; Among them, in the ( In ) interpolation cycles, for Step size; for Joint angles of the shaft, for Joint angles of the shaft, for Joint angles of the shaft, for Joint angles of the shaft, for Joint angles of the shaft; The constraint equations are solved using a numerical iterative method to simultaneously obtain the interpolation step size and the remaining five unknown joint angles.
2. The inverse kinematics method for a 6-axis robot according to claim 1, characterized in that, The steps for obtaining the linear motion parameters of the 6-axis robot include: Obtain and parse the linear motion program of the 6-axis robot; Obtain the joint coordinates of the starting point of motion of the 6-axis robot; Obtain the joint coordinates of the motion endpoint of the 6-axis robot; Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system of the 6-axis robot; Obtain the homogeneous transformation matrix of the 6-axis robot.
3. The inverse kinematics method for a 6-axis robot according to claim 1, characterized in that, The step of calculating the equivalent linear motion parameters of the 6-axis robot based on the linear motion parameters includes the following steps: Obtain the homogeneous transformation matrix from the base coordinate system to the flange coordinate system in the linear motion parameters; The equivalent rotation angle is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system and the homogeneous transformation matrix. The equivalent rotation axis is calculated based on the homogeneous transformation matrix from the base coordinate system to the flange coordinate system, the homogeneous transformation matrix, and the equivalent rotation angle.
4. The inverse kinematics method for a 6-axis robot according to claim 3, characterized in that, The equivalent rotation angle The expression is: , Where acos represents the arccosine, a represents the starting point of the linear motion, and b represents the ending point of the linear motion; , , 。 5. The inverse kinematics method for a 6-axis robot according to claim 3, characterized in that, The equivalent axis of rotation The expression is: ; in, Indicates the equivalent rotation angle. , , , , , .
6. The inverse kinematics method for a 6-axis robot according to claim 1, characterized in that, The steps for establishing the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters for each joint include: Establish a joint coordinate system at the axis of each joint of the 6-axis robot; Determine the DH parameters for each of the joints; The DH parameters of the 6-axis robot are determined based on the DH parameters of each joint.
7. The inverse kinematics method for a 6-axis robot according to claim 6, characterized in that, Determining the DH parameters of each joint includes the following steps: Determine the link offset angle for each of the aforementioned joints; Determine the link offset of each of the aforementioned joints; Determine the link length of each of the aforementioned joints; Determine the torsion angle of each joint.
8. A 6-axis robot inverse kinematics apparatus for performing the method according to any one of claims 1-7, characterized in that, include: The linear motion parameter acquisition module is used to acquire the linear motion parameters of the 6-axis robot. A linear motion equivalent parameter calculation module is used to calculate the linear motion equivalent parameters of the 6-axis robot based on the linear motion parameters. The kinematic model building module is used to build the kinematic model of the 6-axis robot using the standard DH method to obtain the DH parameters of each joint; A constraint equation system construction module is used to construct the constraint equation system of the 6-axis robot; The constraint equations solving module is used to solve the constraint equations using a numerical iterative method.
9. An electronic device, characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the 6-axis robot inverse kinematics method of any one of claims 1-7.
10. A non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the 6-axis robot inverse kinematics method according to any one of claims 1-7.
Citation Information
Patent Citations
Real-time inverse kinematics algorithm of wrist biased type six-axis robot
CN111958602A