Robot inverse solution method, device and computer equipment

By obtaining the current joint angle and end position of the welding robot, determining the reference matrix and projection matrix, and combining the target inverse kinematics equations, the problem of difficulty in determining the heaven and earth rails in the existing technology is solved, and the precise control and path planning of the robot's movements are realized, and the motion accuracy and efficiency are improved.

CN119175705BActive Publication Date: 2025-03-28SPEEDBOT ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411244781.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-06
Publication Date
2025-03-28
Estimated Expiration
2044-09-06

AI Technical Summary

Technical Problem

When calculating kinematic inverse solutions, it is difficult for existing welding robots with earth rails and sky rails to determine the values ​​of heaven and earth rails, and the existing inverse kinematic solutions are not optimized for specific task types.

Method used

A robot inverse solution method is provided. By obtaining the current joint angle and end position of the robot, determining the projection matrix after orthogonal decoupling of the reference matrix and vector, combining the target inverse kinematics equation, the joint angle change amount after the robot inverse solution is obtained.

Benefits of technology

It realizes precise control and path planning of robot movements, improves the robot's motion accuracy and efficiency, enhances the utilization of redundant degrees of freedom, and avoids joint limits and strange problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119175705B_ABST
    Figure CN119175705B_ABST
Patent Text Reader

Abstract

This application relates to a robot inverse kinematics method, apparatus, and computer equipment. The method includes: acquiring the robot's current joint angles and end effector pose, as well as the pose deviation between the target pose and the end effector pose; determining a reference matrix and a projection matrix after orthogonal decoupling of vectors, which helps simplify subsequent kinematic calculations of the robot; and using the reference matrix, pose deviation, projection matrix, and target inverse kinematics equations to obtain the joint angle changes after inverse kinematics. This method enables precise control and path planning of robot movements, improving the robot's motion accuracy and efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of industrial control technology, and in particular to a robot inverse solution method, device, and computer equipment. Background Art

[0002] Industrial robots are widely used in automobile manufacturing, aerospace, shipbuilding, building steel structure, heavy machinery and other fields. Their application not only improves production efficiency and welding quality, but also reduces the labor intensity of workers and the danger of the working environment. Among them, the welding robot has expanded its working field and is constantly innovating and upgrading, becoming a beneficial supplement to traditional industrial robots.

[0003] There are two common strategies for calculating the inverse kinematics of existing welding robots with ground rails and ceiling rails. One is to regard the ground rails and ceiling rails as a set of kinematic models, and the 6-axis robotic arm at the end as a set of kinematic models, and solve the two sets of kinematic models separately. However, it is difficult to determine the values ​​of the ceiling rails and ground rails when calculating the inverse kinematics. The other is to regard the ground rails, ceiling rails and 6-axis robotic arm as a robot with joint redundancy, and then use the theory related to redundant robots for motion planning. In addition, the existing inverse kinematics solutions are all general methods, which are not optimized for specific task types. Summary of the invention

[0004] Based on this, it is necessary to provide a robot inverse solution method, device, computer equipment and computer-readable storage medium that can accurately obtain the joint angle change in response to the above technical problems.

[0005] In a first aspect, the present application provides a robot inverse solution method. The method comprises:

[0006] Acquire the current joint angle of the robot, and determine the end position of the robot and the position deviation between the end position and the target position;

[0007] Determine a reference matrix and a projection matrix after vector orthogonal decoupling according to the current joint angle and the preset first model;

[0008] The joint angle change of the robot after inverse solution is obtained according to the reference matrix, the posture deviation, the projection matrix and the target inverse kinematics equation.

[0009] In one embodiment, determining the end position and posture of the robot includes: using a parameter method to perform kinematic modeling on the robot to obtain a forward kinematics equation; substituting the current joint angle in the joint space into the forward kinematics equation to obtain the end position and posture in the Cartesian space.

[0010] In one embodiment, the above method also includes: taking the time derivative of the forward kinematics equation to obtain a first model; the first model characterizes the relationship between the joint angular velocity in the joint space and the terminal linear velocity and terminal angular velocity in the Cartesian space; and solving the first model to obtain the initial inverse kinematics equation.

