Scara robot inverse solution method, device and readable medium for sanding

By using the SCARA robot inverse kinematics method, virtual tool position points and tool axis directions are established, solving the problems of product interchangeability and low programming efficiency in automated grinding. This enables five-degree-of-freedom machining and offline programming, thereby improving programming efficiency.

CN116408797BActive Publication Date: 2026-04-17HUAZHONG UNIV OF SCI & TECH +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAZHONG UNIV OF SCI & TECH
Filing Date
2023-03-16
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing automated grinding products suffer from poor interchangeability and readability, low programming efficiency, difficulty in reusing the same G-code across different devices, and inability to efficiently generate machining codes using CAM software.

Method used

The SCARA robot inverse kinematics method is adopted. By establishing a three-dimensional model of the SCARA robot's arm and the linkage coordinate system, and combining the grinding wheel radius to establish the virtual tool position and tool axis direction, the equation relationship is solved by using the coordinate system transformation relationship to realize five-axis linkage machining.

Benefits of technology

It achieves five-degree-of-freedom machining of the tool relative to the workpiece, supports offline programming, reduces computational load, and improves programming efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116408797B_ABST
    Figure CN116408797B_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, and readable medium for inverse kinematics using a SCARA robot for grinding wheels, relating to the field of grinding robots. Based on a 3D model of the SCARA robot's arm, a linkage coordinate system is established, along with transformation matrices between these systems. The SCARA robot has four joints, and the grinding wheel has a virtual fifth joint. Virtual tool position points and virtual tool axis directions are established based on the grinding wheel radius. Equations are established by aligning these virtual tool position points and virtual tool axis directions with the tool position points and tool axis directions in the workpiece coordinate system within the SCARA robot's base coordinate system. The inverse kinematics solution is then derived from these equations. A virtual rotation axis and tool direction are created using the outer circle shape of the grinding wheel, coordinating with the four axes of the SCARA robot. Five-axis linkage inverse kinematics enables five-degree-of-freedom machining of the tool relative to the workpiece, while also allowing offline programming of the workpiece machining code. This solves problems such as poor interchangeability, poor readability, and low programming efficiency associated with on-site teaching programming.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of grinding robots, and more specifically to a SCARA robot inverse kinematics method, apparatus, and readable medium for grinding wheels. Background Technology

[0002] A significant labor shortage has emerged in the manufacturing sector. This is particularly true for jobs involving high-intensity, high-noise, and high-pollution processes such as casting grinding, where a severe shortage of skilled workers has arisen. Furthermore, the market for casting products has been expanding in recent years, exacerbating the labor supply-demand imbalance within the industry. Therefore, designing automated grinding products has become an effective way to address this problem.

[0003] Most current automated grinding products are programmed using a teach-in method, where workers operate the equipment on-site, recording each action as it is performed, thus generating G-code. This method has the following drawbacks:

[0004] 1. Poor interchangeability, making it difficult to reuse the same G code across different devices.

[0005] 2. Poor readability: The content recorded in the G code during teaching programming is usually the actual movement position of each motor, but the actual movement position of the motor cannot directly reflect the relative positional relationship between the machining tool and the workpiece.

[0006] 3. Low programming efficiency: On-site teaching programming requires a lot of time for practitioners to complete programming on the industrial processing site, and it is impossible to use high-efficiency CAM software to automatically generate G-code. Summary of the Invention

[0007] In view of the aforementioned technical problems, the purpose of the embodiments of this application is to provide a SCARA robot inverse kinematics method, apparatus, and readable medium for grinding wheels, thereby solving the technical problems mentioned in the background section above.

[0008] In a first aspect, the present invention provides a SCARA robot inverse kinematics method for grinding wheels, comprising the following steps:

[0009] S1. Based on the 3D model of the SCARA robot's robotic arm, establish its link coordinate system and establish the transformation matrix between each coordinate system. The SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected in sequence, and the grinding wheel has a virtual fifth joint.

[0010] S2, establish the virtual tool position and virtual tool axis direction of the SCARA robot's arm based on the grinding wheel radius. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the SCARA robot's base coordinate system, establish an equation relationship based on the two routes of the coordinate system transformation relationship.

[0011] S3. Calculate the rotation angle of the virtual fifth joint axis and the rotation angle θ of the fourth joint axis moving coordinate system {OJ4d} relative to the SCARA robot base coordinate system {OB1} using the equation. OJ4d The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. B1 P OJ4d ;

[0012] S4, according to B1 P OJ4d θ OJ4d The inverse kinematics of each joint of the SCARA robot are obtained by using the transformation matrix between the coordinate systems.

[0013] Preferably, the base of the SCARA robot is fixedly installed on the equipment base, the first joint, the second joint, the fourth joint and the virtual fifth joint realize rotational movement, the third joint realizes linear movement, and the grinding wheel is fixedly installed on the equipment base in the form of a grinding wheel assembly.

