Method and device for solving inverse kinematics analytical solution by tip-type robot
By establishing joint coordinate systems and constructing inverse kinematic equations, the problem of inverse kinematic complexity of cutting-edge robots is solved, and rapid analytical solutions and effective control are achieved.
Patent Information
- Application Number
- CN202410129412.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-30
- Publication Date
- 2025-08-01
AI Technical Summary
Because cutting-edge robots do not meet the Pieper criterion, their inverse kinematics are very complex and it is difficult to accurately obtain analytical solutions.
By establishing a robotic arm joint coordinate system, configuring the shoulder-elbow-wrist structure, defining joints, obtaining specific joint angles, and constructing inverse kinematic equations to calculate other joint angles, simplifying the calculation process.
Quickly solve the analytical solutions of cutting-edge robots to achieve effective control of each joint and ensure that the robot can pass through the singular points smoothly.
Smart Images

Figure CN120395976A_ABST
Abstract
Description
Background Art
[0002] The inverse kinematics problem of a jointed robotic arm is to find the angular values of all the robotic arm joint rotations given the position and orientation of the end effector coordinate system of the robotic arm relative to the base coordinate system, as well as all the geometric parameters of the robotic arm links, which is the inverse process of forward kinematics.
[0003] Currently, the wrists of most jointed six-degree-of-freedom robotic arms on the market satisfy the Pieper criterion, that is, the rotation axes of three adjacent joints at the wrist intersect at a point, so the three adjacent joints at the wrist are decoupled.
[0004] However, the cuspidal robot does not satisfy the Pieper criterion, and its kinematics is very complex, so it is difficult to accurately obtain the analytical solution. The cuspidal robot is a special robot configuration. This robot can switch from one inverse kinematics configuration to another without passing through a singular configuration. The cuspidal robot described in the present invention is an industrial robot configuration with a non-spherical wrist configuration having 6 rotational joints, such as the FANUC CRX series (see the attached Figure 1 ). In this configuration, its joints 4, 5, and 6 do not intersect at a point, resulting in its non-compliance with the Pieper criterion and greatly increasing the difficulty of solving the inverse kinematics. Summary of the Invention
[0005] Aiming at the defects in the prior art, the purpose of the present invention is to provide a method and device for solving the analytical solution of the inverse kinematics of a cuspidal robot.
[0006] In a first aspect, an embodiment of the present application provides a method for solving the analytical solution of the inverse kinematics of a cuspidal robot, including:
[0007] Step 1: Establish a robotic arm joint coordinate system, configure a shoulder-elbow-wrist structure according to the six degrees of freedom of the cuspidal robot, and define joints 0 to 6 from the base to the end;
[0008] Step 2: When the cuspidal robot satisfies that all 6 axes are vertically downward, obtain the joint angles corresponding to joint 4, joint 5, and joint 6 respectively;
[0009] Step 3: Establish an inverse kinematics equation based on the end coordinates of the cuspidal robot and the joint angles corresponding to joint 4, joint 5, and joint 6, and calculate the angles corresponding to joint 1, joint 2, and joint 3.
[0010] Optionally, the step 1 includes:
[0011] Taking the position corresponding to the tip - type robot base as the origin, a rectangular coordinate system is established; among them, the end coordinates of the tip - type robot are the target coordinate positions that the end of the robotic arm needs to reach.
[0012] Optionally, step 2 includes:
[0013] Controlling the flange of the 6 axes of the tip - type robot to always face downwards, then the angle q4 of the 4th joint of the tip - type robot is 0;
[0014] The angle q5 of the 5th joint of the tip - type robot = q2 + q3 - π; where: q2 represents the angle of the 2nd joint, and q3 represents the angle of the 3rd joint.
[0015] Optionally, step 3 includes:
[0016] Construct the forward kinematic equation of the tip - type robot. Among them, the calculation formula for the end coordinates of the tip - type robot is as follows:
[0017] t 0T = t 01 + rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + rotx(q4)(t 45 + roty(q5)*roty(q6)*t 6T ))))
[0018] In the formula: t 0T represents the displacement of the end flange relative to the 0th joint, t 01 represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents rotating by an angle q1 around the Z - axis, t 12 represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents rotating by an angle q2 around the Y - axis, t 23 represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents rotating by an angle q3 around the Y - axis, t 34 represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents rotating by an angle q4 around the X - axis, roty(q5) represents rotating by an angle q5 around the Y - axis, roty(q6) represents rotating by an angle q6 around the Y - axis, t 6T represents the displacement of the end flange relative to the 6th joint; where:
[0019]
[0020]
[0021] Substitute q4 = 0, q5 = q2 + q3 - M PISubstitute to obtain the simplified calculation formula:
[0022] t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 + roty(q5) * roty(q6) * t 6T )))
[0023] where: rotz(q1) * roty(q2) * roty(q3) * roty(q5) * roty(q6) * t 6T = R 0T * t 6T
[0024] After further simplification:
[0025] t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 )) + R 0T * t 6T
[0026] According to the known t 0T , calculate q1, q2, and q3 respectively.
[0027] In a second aspect, an apparatus for solving the inverse kinematic analytical solution of a tip - type robot provided by an embodiment of the present application includes:
[0028] A joint coordinate system establishment module, configured to establish a manipulator joint coordinate system, configure a shoulder - elbow - wrist structure according to the six degrees of freedom of the tip - type robot, and define the 0th to 6th joints from the base to the end;
[0029] A joint angle acquisition module, configured to respectively acquire the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint when the tip - type robot satisfies that all 6 axes are vertically downward;
[0030] A joint angle calculation module, configured to establish an inverse kinematic equation according to the end - effector coordinates of the tip - type robot and the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint, and calculate the angles corresponding to the 1st joint, the 2nd joint, and the 3rd joint.
[0031] Optionally, the joint coordinate system establishment module is specifically configured to:
[0032] Taking the position corresponding to the tip - type robot base as the origin, a rectangular coordinate system is established; among them, the end coordinates of the tip - type robot are the target coordinate positions that the end of the robotic arm needs to reach.
[0033] Optionally, the joint angle acquisition module is specifically used for:
[0034] Controlling the flange of the 6 axes of the tip - type robot to always face downwards, then the 4th joint angle q4 of the tip - type robot is 0;
[0035] The 5th joint angle q5 of the tip - type robot = q2 + q3 - π; where: q2 represents the 2nd joint angle, and q3 represents the 3rd joint angle.
[0036] Optionally, the joint angle calculation module is specifically used for:
[0037] Constructing the forward kinematics equation of the tip - type robot. Among them, the calculation formula for the end coordinates of the tip - type robot is as follows:
[0038] t 0T =t 01 +rotz(q1)*(t 12 +roty(q2)*(t 23 +roty(q3)*(t 34 +rotx(q4)(t 45 +roty(q5)*roty(q6)*t 6T ))))
[0039] In the formula: t 0T represents the displacement of the end flange relative to the 0th joint, t 01 represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents rotating by q1 angle around the Z - axis, t 12 represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents rotating by q2 angle around the Y - axis, t 23 represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents rotating by q3 angle around the Y - axis, t 34 represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents rotating by q4 angle around the X - axis, roty(q5) represents rotating by q5 angle around the Y - axis, roty(q6) represents rotating by q6 angle around the Y - axis, t 6T represents the displacement of the end flange relative to the 6th joint; where:
[0040]
[0041]
[0042] Substitute q4 = 0, q5 = q2 + q3 - MPI Substitute to obtain the simplified calculation formula:
[0043] t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 + roty(q5) * roty(q6) * t 6T )))
[0044] where: rotz(q1) * roty(q2) * roty(q3) * roty(q5) * roty(q6) * t 6T = R 0T * t 6T
[0045] After further simplification:
[0046] t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 )) + R 0T * t 6T
[0047] According to the known t 0T , calculate q1, q2, and q3 respectively.
[0048] In a third aspect, an embodiment of the present application provides a device for solving the inverse kinematic analytical solution of a tip-type robot, including: a processor and a memory, where the memory stores executable program instructions, and when the processor calls the program instructions in the memory, the processor is configured to:
[0049] Execute the steps of the method for solving the inverse kinematic analytical solution of the tip-type robot according to any one of the first aspects.
[0050] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a program, and when the program is executed, it implements the steps of the method for solving the inverse kinematic analytical solution of the tip-type robot according to any one of the first aspects.
[0051] Fifth aspect, an embodiment of the present application provides a program product, the program product includes a computer program, the computer program is stored in a readable storage medium, at least one processor of the robot can read the computer program from the readable storage medium, and the at least one processor executes the computer program to enable the robot to implement the method for solving the inverse kinematics analytical solution of the tip-type robot as in the first aspect.
[0052] Compared with the prior art, the present invention has the following beneficial effects:
[0053] In the present application, by establishing a manipulator joint coordinate system and configuring a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, the 0th to 6th joints are respectively defined from the base to the end; when the tip-type robot satisfies that all 6 axes are vertically downward, the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint are respectively obtained; according to the end coordinates of the tip-type robot and the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint, an inverse kinematics equation is established to calculate the angles corresponding to the 1st joint, the 2nd joint, and the 3rd joint. Thus, the analytical solution of the tip-type robot can be quickly solved, which is convenient for controlling each joint of the tip-type robot and enables the tip-type robot to smoothly pass through the singular point. Description of the Drawings
[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to the provided drawings. By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, purposes, and advantages of the present invention will become more obvious:
[0055] Figure 1 It is a schematic structural diagram of a non-spherical wrist joint tip robot provided by an embodiment of the present application;
[0056] Figure 2 It is a flowchart of a method for solving the inverse kinematics analytical solution of a tip-type robot provided by an embodiment of the present application;
[0057] Figure 3 It is a schematic structural diagram of a device for solving the inverse kinematics analytical solution of a tip-type robot provided by an embodiment of the present application;
[0058] Figure 4 It is a schematic structural diagram of a device for solving the inverse kinematics analytical solution of a tip-type robot provided by an embodiment of the present application;
[0059] Figure 5It is a schematic structural diagram of a computer-readable storage medium in an embodiment of the present invention. Detailed implementation manners
[0060] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the protection scope of the present application.
[0061] It should be noted that when a component is referred to as being "fixed to" another component, it can be directly on the other component or there can also be an intermediate component. When a component is considered to be "connected" to another component, it can be directly connected to the other component or there may be an intermediate component at the same time.
[0062] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.
[0063] The terms "first", "second", "third", "fourth", etc. (if any) in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and do not necessarily have to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein, for example, can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.
[0064] The technical solutions of the present invention and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. These several specific embodiments below can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0065] Some embodiments of the present application will be described in detail below with reference to the accompanying drawings. Without conflict, the following embodiments and the features in the embodiments can be combined with each other.
[0066] Figure 2 This is a flowchart of a method for solving the inverse kinematic analytical solution of a tip-type robot provided by an embodiment of the present application. As Figure 2 shown, the method in this embodiment may include the following steps:
[0067] Step S201: Establish a manipulator joint coordinate system, and configure a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot. Define the 0th to 6th joints from the base to the end.
[0068] In this embodiment, a rectangular coordinate system can be established with the position corresponding to the base of the tip-type robot as the origin; among them, the end coordinate of the tip-type robot is the target coordinate position that the manipulator execution end needs to reach.
[0069] Step S202: When the tip-type robot satisfies that all 6 axes are vertically downward, obtain the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint respectively.
[0070] In this embodiment, because the tip-type (cuspidal) robot does not satisfy the Pieper's rule, its inverse kinematics is very complex. Since the 6 axes are vertically downward in the application scenario, some simplifications can be made. A sufficient condition for the cuspidal robot to satisfy that the 6 axes are vertically downward is: q4 = 0, q5 = q2 + q3 - π.
[0071] Exemplarily, control the flange of the 6 axes of the tip-type robot to always face downward, then the joint angle q4 of the 4th joint of the tip-type robot is 0; the joint angle q5 of the 5th joint of the tip-type robot satisfies q5 = q2 + q3 - π.
[0072] Step S203: Establish an inverse kinematic equation according to the end coordinate of the tip-type robot and the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint, and calculate the angles corresponding to the 1st joint, the 2nd joint, and the 3rd joint.
[0073] In this embodiment, first construct the forward kinematic equation of the tip-type robot. Among them, the calculation formula of the end coordinate of the tip-type robot is as follows:
[0074] t 0T = t 01 + rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + rotx(q4)(t 45 + roty(q5)*roty(q6)*t 6T ))))
[0075] In the formula: t 0TRepresents the displacement of the end flange relative to the 0th joint, t 01 Represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents a rotation of q1 degrees about the Z-axis, t 12 Represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents a rotation of q2 degrees about the Y-axis, t 23 Represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents a rotation of q3 degrees about the Y-axis, t 34 Represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents a rotation of q4 degrees about the X-axis, roty(q5) represents a rotation of q5 degrees about the Y-axis, roty(q6) represents a rotation of q6 degrees about the Y-axis, t 6T Represents the displacement of the end flange relative to the 6th joint; where:
[0076]
[0077]
[0078] Substitute q4 = 0, q5 = q2 + q3 - M PI into it to obtain the simplified calculation formula:
[0079] t 0T = t 01 + rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + t 45 + roty(q5)*roty(q6)*t 6T )))
[0080] where: rotz(q1)*roty(q2)*roty(q3)*roty(q5)*roty(q6)*t 6T = R 0T * t 6T
[0081] After further simplification:
[0082] t 0T = t 01 + rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + t 45 )))+ R 0T * t 6T
[0083] According to the known t 0T, calculate q1, q2, and q3 respectively.
[0084] Exemplarily, after obtaining the q1, q2, and q3 axes, q5 and q6 can also be solved conversely.
[0085] q5 = q2 + q3 - π
[0086] rotz(q1)*roty(q2)*roty(q3)*rotx(q4)*roty(q5)*roty(q6) = R 06
[0087] After simplifying rotz(q6), q6 can be calculated according to the Rodriguez formula.
[0088] In this embodiment, by establishing a manipulator joint coordinate system and configuring a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, the 0th to 6th joints are defined from the base to the end; when the six axes of the tip-type robot are all vertically downward, the joint angles corresponding to the 4th, 5th, and 6th joints are obtained respectively; according to the end coordinates of the tip-type robot and the joint angles corresponding to the 4th, 5th, and 6th joints, an inverse kinematics equation is established to calculate the angles corresponding to the 1st, 2nd, and 3rd joints. Thus, the analytical solution of the tip-type robot can be quickly solved, facilitating the control of each joint of the tip-type robot and enabling the tip-type robot to smoothly pass through the singular point.
[0089] Figure 3 FIG. is a structural schematic diagram of a device for solving the inverse kinematics analytical solution of a tip-type robot provided by an embodiment of the present application. As Figure 3 shown, the device in this embodiment may include: a joint coordinate system establishment module 301, configured to establish a manipulator joint coordinate system and configure a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, and define the 0th to 6th joints from the base to the end; a joint angle acquisition module 302, configured to respectively acquire the joint angles corresponding to the 4th, 5th, and 6th joints when the six axes of the tip-type robot are all vertically downward; a joint angle calculation module 303, configured to establish an inverse kinematics equation according to the end coordinates of the tip-type robot and the joint angles corresponding to the 4th, 5th, and 6th joints, and calculate the angles corresponding to the 1st, 2nd, and 3rd joints.
[0090] Exemplarily, the joint coordinate system establishment module 301 is specifically configured to:
[0091] Establish a rectangular coordinate system with the position corresponding to the base of the tip-type robot as the origin; wherein, the end coordinates of the tip-type robot are the target coordinate positions that the manipulator execution end needs to reach.
[0092] Exemplarily, the joint angle acquisition module 302 is specifically configured to:
[0093] Control the flange of the 6 axes of the tip-type robot to always face downward, then the joint angle q4 of the 4th joint of the tip-type robot is 0;
[0094] The joint angle q5 of the tip-type robot = q2 + q3 - π; where: q2 represents the joint angle of the 2nd joint, and q3 represents the joint angle of the 3rd joint.
[0095] Exemplarily, the joint angle calculation module 303 is specifically configured to:
[0096] Construct the forward kinematics equation of the tip-type robot. The calculation formula for the end coordinates of the tip-type robot is as follows:
[0097] t 0T =t 01 +rotz(q1)*(t 12 +roty(q2)*(t 23 +roty(q3)*(t 34 +rotx(q4)(t 45 +roty(q5)*roty(q6)*t 6T ))))
[0098] In the formula: t 0T represents the displacement of the end flange relative to the 0th joint, t 01 represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents rotation by q1 angle around the Z axis, t 12 represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents rotation by q2 angle around the Y axis, t 23 represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents rotation by q3 angle around the Y axis, t 34 represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents rotation by q4 angle around the X axis, roty(q5) represents rotation by q5 angle around the Y axis, roty(q6) represents rotation by q6 angle around the Y axis, t 6T represents the displacement of the end flange relative to the 6th joint; where:
[0099]
[0100]
[0101] Substitute q4 = 0, q5 = q2 + q3 - M PI into it to obtain the simplified calculation formula:
[0102] t 0T =t 01+ rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + t 45 + roty(q5)*roty(q6)*t 6T )))
[0103] where: rotz(q1)*roty(q2)*roty(q3)*roty(q5)*roty(q6)*t 6T = R 0T * t 6T
[0104] After further simplification:
[0105] t 0T = t 01 + rotz(q1)*(t 12 + roty(q2)*(t 23 + roty(q3)*(t 34 + t 45 )))+ R 0T * t 6T
[0106] According to the known t 0T , calculate q1, q2, and q3 respectively.
[0107] In this embodiment, by establishing a manipulator joint coordinate system and configuring a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, the 0th to 6th joints are defined from the base to the end; when the 6 axes of the tip-type robot are all vertically downward, the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint are obtained respectively; according to the end coordinates of the tip-type robot and the joint angles corresponding to the 4th joint, the 5th joint, and the 6th joint, an inverse kinematics equation is established to calculate the angles corresponding to the 1st joint, the 2nd joint, and the 3rd joint. Thus, the analytical solution of the tip-type robot can be quickly solved, which is convenient for controlling each joint of the tip-type robot, enabling the tip-type robot to smoothly pass through the singular point.
[0108] Figure 4 FIG. is a schematic structural diagram of a device for solving the inverse kinematics analytical solution of a tip-type robot provided by an embodiment of the present application. The device 400 for solving the inverse kinematics analytical solution of the tip-type robot in this embodiment may include: a processor 401 and a memory 402.
[0109] A memory 402 for storing programs; the memory 402 may include volatile memory, such as random-access memory (RAM), such as static random-access memory (SRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), etc.; the memory may also include non-volatile memory, such as flash memory. The memory 402 is used to store computer programs (such as application programs and functional modules for implementing the above methods), computer instructions, etc. The above computer programs, computer instructions, etc. can be stored in partitions in one or more memories 402. And the above computer programs, computer instructions, data, etc. can be called by the processor 401.
[0110] The above computer programs, computer instructions, etc. can be stored in partitions in one or more memories 402. And the above computer programs, computer instructions, data, etc. can be called by the processor 401.
[0111] A processor 401 for executing the computer programs stored in the memory 402 to implement the respective steps in the methods involved in the above embodiments.
[0112] Specifically, reference can be made to the relevant descriptions in the foregoing method embodiments.
[0113] The processor 401 and the memory 402 may be of an independent structure or an integrated structure integrated together. When the processor 401 and the memory 402 are of an independent structure, the memory 402 and the processor 401 can be coupled and connected through a bus 403.
[0114] The device 400 for solving the inverse kinematics analytical solution of the tip-type robot in this embodiment can execute Figure 2 the technical solutions in the method shown, and the specific implementation process and technical principle are referred to Figure 2 the relevant descriptions in the method shown, which will not be elaborated here.
[0115] Those skilled in the art can understand that various aspects of the present invention can be implemented as a system, a method, or a program product. Therefore, various aspects of the present invention can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software aspects, which can be collectively referred to as "circuit", "module", or "platform" here.
[0116] In addition, the embodiments of the present application further provide a computer-readable storage medium, in which computer-executable instructions are stored. When at least one processor of the user device executes the computer-executable instructions, the user device executes the above various possible methods.
[0117] Among them, the computer-readable medium includes a computer storage medium and a communication medium. The communication medium includes any medium facilitating the transmission of a computer program from one place to another. The storage medium can be any available medium accessible by a general-purpose or special-purpose computer. An exemplary storage medium is coupled to the processor, enabling the processor to read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in the user device. Of course, the processor and the storage medium can also exist as discrete components in the communication device.
[0118] The present application also provides a program product, which includes a computer program. The computer program is stored in a readable storage medium. At least one processor of the server can read the computer program from the readable storage medium, and the execution of the computer program by at least one processor enables the server to implement the method according to any one of the above embodiments of the present invention.
[0119] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments; and the foregoing storage medium includes: various media such as a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc that can store program codes.
[0120] Figure 5 is a schematic structural diagram of the computer-readable storage medium in the embodiments of the present invention. Refer to Figure 5As shown, a program product 500 for implementing the above method according to an embodiment of the present invention is described. It may be a portable compact disc read-only memory (CD-ROM), include program code, and can run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0121] The program product may adopt any combination of one or more readable media. The readable media may be a readable signal medium or a readable storage medium. The readable storage medium may, for example, but not be limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0122] The computer-readable storage medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries the readable program code. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable storage medium may also be any readable medium other than the readable storage medium that can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination of the above.
[0123] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also including conventional procedural programming languages such as the "C" language or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's device, executed as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).
[0124] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the embodiments, reference can be made to each other. The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be obvious to those skilled in the art. The general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but rather will conform to the broadest scope consistent with the principles and novel features disclosed herein.
[0125] The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various deformations or modifications within the scope of the claims, which does not affect the essence of the present invention.
Claims
1. A method for solving the analytical solution of inverse kinematics of a tip-type robot, characterized in that, Including: Step 1: Establish a robotic arm joint coordinate system, configure a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, and define joints 0 to 6 from the base to the end. Step 2: When the tip-type robot has all six axes vertically downward, obtain the joint angles corresponding to joint 4, joint 5, and joint 6 respectively. Step 3: Establish an inverse kinematics equation based on the end coordinates of the tip-type robot and the joint angles corresponding to joint 4, joint 5, and joint 6, and calculate the angles corresponding to joint 1, joint 2, and joint 3.
2. The method for solving the inverse kinematic analytical solution of the tip-type robot according to claim 1, characterized in that, The said Step 1 includes: Taking the position corresponding to the base of the tip-type robot as the origin, establish a rectangular coordinate system; wherein, the end coordinates of the tip-type robot are the target coordinate positions that the robotic arm execution end needs to reach.
3. The method for solving the inverse kinematic analytical solution of the tip-type robot according to claim 1, wherein The said Step 2 includes: Control the flange of the 6 axes of the tip-type robot to always face downward, then the joint angle q4 of the tip-type robot is 0; The joint angle q5 of the tip-type robot = q2 + q3 - π; where: q2 represents the joint angle of joint 2, and q3 represents the joint angle of joint 3.
4. The method for solving the inverse kinematics analytical solution of the tip-type robot according to claim 3, characterized in that The said Step 3 includes: Construct the forward kinematics equation of the tip-type robot, where the calculation formula for the end coordinates of the tip-type robot is as follows: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + rotx(q4)(t 45 + roty(q5) * roty(q6) * t 6T )))) where: t 0T represents the displacement of the end flange relative to the 0th joint, t 01 represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents a rotation of q1 degrees about the Z-axis, t 12 represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents a rotation of q2 degrees about the Y-axis, t 23 represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents a rotation of q3 degrees about the Y-axis, t 34 represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents a rotation of q4 degrees about the X-axis, roty(q5) represents a rotation of q5 degrees about the Y-axis, roty(q6) represents a rotation of q6 degrees about the Y-axis, t 6T represents the displacement of the end flange relative to the 6th joint; where: Set q4 = 0, q5 = q2 + q3 - M PI Substitute them in to obtain the simplified calculation formula: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 + roty(q5) * roty(q6) * t 6T ))) where: rotz(q1)*roty(q2)*roty(q3)*roty(q5)*roty(q6)*t 6T = R 0T *t 6T After further simplification: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 ))) + R 0T * t 6T According to the known t 0T , calculate q1, q2, and q3 respectively.
5. An apparatus for solving the analytical solution of inverse kinematics of a tip-type robot, characterized in that, Including: A joint coordinate system establishment module, used to establish a robotic arm joint coordinate system, configure a shoulder-elbow-wrist structure according to the six degrees of freedom of the tip-type robot, and define joints 0 to 6 from the base to the end. A joint angle acquisition module, used to obtain the joint angles corresponding to joint 4, joint 5, and joint 6 respectively when the tip-type robot has all six axes vertically downward. A joint angle calculation module, used to establish an inverse kinematics equation based on the end coordinates of the tip-type robot and the joint angles corresponding to joint 4, joint 5, and joint 6, and calculate the angles corresponding to joint 1, joint 2, and joint 3.
6. The device for solving the inverse kinematics analytical solution of the tip-type robot according to claim 5, characterized in that The said joint coordinate system establishment module is specifically used for: Taking the position corresponding to the base of the tip-type robot as the origin, establish a rectangular coordinate system; wherein, the end coordinates of the tip-type robot are the target coordinate positions that the robotic arm execution end needs to reach.
7. The device for solving the analytical solution of the inverse kinematics of the tip-type robot according to claim 5, characterized in that The said joint angle acquisition module is specifically used for: Control the flange of the 6 axes of the tip-type robot to always face downward, then the joint angle q4 of the tip-type robot is 0; the joint angle q5 of the tip-type robot = q2 + q3 - π; where: q2 represents the joint angle of joint 2, and q3 represents the joint angle of joint 3.
8. The device for solving the inverse kinematics analytical solution of the tip-type robot according to claim 7, characterized in that, The said joint angle calculation module is specifically used for: Construct the forward kinematics equation of the tip-type robot, where the calculation formula for the end coordinates of the tip-type robot is as follows: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + rotx(q4)(t 45 + roty(q5) * roty(q6) * t 6T )))) where: t 0T represents the displacement of the end flange relative to the 0th joint, t 01 represents the displacement of the 1st joint relative to the 0th joint, rotz(q1) represents a rotation of q1 degrees about the Z-axis, t 12 represents the displacement of the 2nd joint relative to the 1st joint, roty(q2) represents a rotation of q2 degrees about the Y-axis, t 23 represents the displacement of the 3rd joint relative to the 2nd joint, roty(q3) represents a rotation of q3 degrees about the Y-axis, t 34 represents the displacement of the 4th joint relative to the 3rd joint, rotx(q4) represents a rotation of q4 degrees about the X-axis, roty(q5) represents a rotation of q5 degrees about the Y-axis, roty(q6) represents a rotation of q6 degrees about the Y-axis, t 6T represents the displacement of the end flange relative to the 6th joint; where: Set q4 = 0 and q5 = q2 + q3 - M PI Substitute them in to obtain the simplified calculation formula: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 + roty(q5) * roty(q6) * t 6T ))) where: rotz(q1)*roty(q2)*roty(q3)*roty(q5)*roty(q6)*t 6T = R 0T * t 6T After further simplification: t 0T = t 01 + rotz(q1) * (t 12 + roty(q2) * (t 23 + roty(q3) * (t 34 + t 45 ))) + R 0T * t 6T According to the known t 0T , calculate q1, q2, and q3 respectively.
9. An apparatus for solving the analytical solution of inverse kinematics of a tip-type robot, characterized in that, Including: A processor and a memory, where executable program instructions are stored in the memory. When the processor calls the program instructions in the memory, the processor is used for: Execute the steps of the method for solving the inverse kinematics analytical solution of the tip-type robot according to any one of claims 1 to 4.
10. A computer-readable storage medium for storing a program, characterized in that, When the said program is executed, it realizes the steps of the method for solving the inverse kinematics analytical solution of the tip-type robot according to any one of claims 1 to 4.