[0011] In one embodiment, a reference matrix and a projection matrix after vector orthogonal decoupling are determined according to the current joint angle and a preset first model, including: obtaining a reference matrix according to the current joint angle and the first model; the reference matrix represents a pseudo-inverse of a Jacobian matrix; determining a target vector corresponding to the terminal posture, and constructing a projection matrix according to the terminal linear velocity and terminal angular velocity associated with the target vector and the terminal posture.

[0012] In one embodiment, the process of generating the target inverse kinematics equation includes: obtaining a candidate inverse kinematics equation based on the terminal velocity associated with the terminal posture and the initial inverse kinematics equation; comparing the difference between the initial inverse kinematics equation and the candidate inverse kinematics equation to obtain the target inverse kinematics equation; the initial inverse kinematics equation is obtained after calculating the redundant solution and is associated with the zero space characteristics of the robot; the candidate inverse kinematics equation is associated with the spatial decoupling characteristics of the robot.

[0013] In one embodiment, the change in joint angle of the robot after inverse solution is obtained according to the reference matrix, the posture deviation, the projection matrix and the target inverse kinematics equation, including: determining the number of main terms in the target inverse kinematics equation; the main number of terms corresponds to the necessary tasks performed by the robot; the necessary tasks represent the tasks in which the end of the robot will generate linear velocity; substituting the reference matrix, the posture deviation and the projection matrix into the main number of terms respectively to obtain the change in joint angle of the robot after inverse solution.

[0014] In one embodiment, after obtaining the joint angle change of the robot after the inverse solution, it also includes: if the joint angle change is less than a preset value, determining whether the robot has reached the joint limit; if reached, reconfirming the new joint angle change through the target inverse kinematics equation.

[0015] In one embodiment, after obtaining the joint angle change of the robot after inverse solution, it also includes: if the joint angle change is less than a preset value, judging whether the robot interferes with the environment; if so, determining the direction vector corresponding to the target posture; obtaining a new target posture according to the direction vector, and returning to the process of determining the posture deviation between the end posture and the new target posture to continue.

[0016] In a second aspect, the present application also provides a robot inverse solution device. The device comprises:

[0017] A joint angle acquisition module is used to acquire the current joint angle of the robot and determine the end position of the robot and the position deviation between the end position and the target position;

[0018] A vector orthogonal decoupling module, used to determine a reference matrix and a projection matrix after vector orthogonal decoupling according to the current joint angle and a preset first model;

[0019] The angle change determination module is used to obtain the joint angle change of the robot after inverse solution according to the reference matrix, the posture deviation, the projection matrix and the target inverse kinematics equation.

[0020] In a third aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps in the above-mentioned robot inverse solution method are implemented.

[0021] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned robot inverse solution method are implemented.

[0022] The above-mentioned robot inverse solution method, device, computer equipment and computer-readable storage medium obtain the robot's current joint angle and end posture, as well as the posture deviation between the target posture, which are necessary data for robot motion control and path planning. By determining the reference matrix and the projection matrix after vector orthogonal decoupling, it helps to simplify the subsequent robot kinematic calculations. By using the reference matrix, posture deviation, projection matrix and target inverse kinematics equation, the change in joint angle after the robot inverse solution is obtained, which can realize precise control and path planning of the robot's motion and improve the robot's motion accuracy and efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 A diagram showing an application environment of a robot inverse solution method in one embodiment;

[0024] Figure 2 A schematic diagram of a flow chart of a robot inverse solution method in one embodiment;

[0025] Figure 3 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0026] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0027] Robots are increasingly used in various industries, including the welding industry, where traditional manual welding is gradually replaced by robot welding. When welding some small-sized workpieces, the workspace of the traditional 6-axis industrial robot can completely cover the workpiece. At this time, you only need to choose a suitable 6-axis industrial robot to complete the welding task. When facing some larger-sized workpieces to be welded, the workspace of the 6-axis industrial robot cannot cover the workpiece, which will cause some positions to be unreachable. In order to expand the robot's workspace, a common practice is to add external axes to the robot in the x, y, and z directions. For example: add an external axis to the x or y direction to become a 7-axis robot; add an external axis to each of the two directions of x, y, and z to become an 8-axis robot; add an external axis to each direction of x, y, and z to become a 9-axis robot. The specific number of external axes added needs to be determined based on information such as the size of the workpiece to be welded. In addition to expanding the workspace, the welding robot with added external axes will also add redundant degrees of freedom to the robot, and achieve singularity avoidance, joint limit avoidance, and obstacle avoidance through the redundant machine's human zero space. Since the inverse kinematics solutions of the 7-axis robot, 8-axis robot, and 9-axis robot here are universal, they are collectively referred to as robots in the following text.