[0014] Preferably, the linkage coordinate system includes the SCARA robot base coordinate system {OB1}, the first joint axis static coordinate system {OJ1s}, the first joint axis moving coordinate system {OJ1d}, the second joint axis static coordinate system {OJ2s}, the second joint axis moving coordinate system {OJ2d}, the third joint axis static coordinate system {OJ3s}, the third joint axis moving coordinate system {OJ3d}, the fourth joint axis static coordinate system {OJ4s}, the fourth joint axis moving coordinate system {OJ4d}, the grinding wheel assembly base coordinate system {OB2}, the virtual fifth joint axis static coordinate system {OJ5s}, the virtual fifth joint axis moving coordinate system {OJ5d}, and the workpiece coordinate system {OW}.

[0015] Preferably, the transformation matrix includes coordinates sequentially from the superscript coordinate system to the subscript coordinate system. Let the matrix operators be as follows:

[0016]

[0017]

[0018]

[0019]

[0020]

[0021]

[0022]

[0023]

[0024]

[0025]

[0026]

[0027]

[0028]

[0029]

[0030]

[0031]

[0032]

[0033] In the above matrix, L1, L2, L3, L4, L5, L6, and L7 represent the length dimensions of the mechanical structure or the installation distance dimensions. Among them, L1 is the height of the SCARA robot base section, L2 is the length of the first joint arm of the SCARA robot, L3 is the length of the second joint arm of the SCARA robot, L4 is the distance between the initial position of the SCARA robot end effector and the top plane of the base section, L5 is the distance between the grinding wheel axis and the grinding wheel assembly mounting surface, L6 is the distance between the grinding wheel working surface and the OXZ plane of the grinding wheel assembly base coordinate system {OB2}, L7 is the distance in the Y direction between the grinding wheel assembly base coordinate system {OB2} and the SCARA robot base coordinate system {OB1}, θ1, θ2, θ4, and θ5 are the rotation angles of the first joint axis, the second joint axis, the fourth joint axis, and the virtual rotation angle of the virtual fifth joint axis, respectively, and s3 is the linear displacement of the third joint axis.

[0034] Preferably, step S2 specifically includes:

[0035] Given the radius of the grinding wheel as r, establish a virtual tool position point in the virtual fifth joint axis moving coordinate system {OJ5d}. J5d P = [r 0 0 1] T and virtual tool axis direction J5d V = [1 0 0 0]T By setting virtual knife points J5d P and virtual tool axis direction J5d V is related to the tool position point in the workpiece coordinate system {OW}. W P = [xyz 1] T and the direction of the tool axis W V = [ijk 0] T Under the SCARA robot's base coordinate system {OB1}, the two routes coincide, and an equation is established based on the coordinate system transformation relationship:

[0036]

[0037] Among them, the knife point W P = [xyz 1] T and the direction of the tool axis W V = [ijk 0] T Let x, y, and z represent the programming points and vectors in the workpiece coordinate system {OW}, respectively. x, y, and z represent the X, Y, and Z axis components of the tool position point in the workpiece coordinate system {OW}, respectively. i, j, and k represent the X, Y, and Z axis components of the tool axis direction in the workpiece coordinate system {OW}. The tool axis direction is a unit vector, therefore i 2 +j 2 +k 2 =1.

[0038] Preferably, step S3 specifically includes:

[0039] In equation (1) regarding B1 Expanding the equation for V, the third term of the formula is as follows:

[0040] -sin(θ5)=k*cos(e a )+j*cos(e c2 )*sin(e a )+i*sin(e a )*sin(e c2 (2)

[0041] θ5 can be calculated:

[0042] θ5=arcsin(-k*cos(e a )-j*cos(e c2 )*sin(e a )-i*sin(e a )*sin(e c2 (3)

[0043] After obtaining θ5, Since it is a known matrix, and because J5d V.J5d P are all known matrices, so we can use equation (1) and other formulas. and work out B1 P and B1 V;

[0044] make Rearranging equation (1) yields:

[0045]

[0046] make Calculate J4d P and J4d V, further rearranging equation (4), we get:

[0047]

[0048] The solution is below. Based on the structure and kinematics of the SCARA robot, it can be known that... It is a translation and rotation transformation matrix, and its rotation part can only rotate around the Z-axis, so let's assume... At the same time B1 P, B1 V. J4d P and J4d V is symbolically represented: B1 P = [ B1 x B1 y B1 z 1] T , B1 V = [ B1 i B1 j B1 k 1] T ,

[0049] J4d P = [ J4d x J4d y J4d z 1] T , J4d V = [ J4d i J4d j J4d k 1] T ,in, B1 x、 B1 y、 B1 z represents the three-axis components of point P in the OB1 coordinate system. B1 i B1 j、 B1 k represents the three-axis components of the V vector in the OB1 coordinate system. J4d x、 J4d y、 J4dz represents the three-axis components of point P in the OJ4d coordinate system. J4d i J4d j、 J4d k represents the three-axis components of the V vector in the OJ4d coordinate system.

[0050] Will B1 P, B1 V. J4d P and J4d Substituting the symbolic representation of V into equation (5) and expanding it, and removing the unsigned equations, we obtain the following equation relationship:

[0051]

[0052] First, calculate θ using the fourth and fifth equations in equation (6). OJ4d :

[0053]

[0054] Then θ OJ4d Substitute x into the first, second, and third equations in equation (6) to calculate x. OJ4d y OJ4d , z OJ4d :

[0055]

[0056] Preferably, step S4 specifically includes:

[0057] according to B1 P OJ4d =[x OJ4d y OJ4d z OJ4d ] and θ OJ4d Find the inverse solutions for the unknowns θ1, θ2, s3, and θ4 using the following formulas:

[0058]

[0059] Two sets of solutions are obtained based on the sign of sin(θ2). One of them is fixed according to the structural form of the grinding wheel assembly and the robot to obtain the inverse solution.

[0060] Secondly, the present invention provides a SCARA robot reverse engineering device for grinding wheels, comprising:

[0061] The coordinate transformation module is configured to establish the link coordinate system based on the 3D model of the SCARA robot's robotic arm and establish the transformation matrix between the coordinate systems. The SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected in sequence, and the grinding wheel has a virtual fifth joint.

[0062] The equation establishment module is configured to establish the virtual tool position and virtual tool axis direction of the SCARA robot's robotic arm based on the grinding wheel radius. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the SCARA robot's base coordinate system, an equation relationship is established based on the two routes of the coordinate system transformation relationship.

[0063] The first solution module is configured to calculate the rotation angle of the virtual fifth joint axis and the rotation angle θ of the fourth joint axis moving coordinate system {OJ4d} relative to the SCARA robot base coordinate system {OB1} based on the equation relationship. OJ4d The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. B1 P OJ4d ;

[0064] The second solution module is configured to, based on B1 P OJ4d θ OJ4d The inverse kinematics of each joint of the SCARA robot are obtained by using the transformation matrix between the coordinate systems.

[0065] Thirdly, the present invention provides an electronic device including one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any implementation of the first aspect.

[0066] Fourthly, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any of the implementations of the first aspect.

[0067] Compared with the prior art, the present invention has the following beneficial effects:

[0068] (1) The SCARA robot inverse kinematics method for grinding proposed in this invention uses the outer circle shape of the grinding wheel to virtually create a rotation axis and tool direction, which, in conjunction with the four inherent axes of the SCARA robot, achieves five-axis linkage inverse kinematics to realize the tool's five degrees of freedom machining relative to the workpiece, and also realizes offline programming of workpiece machining code.

[0069] (2) The inverse kinematics method for SCARA robot used for grinding wheel proposed in this invention establishes the virtual tool position and virtual tool axis direction of the SCARA robot's robotic arm based on the radius of the grinding wheel. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the base coordinate system of the SCARA robot, an equation relationship is established. The inverse kinematics is then obtained through this equation relationship. The implementation method is relatively convenient and can effectively reduce the amount of calculation. Attached Figure Description

[0070] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0071] Figure 1 This is an exemplary device architecture diagram in which an embodiment of this application can be applied;

[0072] Figure 2 This is a schematic flowchart of the SCARA robot inverse kinematics method for grinding wheels, as described in an embodiment of this application.

[0073] Figure 3 This is a schematic diagram of the device for the SCARA robot inverse kinematics method for grinding wheels, as described in an embodiment of this application.

[0074] Figure 4 This is a schematic diagram of the coordinate transformation relationship of the inverse kinematics method for SCARA robot used for grinding wheels, as described in an embodiment of this application.

[0075] Figure 5 This is a schematic diagram of a SCARA robot reverse engineering device for grinding wheels, according to an embodiment of this application.

[0076] Figure 6 This is a schematic diagram of the structure of a computer device suitable for implementing the electronic device of the present application. Detailed Implementation

[0077] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.

[0078] Figure 1 An exemplary device architecture 100 is shown, which can be applied to the SCARA robot reverse engineering method for grinding wheels or the SCARA robot reverse engineering apparatus for grinding wheels according to the embodiments of this application.

[0079] like Figure 1As shown, the device architecture 100 may include terminal devices 101, 102, and 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, and 103 and the server 105. The network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0080] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various applications, such as data processing applications and file processing applications, can be installed on terminal devices 101, 102, and 103.

[0081] Terminal devices 101, 102, and 103 can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices, including but not limited to smartphones, tablets, laptops, and desktop computers. When terminal devices 101, 102, and 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software programs or software modules (e.g., software programs or software modules used to provide distributed services) or as a single software program or software module. No specific limitations are imposed here.

[0082] Server 105 can be a server that provides various services, such as a background data processing server that processes files or data uploaded by terminal devices 101, 102, and 103. The background data processing server can process the acquired files or data and generate processing results.

[0083] It should be noted that the SCARA robot reverse engineering method for grinding wheels provided in this application embodiment can be executed by server 105 or by terminal devices 101, 102, and 103. Correspondingly, the SCARA robot reverse engineering device for grinding wheels can be set in server 105 or in terminal devices 101, 102, and 103.

[0084] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Any number of terminal devices, networks, and servers can be included depending on implementation needs. If the data being processed does not need to be retrieved remotely, the above architecture may not include a network, requiring only servers or terminal devices.

[0085] Figure 2 An embodiment of this application illustrates a SCARA robot inverse kinematics method for grinding wheels, comprising the following steps:

[0086] S1. Based on the 3D model of the SCARA robot's robotic arm, establish its link coordinate system and establish the transformation matrix between each coordinate system. The SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected in sequence, and the grinding wheel has a virtual fifth joint.

[0087] For details, please refer to Figure 3 The base of the SCARA robot 1 is fixedly installed on the equipment base 3. The first joint, the second joint, the fourth joint and the virtual fifth joint realize rotational movement respectively, and the third joint realizes linear movement. The grinding wheel is fixedly installed on the equipment base 3 in the form of grinding wheel assembly 2. Figure 3 This is a simplified mechanical structure diagram of an automated equipment applicable to the embodiments of this application, including a SCARA robot 1 and a grinding wheel assembly 2. The SCARA robot can realize rotational motion on three axes and linear motion on one axis. The grinding wheel assembly 2 includes a grinding wheel, a spindle motor, and corresponding mounting components. The grinding wheel assembly 2 is fixedly mounted on the equipment base 3. After installation, the position of the grinding wheel spindle axis relative to the equipment base 3 does not change.

[0088] In a specific embodiment, refer to Figure 4 The linkage coordinate system includes the SCARA robot base coordinate system {OB1}, the first joint axis static coordinate system {OJ1s}, the first joint axis moving coordinate system {OJ1d}, the second joint axis static coordinate system {OJ2s}, the second joint axis moving coordinate system {OJ2d}, the third joint axis static coordinate system {OJ3s}, the third joint axis moving coordinate system {OJ3d}, the fourth joint axis static coordinate system {OJ4s}, the fourth joint axis moving coordinate system {OJ4d}, the grinding wheel assembly base coordinate system {OB2}, the virtual fifth joint axis static coordinate system {OJ5s}, the virtual fifth joint axis moving coordinate system {OJ5d}, and the workpiece coordinate system {OW}. Figure 2This is a schematic diagram of the coordinate system transformation relationship in the derivation and inverse solution process of an embodiment of this application. There are two routes for the coordinate system transformation relationship. The first route starts from the SCARA robot base coordinate system {OB1} and moves along each joint of the SCARA one by one, in the following order: ① SCARA robot base coordinate system {OB1}, ② first joint axis static coordinate system {OJ1s}, ③ first joint axis moving coordinate system {OJ1d}, ④ second joint axis static coordinate system {OJ2s}, ⑤ second joint axis moving coordinate system {OJ2d}, ⑥ third joint axis static coordinate system {OJ3s}, ⑦ third joint axis moving coordinate system {OJ3d}, ⑧ fourth joint axis static coordinate system {OJ4s}, ⑨ fourth joint axis moving coordinate system {OJ4d}, ⑩ workpiece coordinate system {OW}. The second one also starts from the SCARA robot base coordinate system {OB1} and moves along the direction of the grinding wheel assembly, in the following order: ① SCARA robot base coordinate system {OB1}, ② grinding wheel assembly base coordinate system {OB2}, ③ virtual fifth joint axis static coordinate system {OJ5s}, ④ virtual fifth joint axis dynamic coordinate system {OJ5d}.

[0089] Specifically, the transformation matrix includes transformation matrices established sequentially from the superscript coordinate system to the subscript coordinate system, which are respectively... T represents the transformation matrix. Let the matrix operators be as follows:

[0090]

[0091]

[0092]

[0093]

[0094] Based on the above operators:

[0095]

[0096]

[0097]

[0098]

[0099]

[0100]

[0101]

[0102]

[0103]

[0104]

[0105]

[0106]

[0107] In the above matrix, L1, L2, L3, L4, L5, L6, and L7 represent the length dimensions of the mechanical structure or the installation distance dimensions. Specifically, L1 is the height of the SCARA robot base section, L2 is the length of the first articulated arm of the SCARA robot, L3 is the length of the second articulated arm of the SCARA robot, L4 is the distance between the initial position of the SCARA robot's end effector and the top plane of the base section, L5 is the distance between the grinding wheel axis and the grinding wheel assembly mounting surface, L6 is the distance between the grinding wheel working surface and the OXZ plane of the grinding wheel assembly's base coordinate system {OB2}, and L7 is the distance in the Y direction between the grinding wheel assembly's base coordinate system {OB2} and the SCARA robot's base coordinate system {OB1} (in the example, the distances between them in the X and Z directions are both 0). (Refer to...) Figure 3 All of these are known quantities. θ1, θ2, θ4 and θ5 are the rotation angles of the first joint axis, the second joint axis, the fourth joint axis and the virtual rotation angle of the virtual fifth joint axis, respectively, and s3 is the linear displacement of the third joint axis.

[0108] Specifically, This can only be obtained after the workpiece is installed, when the fourth joint axis moving coordinate system {OJ4d} coincides with the workpiece coordinate system {OW}. If the two are not aligned during installation, the identity matrix can be obtained through visual measurement or contact measurement. at this time It involves both rotation and translation transformations. To avoid loss of generality, it is represented by a combination of translation matrices and Z×Z rotation matrices. In the process of inverse solution The matrix is ​​known.

[0109] S2. Based on the radius of the grinding wheel, establish the virtual tool position and virtual tool axis direction of the SCARA robot's arm. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the base coordinate system of the SCARA robot, establish an equation relationship based on the two routes of the coordinate system transformation relationship.

[0110] In a specific embodiment, step S2 specifically includes:

[0111] Given the radius of the grinding wheel as r, establish a virtual tool position point in the virtual fifth joint axis moving coordinate system {OJ5d}. J5d P = [r 0 0 1] T and virtual tool axis direction J5d V = [1 0 0 0] T By setting virtual knife points J5d P and virtual tool axis direction J5d V is related to the tool position point in the workpiece coordinate system {OW}. W P = [xyz 1] T and the direction of the tool axis W V = [ijk 0] T Under the SCARA robot's base coordinate system {OB1}, the two routes coincide, and an equation is established based on the coordinate system transformation relationship:

[0112]

[0113] In equation (1), the three rotation angles θ1, θ2, and θ4 of the SCARA robot, the linear axis displacement s3, and the virtual rotation angle θ5 of the fifth joint axis are unknowns. (Tool position point) W P = [xyz 1] T and the direction of the tool axis W V = [ijk 0] T Let x, y, and z represent the programming points and vectors in the workpiece coordinate system {OW}, respectively. x, y, and z represent the X, Y, and Z axis components of the tool position point in the workpiece coordinate system {OW}, respectively. i, j, and k represent the X, Y, and Z axis components of the tool axis direction in the workpiece coordinate system {OW}. The tool axis direction is a unit vector, therefore i 2 +j 2 +k 2 =1.

[0114] Specifically, in the inverse kinematics process, the tool contact point W P and tool axis direction W V are all known quantities, usually obtained from processing codes (G codes).

[0115] S3. Calculate the rotation angle of the virtual fifth joint axis and the rotation angle θ of the fourth joint axis moving coordinate system {OJ4d} relative to the SCARA robot base coordinate system {OB1} using the equation. OJ4d The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. B1 P OJ4d .

[0116] In a specific embodiment, step S3 specifically includes:

[0117] In equation (1) regardingB1 Expanding the equation for V, the third term of the formula is as follows:

[0118] -sin(θ5)=k*cos(e a )+j*cos(e c2 )*sin(e a )+i*sin(e a )*sin(e c2 (2)

[0119] θ5 can be calculated:

[0120] θ5=arcsin(-k*cos(e a )-j*cos(e c2 )*sin(e a )-i*sin(e a )*sin(e c2 (3)

[0121] After obtaining θ5, Since it is a known matrix, and because J5d V. J5d Since P are all known matrices, we can use the first and third equations in equation (1) to determine the matrix. and work out B1 P and B1 V, after this calculation... B1 P and B1 V are all known quantities.

[0122] make Rearranging equation (1) yields:

[0123]

[0124] And because W P and W V are all known quantities, so let Calculate J4d P and J4d V, further rearranging equation (4), we get:

[0125]

[0126] In formula (5) B1 P, B1 V. J4d P and J4d V has been calculated in the previous steps and is a known quantity. Only... It is an unknown matrix. The solution is as follows. Based on the structure and kinematics of the SCARA robot, it can be known that... It is a translation and rotation transformation matrix, and its rotation part can only rotate around the Z-axis, so let's assume... At the same time B1 P, B1 V. J4d P and J4d V is symbolically represented: B1 P = [ B1 x B1 y B1 z 1] T , B1 V = [ B1 i B1 j B1 k 1] T , J4d P = [ J4d x J4d y J4d z 1] T , J4d V = [ J4d i J4d j J4d k 1] T ,in, B1 x、 B1 y、 B1 z represents the three-axis components of point P in the OB1 coordinate system. B1 i B1 j、 B1 k represents the three-axis components of the V vector in the OB1 coordinate system. J4d x、 J4d y、 J4d z represents the three-axis components of point P in the OJ4d coordinate system. J4d i J4d j、 J4d k represents the three-axis components of the V vector in the OJ4d coordinate system.

[0127] Will B1 P, B1 V. J4d P and J4d Substituting the symbolic representation of V into equation (5) and expanding it, and removing the unsigned equations, we obtain the following equation relationship:

[0128]

[0129] First, calculate θ using the fourth and fifth equations in equation (6). OJ4d :

[0130]

[0131] Then θOJ4d Substitute x into the first, second, and third equations in equation (6) to calculate x. OJ4d y OJ4d , z OJ4d :

[0132]

[0133] S4, according to B1 P OJ4d θ OJ4d Find the inverse kinematics of each joint of the SCARA robot.

[0134] In a specific embodiment, step S4 specifically includes:

[0135] according to B1 P OJ4d =[x OJ4d y OJ4d z OJ4d ] and θ OJ4d Find the inverse solutions for the unknowns θ1, θ2, s3, and θ4 using the following formulas:

[0136]

[0137] Specifically, based on the sign of sin(θ2), two sets of solutions can be obtained. One of these solutions can be fixed according to the structural form of the grinding wheel assembly and the robot. Figure 3 For example, if the grinding wheel assembly is located in the positive Y-axis direction of the SCARA robot, and the working grinding wheel surface is closer to the positive X-axis direction, then sin(θ2) should be solved using a positive number in this configuration. After determining the unknown quantities θ1, θ2, s3, and θ4, position commands can be sent to each axis motor through the control system. After the motors complete the execution, the workpiece can reach the specified position and posture that meet the machining code.

[0138] Further reference Figure 5 As an implementation of the methods shown in the above figures, this application provides an embodiment of a SCARA robot reverse engineering device for grinding wheels, which is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.

[0139] This application provides a SCARA robot reverse engineering device for grinding wheels, comprising:

[0140] Coordinate transformation module 1 is configured to establish the link coordinate system of the 3D model of the SCARA robot's arm and establish the transformation matrix between the coordinate systems. The SCARA robot has a first joint, a second joint, a third joint and a fourth joint connected in sequence, and the grinding wheel has a virtual fifth joint.

[0141] Equation Establishment Module 2 is configured to establish the virtual tool position and virtual tool axis direction of the SCARA robot's robotic arm based on the grinding wheel radius. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the SCARA robot's base coordinate system, an equation relationship is established based on the two routes of the coordinate system transformation relationship.

[0142] The first solution module 3 is configured to calculate the rotation angle of the virtual fifth joint axis and the rotation angle θ of the fourth joint axis moving coordinate system {OJ4d} relative to the SCARA robot base coordinate system {OB1} based on the equation relationship. OJ4d The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. B1 P OJ4d ;

[0143] The second solver module 4 is configured to, based on B1 P OJ4d θ OJ4d The inverse kinematics of each joint of the SCARA robot are obtained by using the transformation matrix between the coordinate systems.

[0144] The following is for reference. Figure 6 It illustrates an electronic device suitable for implementing embodiments of this application (e.g., Figure 1 The diagram shows the structure of a computer device 600 (a server or terminal device). Figure 6 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0145] like Figure 6 As shown, the computer device 600 includes a central processing unit (CPU) 601 and a graphics processing unit (GPU) 602, which can perform various appropriate actions and processes according to programs stored in read-only memory (ROM) 603 or programs loaded from storage section 609 into random access memory (RAM) 604. The RAM 604 also stores various programs and data required for the operation of the device 600. The CPU 601, GPU 602, ROM 603, and RAM 604 are interconnected via a bus 605. An input / output (I / O) interface 606 is also connected to the bus 605.

[0146] The following components are connected to I / O interface 606: an input section 607 including a keyboard, mouse, etc.; an output section 608 including an LCD, speakers, etc.; a storage section 609 including a hard disk, etc.; and a communication section 610 including a network interface card, such as a LAN card or modem. The communication section 610 performs communication processing via a network such as the Internet. A drive 611 may also be connected to I / O interface 606 as needed. A removable medium 612, such as a hard disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 611 as needed so that computer programs read from it can be installed into storage section 609 as needed.

[0147] 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 section 610, and / or installed from removable medium 612. When the computer program is executed by central processing unit (CPU) 601 and graphics processing unit (GPU) 602, the functions defined in the methods of this application are performed.

[0148] It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium, a computer-readable medium, or any combination thereof. A computer-readable medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor device, or any combination thereof. More specific examples of a computer-readable medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution device, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than a computer-readable medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution device, apparatus, or apparatus. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0149] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0150] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using dedicated hardware-based means to perform the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0151] The modules described in the embodiments of this application can be implemented in software or hardware. These modules can also be located within a processor.

[0152] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: establish a linkage coordinate system based on the three-dimensional model of the SCARA robot's arm, and establish transformation matrices between the coordinate systems, wherein the SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected in sequence, and the grinding wheel has a virtual fifth joint; establish the virtual tool position and virtual tool axis direction of the SCARA robot's arm according to the grinding wheel radius, and establish an equation relationship based on the two paths of the coordinate system transformation relationship by aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the base coordinate system of the SCARA robot; and calculate the rotation angle of the virtual fifth joint axis and the rotation angle θ of the fourth joint axis moving coordinate system {OJ4d} relative to the Z-axis of the SCARA robot's base coordinate system {OB1} according to the equation relationship. OJ4d The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. B1 P OJ4d ;according to B1 P OJ4d θ OJ4d The inverse kinematics of each joint of the SCARA robot are obtained by using the transformation matrix between the coordinate systems.

[0153] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

Claims

1. A SCARA robot inverse solution method for grinding wheel polishing, characterized in that, Includes the following steps: S1. Based on the 3D model of the SCARA robot's robotic arm, establish its link coordinate system and the transformation matrix between each coordinate system. The SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected sequentially. The grinding wheel has a virtual fifth joint. The SCARA robot's base is fixedly mounted on the equipment base. The first joint, second joint, fourth joint, and virtual fifth joint respectively realize rotational motion, the third joint realizes linear motion, and the grinding wheel is fixedly mounted on the equipment base in the form of a grinding wheel assembly. The link coordinate system includes the SCARA... Robot base coordinate system {OB1}, first joint axis static coordinate system {OJ1s}, first joint axis moving coordinate system {OJ1d}, second joint axis static coordinate system {OJ2s}, second joint axis moving coordinate system {OJ2d}, third joint axis static coordinate system {OJ3s}, third joint axis moving coordinate system {OJ3d}, fourth joint axis static coordinate system {OJ4s}, fourth joint axis moving coordinate system {OJ4d}, grinding wheel assembly base coordinate system {OB2}, virtual fifth joint axis static coordinate system {OJ5s}, virtual fifth joint axis moving coordinate system {OJ5d}, and workpiece coordinate system {OW}; S2, establish the virtual tool position and virtual tool axis direction of the SCARA robot's robotic arm based on the grinding wheel radius, and establish an equation relationship based on the two routes of the coordinate system transformation relationship by aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the base coordinate system of the SCARA robot. S3, calculating the rotation angle of the virtual fifth joint axis and the rotation angle of the fourth joint axis moving coordinate system {OJ4d} relative to the Z axis of the SCARA robot base coordinate system {OB1} according to the equation relationship and the expression of the origin of the fourth joint axis moving coordinate system {OJ4d} in the SCARA robot base coordinate system {OB1} ; S4, according to the , and the conversion matrix between each coordinate system to find the inverse solution of each joint motion variable of the SCARA robot.

2. The SCARA robot inverse kinematics method for grinding wheels according to claim 1, characterized in that, The conversion matrix includes sequentially from the upper left index coordinate system to the lower left index coordinate system 、 、 、 、 、 、 、 、 、 、 、 ; matrix operator symbols are as follows: ; ; ; ; Based on the above operators: ; ; ; ; ; ; ; ; ; ; ; ; The matrix mentioned above involves , , , , , , This refers to the length dimension of the mechanical structure or the installation distance dimension, where, The height of the SCARA robot base section. The length of the first joint arm of the SCARA robot. This refers to the length of the second joint arm of the SCARA robot. The distance between the initial position of the SCARA robot's end effector clamping disc and the top plane of the base section. This is the distance between the centerline of the grinding wheel and the mounting surface of the grinding wheel assembly. This is the distance between the working surface of the grinding wheel and the OXZ plane of the grinding wheel assembly's base coordinate system {OB2}. Let {OB2} be the distance in the Y direction between the base coordinate system of the grinding wheel assembly and the base coordinate system of the SCARA robot {OB1}. , , and These are the rotation angles of the first joint axis, the second joint axis, the fourth joint axis, and the virtual rotation angle of the virtual fifth joint axis, respectively. This represents the linear displacement of the third joint axis.

3. The SCARA robot inverse kinematics method for grinding wheels according to claim 2, characterized in that, Step S2 specifically includes: Given that the radius of the grinding wheel is r, a virtual tool position is established in the virtual fifth joint axis motion coordinate system {OJ5d}. and virtual tool axis direction By setting the virtual knife position and virtual tool axis direction The tool positions in the workpiece coordinate system {OW} are respectively related to the tool positions. and the direction of the tool axis Under the SCARA robot's base coordinate system {OB1}, the two routes coincide, and an equation is established based on the coordinate system transformation relationship: Among them, the knife point and the direction of the tool axis Here, x, y, and z represent the programming points and vectors in the workpiece coordinate system {OW}, respectively. x, y, and z represent the X, Y, and Z axis components of the tool position point in the workpiece coordinate system {OW}, and i, j, and k represent the X, Y, and Z axis components of the tool axis direction in the workpiece coordinate system {OW}. The tool axis direction is a unit vector. .

4. The SCARA robot inverse kinematics method for grinding wheels according to claim 3, characterized in that, Step S3 specifically includes: adjusting the expression in equation (1) regarding... Expanding the equation, the third term of the formula is as follows: Computable : get back, Since it is a known matrix, and because , , , Since all matrices are known, we can use equation (1) and other equations to solve the problem. and work out and ; make Rearranging equation (1) yields: make , Calculate and Further rearranging equation (4), we get: The solution is below. Based on the structure and kinematic relationship of the SCARA robot, it can be known that... It is a translation and rotation transformation matrix, and its rotation part can only rotate around the Z-axis, so let's assume... At the same time , , and Symbolic representation: , , , ;in, , , for The three-axis components of a point in the OB1 coordinate system , , for The three-axis components of a vector in the OB1 coordinate system. , , for The three-axis components of a point in the OJ4d coordinate system , , for The three-axis components of a vector in the OJ4d coordinate system; Will , , , and Substituting the symbolic representation into equation (5) and expanding it, and removing the unsigned equations, we obtain the following equation relationship: First, use the fourth and fifth equations in equation (6) to calculate : Then Substitute into the first, second, and third equations of equation (6) to calculate , , :

5. The SCARA robot inverse kinematics method for grinding wheels according to claim 4, characterized in that, Step S4 specifically includes: according to and Find the unknown quantity , , , The inverse solution is given by the following formula: according to Two sets of solutions are obtained by using the symbols. One of them is fixed according to the structural form of the grinding wheel assembly and the robot to obtain the inverse solution.

6. A SCARA robot reverse engineering device for grinding wheels, characterized in that, include: A coordinate transformation module is configured to establish a link coordinate system based on the 3D model of the SCARA robot's arm and to establish transformation matrices between the various coordinate systems. The SCARA robot has a first joint, a second joint, a third joint, and a fourth joint connected sequentially. A grinding wheel has a virtual fifth joint. The SCARA robot's base is fixedly mounted on a device base. The first, second, fourth, and virtual fifth joints respectively achieve rotational motion, while the third joint achieves linear motion. The grinding wheel is fixedly mounted on the device base as a grinding wheel assembly. The link coordinate system includes... The SCARA robot uses the following coordinate systems: base coordinate system {OB1}, first joint axis static coordinate system {OJ1s}, first joint axis moving coordinate system {OJ1d}, second joint axis static coordinate system {OJ2s}, second joint axis moving coordinate system {OJ2d}, third joint axis static coordinate system {OJ3s}, third joint axis moving coordinate system {OJ3d}, fourth joint axis static coordinate system {OJ4s}, fourth joint axis moving coordinate system {OJ4d}, grinding wheel assembly base coordinate system {OB2}, virtual fifth joint axis static coordinate system {OJ5s}, virtual fifth joint axis moving coordinate system {OJ5d}, and workpiece coordinate system {OW}. The equation establishment module is configured to establish the virtual tool position and virtual tool axis direction of the SCARA robot's robotic arm based on the grinding wheel radius. By aligning the virtual tool position and virtual tool axis direction with the tool position and tool axis direction in the workpiece coordinate system in the SCARA robot's base coordinate system, an equation relationship is established based on the two routes of the coordinate system transformation relationship. The first solution module is configured to calculate the rotation angle of the virtual fifth joint axis and the rotation angle of the fourth joint axis moving coordinate system {OJ4d} relative to the SCARA robot base coordinate system {OB1} based on the aforementioned equation. The origin of the fourth joint axis motion coordinate system {OJ4d} is expressed in the SCARA robot base coordinate system {OB1}. ; The second solution module is configured to, based on the... , The inverse kinematics of each joint of the SCARA robot are obtained by using the transformation matrix between the coordinate systems.

7. An electronic device, comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Inverse-kinematics analytic-solution calculating method of articulated manipulator

    CN107589934A

  • Method for identifying kinematic parameters of SCARA robot

    CN110614635A