[0028] The robot inverse solution method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The server 104 is used to obtain the current joint angle of the robot, and determine the end posture of the robot, as well as the posture deviation between the end posture and the target posture; according to the current joint angle and the preset first model, determine the reference matrix and the projection matrix after vector orthogonal decoupling; the server 104 is also used to obtain the joint angle change of the robot after the inverse solution according to the reference matrix, posture deviation, projection matrix and target inverse kinematics equation, so that the terminal 102 can perform the control operation of the robot according to the joint angle change. Among them, the terminal 102 can be but is not limited to various types of industrial robots, such as welding robots with redundant degrees of freedom, etc. The server 104 can be implemented with an independent server or a server cluster composed of multiple servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0029] In one embodiment, Figure 2 As shown, a robot inverse solution method is provided, which can be applied to Figure 1 The server in the example is used to illustrate the following steps:

[0030] Step 202, obtaining the current joint angle of the robot, and determining the end posture of the robot, and the posture deviation between the end posture and the target posture.

[0031] Among them, the current joint angle is the joint angle of the robot in the joint space; the end posture is the posture of the end of the robot in the Cartesian space; the target posture is the specified moving position for the robot to perform tasks such as welding.

[0032] Among them, when the robot is a welding robot, the robot's external axis and its 6-axis robot arm joint axis can be regarded as a complete set of serial linkage mechanisms. Due to the symmetry of the end tool, when performing these tasks, rotating around the symmetry axis will not affect the execution effect of the task. For example, when welding, rotating around the symmetry axis of the end barrel of the welding gun, the position of the end of the welding gun relative to the weld does not change, and the working angle and walking angle of the welding gun do not change, so it will not affect the welding effect.

[0033] Specifically, the following article takes the welding task of a welding robot as an example to explain. In order to complete the welding task, the degree of freedom of the robot performing the task must be greater than 5. The degrees of freedom of the welding robot with overhead rails and ground rails are translation and rotation along the X, Y, and Z axes, respectively. The coordinates of the end of the robot tool are x, y, z, rx, ry, and rz. There will be 1 redundant degree of freedom when the task is completed. According to the definition of a redundant robot, if the robot's degree of freedom in the workspace is greater than the degree of freedom in the task space, the robot that completes the task can be regarded as a redundant degree of freedom robot. Since the number of joints of the welding robot with overhead rails and ground rails is greater than the number of degrees of freedom in the workspace, it already has a certain degree of redundancy. Combined with the redundant degrees of freedom of the task, it can better avoid the problems of joint limitations and joint singularities.

[0034] Therefore, when the robot obtains a welding task triggered by the user, the robot moves to the specified position according to the welding task. During the movement, the server will determine the current joint angle q of the robot in real time. init , and when the forward kinematics equations created in advance for the robot are obtained, q init Substitute it into the robot's forward kinematics equation to calculate the end position x of the robot in the world coordinate system init , and then according to the terminal posture x init and the target pose x _target The position deviation Δx is calculated. The forward kinematics describes the process of calculating the position and posture of the robot end effector when the variables of each joint of the robot are given.

[0035] Step 204 , determining a reference matrix and a projection matrix after vector orthogonal decoupling according to the current joint angle and the preset first model.

[0036] The first model represents the relationship between the joint angular velocity in the joint space and the terminal linear velocity v and the terminal angular velocity ω in the Cartesian space; the projection matrix T includes the projection matrix M corresponding to the terminal linear velocity v The projection matrix M corresponding to the terminal angular velocity ω .

[0037] Specifically, the server sets q init Substitute the preset first model to obtain the parameter J(q) associated with the Jacobian matrix, and transform the parameter to obtain the reference matrix representing the pseudo-inverse of the Jacobian matrix The server calculates the redundant solution of the first model and obtains the initial inverse kinematics equation. The redundant solution allows the robot to have multiple possible solutions when the number of joints is greater than the necessary number of degrees of freedom. By introducing the redundant solution feature, these degrees of freedom can be effectively utilized in motion planning to avoid the computational complexity and control difficulties caused by redundancy.

[0038] The initial inverse kinematics equation includes the first minor number and the first main number required to complete the welding task. Since the joint velocity generated by the first minor number will not cause displacement of the robot end, that is, the linear velocity is 0, even if the first minor number is not added, it will not affect the robot's completion of the welding task. That is, the initial inverse kinematics equation is associated with the robot's zero space characteristics. However, when the robot avoids environmental interference or joint limitations, it is usually convenient to adjust the configuration by adding a minor part. The server determines the terminal linear velocity and terminal angular velocity included in the terminal velocity associated with the terminal posture, and performs vector orthogonal decoupling on the robot's terminal linear velocity and terminal angular velocity, respectively, and then constructs the projection matrix T.

[0039] Step 206, obtaining the joint angle change of the robot after inverse solution according to the reference matrix, posture deviation, projection matrix and target inverse kinematics equation.

[0040] The target inverse kinematics equation is determined by combining the redundant solution calculation of the robot and the vector orthogonal decoupling. Inverse kinematics describes the process of calculating the joint variables that the robot should set to achieve the target when the position and posture of the end effector of the robot are known.

[0041] Specifically, the server determines the target number of main terms in the target inverse kinematics equation, which corresponds to the necessary tasks performed by the robot. The necessary tasks represent the tasks that will generate linear velocity at the end of the robot, allowing the robot to move to the position specified by the welding task, that is, the necessary part to complete the welding task. The server will refer to the matrix By substituting the posture deviation Δx and the projection matrix T into the target main terms respectively, we can obtain the joint angle change Δq after the inverse solution of the robot.

[0042] After obtaining the joint angle change of the robot after the inverse solution, the server needs to determine whether the joint angle change is greater than or equal to the preset value. If so, the new current joint angle q is calculated based on Δq. init =q init +Δq, and then returns to the process of determining the new end pose of the robot and continues.

[0043] In the above robot inverse solution method, by obtaining the current joint angle and end position of the robot, as well as the position deviation between the target position, which are necessary data for robot motion control and path planning, by determining the reference matrix and the projection matrix after vector orthogonal decoupling, it helps to simplify the subsequent kinematic calculations. By using the reference matrix, position deviation, projection matrix and target inverse kinematics equation, the change in joint angle after the robot inverse solution is obtained, which can realize the precise control and path planning of the robot motion, and improve the accuracy and efficiency of robot motion control. In addition, since the robot does not directly optimize the specific kinematic inverse solution according to the characteristics of the welding task, but applies the spatial decoupling solution to the robot with external axes according to the characteristics of the welding task, the redundant degrees of freedom of the robot are increased.

[0044] In one embodiment, determining the end position and posture of the robot includes: using a parameter method to perform kinematic modeling on the robot to obtain a forward kinematics equation; substituting the current joint angle in the joint space into the forward kinematics equation to obtain the end position and posture in the Cartesian space.

[0045] Among them, the parameter method includes but is not limited to the DH parameter method.

[0046] Specifically, the server uses the parameter method to perform kinematic modeling on the robot, and the robot's forward kinematic equation can be obtained as x=f(q), which represents the relationship between the robot's end position and joint angle. Therefore, the server calculates the current joint angle q in the joint space init Substituting into the forward kinematics equation, we can get the terminal position x in Cartesian space: init .

[0047] In this embodiment, kinematic modeling can better understand the robot's motion rules and the change process of joint angles. Through the obtained forward kinematics equation, the robot's end position and posture can be accurately calculated, thereby realizing subsequent robot control and path planning.

[0048] In one embodiment, the method further includes: performing time differentiation on the forward kinematics equation to obtain a first model; and solving the first model to obtain an initial inverse kinematics equation.

[0049] Specifically, since the Jacobian matrix can link the angular velocity of the current joint space with the linear velocity and angular velocity in the Cartesian space, the first model after differentiation can be obtained by taking the derivative of both sides of the forward kinematics equation with respect to time: in, is the generalized Cartesian velocity, the first three columns of the matrix are the linear velocity v of the robot's end effector, and the last three columns are the angular velocity ω of the robot's end effector; is the joint angular velocity of the robot, J(q) is a 6×n Jacobian matrix.

[0050] Next, the server calculates the redundant solution for the first model and obtains the initial inverse kinematics equation as follows: in, The calculated joint angular velocity will generate a linear velocity at the end of the robot, allowing the robot to move to the position specified by the task. It is a necessary part of completing the task, which is also the first principal term of the initial inverse kinematics equation. The generated joint velocity will not cause displacement of the end of the welding robot. It is the minor part required to complete the task, that is, the first major term of the initial inverse kinematics equation. h is an arbitrary vector in the joint space of the welding robot.

[0051] In one embodiment, the first model can also be expressed as:

[0052] In this embodiment, the first model and the initial inverse kinematics equations obtained can help us understand the law of change of the robot's joint angle over time during the movement process, clearly define the necessary and minor parts of completing the welding task, and improve the subsequent robot's motion performance and accuracy.

[0053] In one of the embodiments, a reference matrix and a projection matrix after vector orthogonal decoupling are determined according to the current joint angle and a preset first model, including: obtaining a reference matrix according to the current joint angle and the first model; determining a target vector corresponding to the end posture, and constructing a projection matrix according to the end linear velocity and the end angular velocity associated with the target vector and the end posture.

[0054] The reference matrix represents a pseudo-inverse of the Jacobian matrix.

[0055] Specifically, the server will q init Substitute the preset first model to obtain the parameter J(q) associated with the Jacobian matrix, and then use the following method to obtain the reference matrix: In welding tasks, when calibrating the tool coordinate system, the robot needs to define the vector along the direction of the tool end as one of the x-axis, y-axis or z-axis, and then calculate the posture of the tool coordinates in the robot coordinate system according to the forward kinematics of the welding robot, which can be expressed as:

[0056]

[0057] If the vector along the direction of the robot end is defined as the x-axis, then the target vector corresponding to the end posture is n = [a 11 a 12 a 13 ] T , that is In the first column, if the vector along the end direction of the robot is defined as the y-axis, then the target vector n corresponding to the end posture is In the second column, if the vector along the end direction of the robot is defined as the z-axis, then the target vector n corresponding to the end posture is The third column.

[0058] For any 3D u, it can be decomposed into two parts: one part is in a subspace M, and the other part is in the orthogonal complement M of the subspace. ⊥ Specifically, assuming that M is a subspace, then the vector u can be decomposed into Among them, u M is located in the subspace M, Located in the orthogonal subspace M ⊥ And M+M ⊥ =E,M*M ⊥ =0, where E and 0 are the 3D identity matrix and zero matrix respectively.

[0059] Therefore, the projection matrix M is constructed for the robot's linear velocity v and angular velocity ω respectively. v and the projection matrix M ω , then the projection matrix of the generalized velocity of the robot end is:

[0060]

[0061] Where M = E-nn T , M ⊥ =nn T , n is the unit normal vector of the plane, that is, the target vector corresponding to the above end posture.

[0062] In this embodiment, a reference matrix representing a pseudo-inverse of the Jacobian matrix is ​​accurately obtained through the current joint angle and the first model, which can improve the robustness of the control system. By considering the end linear velocity and angular velocity, the dynamic response of the robot end can be better controlled to adapt to different welding task requirements, etc.

[0063] In one embodiment, the process of generating the target inverse kinematics equation includes: obtaining a candidate inverse kinematics equation based on the terminal velocity associated with the terminal posture and the initial inverse kinematics equation; and comparing the difference between the initial inverse kinematics equation and the candidate inverse kinematics equation to obtain the target inverse kinematics equation.

[0064] Among them, the initial inverse kinematics equation is obtained after calculating the redundant solution and is associated with the null space characteristics of the robot; the candidate inverse kinematics equation is associated with the spatial decoupling characteristics of the robot.

[0065] Specifically, the terminal speed of the robot can be decomposed into the speed required to complete the task and the speed of redundant space Right now The server will Substituting the initial inverse kinematics equation into the candidate inverse kinematics equation is:

[0066] It can be seen that the structure at this time is very similar to the structure of the initial inverse kinematics equation. The second main term of the candidate inverse kinematics equation is Indicates the main task part, the second and third most important terms of the candidate inverse kinematics equations It represents the secondary task part, which has a similar function to the initial inverse kinematics equation, and the third major term is the same as the first major term of the initial inverse kinematics equation. Since the secondary task part will not cause the tool end to displace, the first major term and the second important number The difference is that the former utilizes the characteristics of the zero space of the welding robot, while the latter utilizes the method of task space decoupling.

[0067] After the welding task is decoupled in vector orthogonal space, the welding robot has higher redundant degrees of freedom, which is convenient for avoiding joint limits and joint singularities. Therefore, the secondary task of the null space characteristic corresponding to the first minor term can be omitted, and combined with the second major term of the candidate inverse kinematics equation, the target inverse kinematics equation is finally obtained as follows:

[0068] In this embodiment, the candidate inverse kinematics equation and the initial inverse kinematics equation are respectively associated with redundant solutions and spatial decoupling characteristics. The redundant solution enables the robot to have more choices when facing multiple solution problems, while the spatial decoupling characteristic can reduce the coupling effect between joints. By comparing the target inverse kinematics equation obtained by these equations, the control strategy can be optimized to make the robot movement smoother and more efficient, and to better handle complex welding tasks, and improve the system's adaptability to diverse and complex environments.

[0069] In one embodiment, after obtaining the joint angle change after the inverse solution of the robot, it also includes: if the joint angle change is less than a preset value, determining whether the robot has reached the joint limit; if reached, reconfirming the new joint angle change through the target inverse kinematics equation.

[0070] Specifically, after obtaining the joint angle change after the inverse solution of the robot, the server needs to determine whether the joint angle change is greater than or equal to the preset value. If not, it means that the robot has moved to the specified position. Then the server determines whether the robot has reached the joint limit. If so, it determines the target main term number in the target inverse kinematics equation. and the number of target minor items And reconfirm the new joint angle change. Finally, the server recalculates the new current joint angle q according to the new joint angle change Δq init =q init +Δq, and the process of returning to determine the new end position of the robot continues.

[0071] In this embodiment, when the joint limit is reached, the new joint angle change is reconfirmed through the target inverse kinematics equation, which can optimize the movement of the robot joints to make it more in line with the expected task requirements, especially in complex or restricted working environments, thereby improving the execution capability of welding tasks.

[0072] In one of the embodiments, after obtaining the joint angle change after the inverse solution of the robot, it also includes: if the joint angle change is less than a preset value, judging whether the robot interferes with the environment; if so, determining the direction vector corresponding to the target posture; obtaining a new target posture according to the direction vector, and returning to the process of determining the posture deviation between the end posture and the new target posture to continue.

[0073] Specifically, when the server determines that the change in joint angle is less than the preset value, it continues to determine whether the robot interferes with the environment. If so, it determines the target position x _target The corresponding direction vector, and let the target pose x _target After rotating a certain angle around the direction vector, the new target pose is obtained. Finally, the server returns to the process of determining the pose deviation between the end pose and the new target pose, and continues until the new joint angle change is determined.

[0074] In this embodiment, in the process of solving the joint angle changes of the robot's inverse kinematics, by fully considering the interference problem between the end and the environment and the joint limit problems of each joint, based on the determined new target posture and recalculated posture deviation, the robot's path planning is made more accurate and efficient, which helps the robot find the optimal path when performing tasks and reduce unnecessary movement and energy consumption.

[0075] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0076] Based on the same inventive concept, the embodiment of the present application also provides a robot inverse solution device for implementing the robot inverse solution method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more robot inverse solution device embodiments provided below can refer to the above limitations on the robot inverse solution method, and will not be repeated here.

[0077] In one embodiment, a robot inverse solution device is provided, comprising: a joint angle acquisition module, a vector orthogonal decoupling module and an angle change determination module, wherein:

[0078] The joint angle acquisition module is used to obtain the current joint angle of the robot and determine the end posture of the robot and the posture deviation between the end posture and the target posture.

[0079] The vector orthogonal decoupling module is used to determine a reference matrix and a projection matrix after vector orthogonal decoupling according to the current joint angle and a preset first model.

[0080] The angle change determination module is used to obtain the joint angle change of the robot after the inverse solution based on the reference matrix, posture deviation, projection matrix and target inverse kinematics equation.

[0081] Each module in the above-mentioned robot inverse solution device can be implemented in whole or in part by software, hardware and their combination. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0082] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 3As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store joint angle data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a robot inverse solution method is implemented.

[0083] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0084] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0085] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0086] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0087] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A robot inverse solution method, characterized in that: The method comprises: Acquire the current joint angle of the robot, and determine the end position of the robot and the position deviation between the end position and the target position; According to the current joint angle and the preset first model, determine the reference matrix and the projection matrix after vector orthogonal decoupling; the first model represents the relationship between the joint angular velocity in the joint space and the terminal linear velocity and terminal angular velocity in the Cartesian space; including: obtaining a reference matrix according to the current joint angle and the first model; the reference matrix represents a pseudo-inverse of a Jacobian matrix; determine the target vector corresponding to the terminal posture, and construct a projection matrix according to the terminal linear velocity and terminal angular velocity associated with the target vector and the terminal posture; Obtaining the joint angle change of the robot after inverse solution according to the reference matrix, the posture deviation, the projection matrix and the target inverse kinematics equation; The process of generating the target inverse kinematics equation includes: According to the terminal velocity associated with the terminal posture and the initial inverse kinematics equation, a candidate inverse kinematics equation is obtained; the initial inverse kinematics equation is obtained after calculation according to the redundant solution and is associated with the null space characteristic of the robot; the candidate inverse kinematics equation is associated with the spatial decoupling characteristic of the robot; The difference between the initial inverse kinematics equation and the candidate inverse kinematics equation is compared to obtain a target inverse kinematics equation.

2. The method according to claim 1, characterized in that: Determining the end position of the robot includes: Use parameter method to model the robot kinematics and obtain the forward kinematics equation; Substitute the current joint angle in the joint space into the forward kinematics equation to obtain the end position in the Cartesian space.

3. The method according to claim 2, characterized in that The method further comprises: Taking a time derivative of the forward kinematics equation to obtain a first model; The first model is solved to obtain the initial inverse kinematics equations.

4. The method according to claim 1, characterized in that: After obtaining the joint angle variation of the robot after the inverse solution, the method further includes: If the joint angle change is less than a preset value, it is determined whether the robot has reached the joint limit; If it is reached, the new joint angle change is reconfirmed through the target inverse kinematics equation.

5. The method according to claim 1, characterized in that After obtaining the joint angle variation of the robot after the inverse solution, the method further includes: If the joint angle variation is less than a preset value, it is determined whether the robot interferes with the environment; If it exists, determine the direction vector corresponding to the target posture; A new target posture is obtained according to the direction vector, and the process of returning to determine the posture deviation between the end posture and the new target posture is continued.

6. A robot inverse solution device, characterized in that: Used to execute the robot inverse solution method according to any one of claims 1 to 5, the device comprises: A joint angle acquisition module is used to acquire the current joint angle of the robot and determine the end position of the robot and the position deviation between the end position and the target position; A vector orthogonal decoupling module, used to determine a reference matrix and a projection matrix after vector orthogonal decoupling according to the current joint angle and a preset first model; The angle change determination module is used to obtain the joint angle change of the robot after inverse solution according to the reference matrix, the posture deviation, the projection matrix and the target inverse kinematics equation.

7. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Continuous inverse solution calculation method and device for robot

    CN115464638A

  • Seven-degree-of-freedom wrist joint offset mechanical arm inverse solution method and system and medium

    CN116587289A