Robot tail end pose joint angle determination method, related equipment and program product

By obtaining the manifold model of the robot's joint angles and combining it with optimization algorithms, the problem of robot singular states was solved, improving the stability and safety of robot operation.

CN121870751APending Publication Date: 2026-04-17IFLYTEK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
IFLYTEK CO LTD
Filing Date
2025-12-31
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing technologies, when calculating the joint angles of a robot's end-effector pose, only limit the physical boundary constraints of the joint angles, which may cause the robot to enter a singular state, affecting stability and safety.

Method used

By obtaining the manifold model of the robot's joint angles in non-singular states, and combining it with optimization algorithms, the target joint angles are solved to ensure that the robot is within a reasonable feasible region and avoids singular states.

Benefits of technology

This reduces the probability of strange states occurring in the robot, improving the stability and safety of robot operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121870751A_ABST
    Figure CN121870751A_ABST
Patent Text Reader

Abstract

The invention discloses a robot tail end pose joint angle determination method, related equipment and a program product, a first model is introduced, and the first model represents a manifold where a reasonable feasible region of a robot joint angle is located; the reasonable feasible region is a sub-region formed by the joint angle of the robot in a non-singular state in the complete feasible region of the joint angle of the robot. Based on the target tail end pose and the first model, a target joint angle is solved through an optimization algorithm, an optimization target comprises a first sub-target and a second sub-target, the first sub-target is used for minimizing the deviation between the tail end pose obtained through forward kinematics calculation of the candidate joint angle and the target tail end pose, meanwhile, the joint angle physical constraint condition is met, and the joint angle is obtained; the second sub-target is used for enabling the candidate joint angle to approach the manifold represented by the first model. The determined target joint angle is in the reasonable feasible region of the joint angle, so that the probability that the robot is in a singular state is reduced, and the stability and safety of robot operation are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot control technology, and more specifically, to a method for determining the joint angle of a robot's end effector, related equipment, and program products. Background Technology

[0002] In the field of robot control, in order to control a robot to achieve a set target end effector pose, it is necessary to calculate the robot's joint angles (taking a 7-axis robotic arm as an example, 7 joint angles need to be calculated). Here, the target end effector pose refers to the target pose of the robot's end effector.

[0003] Existing solutions, when calculating the joint angles of a robot's end-effector pose, only limit the physical boundary constraints of the joint angles (corresponding to the complete feasible region of the joint angle, such as the range of motion of a certain joint angle being 0°-60°). The search is performed within the complete feasible region of the joint angles, but some joint angles correspond to singular states of the robot, meaning that the robot's state is unreasonable, affecting the robot's operational safety. For example... Figure 1a and Figure 1b , Figure 1a An example is given of a robot whose left arm gripper is in the target end-effector pose, and the robot as a whole is in a normal state (non-singular state). Figure 1b An example is given of a robot whose left arm gripper is in a target end-effector pose, but the robot is in a strange state. That is, when grasping an object, the left arm has an upward elbow joint. This pose is very unreasonable, affects the robot's stability, and in severe cases, even affects the robot's operational safety. Summary of the Invention

[0004] In view of the above problems, this application is proposed to provide a method, related equipment, and program products for determining the joint angles of a robot's end effector, so as to reduce the occurrence of strange states in the robot and improve the stability and safety of robot operation. The specific solution is as follows:

[0005] Firstly, a method for determining the joint angles of a robot's end effector is provided, including:

[0006] Determine the target end-effector pose of the robot;

[0007] Obtain a first model, which represents the manifold in which the reasonable feasible region of the robot's joint angles lies, wherein the reasonable feasible region is a sub-region formed by the joint angles of the robot in a non-singular state within the complete feasible region of the robot's joint angles.

[0008] Based on the target end pose and the first model, the target joint angle is obtained by an optimization algorithm. The optimization objective of the optimization algorithm includes a first sub-objective and a second sub-objective. The first sub-objective is used to minimize the deviation between the end pose calculated by forward kinematics from the candidate joint angle and the target end pose, and to make the candidate joint angle satisfy the set joint angle physical constraint conditions. The second sub-objective is used to make the candidate joint angle approach the manifold.

[0009] In one possible design, in another implementation of the first aspect of the embodiments of this application, the process of obtaining the first model includes:

[0010] Obtain the first joint angle of the robot in a non-singular state and the second joint angle in a singular state;

[0011] Training data is composed of the first joint angle, the second joint angle, and the label. The label corresponding to the first joint angle indicates that the joint is located on the manifold, and the label corresponding to the second joint angle indicates that the joint is not located on the manifold.

[0012] The first model is trained using the training data.

[0013] In one possible design, in another implementation of the first aspect of the embodiments of this application, the process of obtaining the robot's first joint angle in a non-singular state and the second joint angle in a singular state includes:

[0014] In different task scenarios, the set of the first joint angles of the robot under human control in a non-singular state is collected;

[0015] The robot joint angle is sampled within its complete feasible domain, and the distance between the sampled joint angle and each first joint angle in the first joint angle set is calculated. The minimum distance is determined. If the minimum distance exceeds a set distance threshold, the sampled joint angle is determined as the second joint angle.

[0016] In one possible design, in another implementation of the first aspect of the embodiments of this application, the label corresponding to the first joint angle is 1, and the label corresponding to the second joint angle is 0.

[0017] The process of obtaining the target joint angle through an optimization algorithm based on the target end pose and the first model includes:

[0018] Construct a distance term, which represents the deviation between the end pose calculated from the candidate joint angles using positive kinematics and the target end pose;

[0019] The joint angle physical constraints are converted into penalty terms, which, together with the distance terms, constitute an objective function. Minimizing this objective function is taken as the first sub-objective.

[0020] Calculate the first gradient of the first model with respect to the candidate joint angle, and maximize the first gradient as the second sub-objective;

[0021] The optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the target joint angle is obtained by solving according to the optimization objective.

[0022] In one possible design, in another implementation of the first aspect of the embodiments of this application, the optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the process of solving for the target joint angle according to the optimization objective includes:

[0023] Calculate the second gradient of the objective function with respect to the candidate joint angle, take the negative value of the second gradient, and add it to the first gradient in a weighted manner. Iterate and update the candidate joint angle according to the gradient descent method until the set convergence condition is met, and determine the updated candidate joint angle as the target joint angle.

[0024] In one possible design, in another implementation of the first aspect of the embodiments of this application, the label corresponding to the first joint angle is 0, and the label corresponding to the second joint angle is 1.

[0025] The process of obtaining the target joint angle through an optimization algorithm based on the target end pose and the first model includes:

[0026] Construct a distance term, which represents the deviation between the end pose calculated from the candidate joint angles using positive kinematics and the target end pose;

[0027] The joint angle physical constraints are converted into penalty terms, which, together with the distance terms, constitute an objective function. Minimizing this objective function is taken as the first sub-objective.

[0028] Calculate the first gradient of the first model with respect to the candidate joint angle, and minimize the first gradient as the second sub-objective;

[0029] The optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the target joint angle is obtained by solving according to the optimization objective.

[0030] In one possible design, in another implementation of the first aspect of the embodiments of this application, the optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the process of solving for the target joint angle according to the optimization objective includes:

[0031] Calculate the second gradient of the objective function with respect to the candidate joint angle, and add it to the first gradient with weights. Take the negative value of the sum, and iteratively update the candidate joint angle according to the gradient descent method until the set convergence condition is met. Then, determine the updated candidate joint angle as the target joint angle.

[0032] Secondly, a robot is provided, comprising: a memory and a processor;

[0033] The memory is used to store programs;

[0034] The processor is configured to execute the program to implement the various steps of the robot end-effector pose joint angle determination method described in any of the first aspects of this application.

[0035] Thirdly, a readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the various steps of the robot end-effector pose joint angle determination method described in any of the first aspects of this application.

[0036] Fourthly, a computer program product is provided, including a computer program that, when executed by a processor, implements the various steps of the robot end-effector pose joint angle determination method described in any of the first aspects of this application.

[0037] By employing the above technical solution, this application introduces a first model in the process of determining the joint angles of the robot's end effector pose. The first model represents the manifold in which the reasonable feasible region of the robot's joint angles lies. The reasonable feasible region is a sub-region within the complete feasible region of the robot's joint angles, consisting of joint angles in non-singular states. Clearly, if a joint angle lies on the manifold, it indicates that the robot is not currently in a singular state. Based on this, and using the target end effector pose to be achieved by the robot and the first model, an optimization algorithm is used to solve for the target joint angles. The optimization objective of the algorithm includes first and second sub-objectives. The first sub-objective is used to minimize the deviation between the end effector pose calculated from candidate joint angles using forward kinematics and the target end effector pose, and to ensure that the candidate joint angles satisfy the set joint angle physical constraints. That is, under the condition of satisfying the joint angle physical constraints, the robot, in the candidate joint angle state, should approach the target end effector pose as closely as possible. The second sub-objective is used to make the candidate joint angles approach the manifold represented by the first model, that is, to restrict the candidate joint angles to be within the reasonable feasible region. The aforementioned optimization algorithm iteratively solves for candidate joint angles until the convergence condition is met, yielding the final target joint angle. Because the first model constraint is added in this study, the final target joint angle approximates the manifold represented by the first model, meaning it falls within the reasonable feasible region of the joint angle. This reduces the probability of the robot exhibiting singular states and improves the stability and safety of robot operation. Attached Figure Description

[0038] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0039] Figure 1a This illustration shows a robot in a normal state when its left arm gripper is in the target end-effector pose.

[0040] Figure 1b This illustration shows a robot in a singular state when its left arm gripper is in the target end-effector pose.

[0041] Figure 2 A schematic diagram of an implementation system architecture for the robot end-effector pose joint angle determination method provided in this application embodiment;

[0042] Figure 3 This application provides a schematic flowchart of a method for determining the joint angle of a robot's end effector.

[0043] Figure 4 An example is provided for a schematic diagram of a manifold in a high-dimensional space;

[0044] Figure 5 This example illustrates a scenario where an Aloha device can be used.

[0045] Figure 6 This is a schematic diagram of the structure of a robot provided in an embodiment of this application. Detailed Implementation

[0046] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0047] Robot end-effector pose refers to the position and orientation of the end effector on a robot. Taking a robotic arm as an example, its end-effector pose can be the position and orientation of the end gripper. During robot control, the target end-effector pose to be achieved can be set, and based on this, the joint angles θ of the robot in the target end-effector pose state need to be calculated. For robots with different joints (axis numbers), the dimension of θ can be different. Taking a 7-axis robotic arm as an example, θ can be a 7-dimensional vector.

[0048] Traditional methods for solving joint angles based on the target end-effector pose typically only define the physical boundary constraints of the joint angles. These physical boundary constraints are broad angular limitations, such as θ. - ≤θ≤θ + Where θ - and θ + The joint angle θ represents the upper and lower limits of its movement. Generally, it can be determined based on the physical settings of the joint component. For example, if the maximum movable angle of a certain joint component is 0°-60°, then this angle range can be set as a physical boundary constraint condition.

[0049] By setting physical boundary constraints for joint angles, joint angles that the robot cannot achieve can be avoided by solving the problem.

[0050] However, when solving joint angles based on the end-effector pose, it's easy to encounter situations where one pose corresponds to multiple joint angles. While some of these joint angles may be within physical boundary constraints, they can still lead to singular states in the robot, such as... Figure 1b As shown, when the gripper grasps an object, the robotic arm's elbow joint exhibits an unusual upward tilt, which is unconventional and affects the robot's stability and operational safety.

[0051] Therefore, this embodiment provides a method for determining the joint angle of the robot's end effector, which can reduce the occurrence of singular states in the robot and improve the stability and safety of robot operation.

[0052] The robot end-effector pose joint angle determination method provided in this application embodiment can be applied to various types of robots, such as the more common embodied intelligent robot.

[0053] This application provides a method for determining the joint angles of a robot's end effector, which can be applied to, for example... Figure 2 The system architecture shown includes a robot 100 and a server 200. The server 200 may include one or more servers (…). Figure 2 (This example uses a server as an illustration).

[0054] The robot 100 can be used alone to execute the robot end-effector pose joint angle determination method provided in the embodiments of this application. In addition, the robot 100 and the server 200 can also be used in conjunction to execute the robot end-effector pose joint angle determination method provided in the embodiments of this application.

[0055] This application provides a method for determining the joint angle of a robot's end effector. Taking the application of this method to a computer device as an example, the computer device can specifically be... Figure 2 The system may consist of robot 100 or a combination of robot 100 and server 200. (Refer to...) Figure 3 The method for determining the joint angles of the robot's end effector specifically includes the following steps:

[0056] Step S100: Determine the target end-effector pose of the robot.

[0057] Specifically, users can set the tasks that the robot will perform, and then determine the target end-effector pose that the robot needs to achieve based on the tasks. The target end-effector pose refers to the position and orientation that the robot's end effector needs to reach. Taking a robotic arm as an example, the end effector can be a gripper on the robotic arm.

[0058] Step S110: Obtain the first model. The first model represents the manifold in which the reasonable feasible region of the robot's joint angles is located. The reasonable feasible region is the sub-region formed by the joint angles of the robot in a non-singular state within the complete feasible region of the robot's joint angles.

[0059] This application addresses the issue that traditional methods, when optimizing joint angles based on the target end-effector pose, only limit the physical boundary conditions of the joint angles, resulting in an excessively large feasible region for the entire optimization problem, including singular solutions that could lead to singular states for the robot. To solve this problem, this embodiment uses a first model to characterize the manifold containing the reasonable feasible region of the robot's joint angles. This reasonable feasible region is the subdomain formed by the joint angles of the robot in non-singular states within the complete feasible region of the robot's joint angles; that is, the reasonable feasible region does not include joint angles that could lead to singular states for the robot.

[0060] Among them, a singular state refers to an unreasonable posture exhibited by a robot. The occurrence of a singular state in a robot can affect its stability and operational safety.

[0061] Within the complete feasible region of robot joint angles, some joint angles may cause the robot to exhibit singular states. Therefore, after excluding such joint angles, the subdomain formed by the joint angles in which the robot is in a non-singular state is considered the reasonable feasible region. The reasonable feasible region corresponds to a smooth manifold in high-dimensional space. In this embodiment, a first model is used to characterize the manifold in which the reasonable feasible region of robot joint angles lies.

[0062] Reference Figure 4 It illustrates a manifold in a high-dimensional space, on which a reasonable feasible region for robot joint angles can lie.

[0063] Step S120: Based on the target end pose and the first model, the target joint angle is obtained by solving the algorithm.

[0064] The optimization objectives of the optimization algorithm include a first sub-objective and a second sub-objective. The first sub-objective is used to minimize the deviation between the end pose calculated by forward kinematics from the candidate joint angles and the target end pose, and to make the candidate joint angles satisfy the set joint angle physical constraints. The second sub-objective is used to make the candidate joint angles approach the manifold.

[0065] This embodiment considers both the target end-effector pose and the limitations of the first model when solving for the target joint angle. The optimization objective of the optimization algorithm consists of two parts: a first sub-objective and a second sub-objective.

[0066] On the one hand, the deviation between the end pose obtained by forward kinematics calculation of the candidate joint angle and the target end pose is calculated. At the same time, the candidate joint angle is made to meet the set physical constraints of the joint angle. That is, under the premise that the candidate joint angle meets the physical constraints of the joint angle, the end pose calculated based on the candidate joint angle is as close as possible to the target end pose. On the other hand, the candidate joint angle is also required to approach the manifold represented by the first model. The candidate joint angle is updated iteratively until the convergence condition is met and the final target joint angle is obtained.

[0067] The method provided in this embodiment takes into account the limitations of the first model when optimizing the solution of the target joint angle. That is, it restricts the target joint angle to approach the manifold represented by the first model, so that the target joint angle is within a reasonable feasible region, avoids the robot from having a singular state, and improves the stability and operational safety of the robot.

[0068] In some embodiments of this application, the process of obtaining the end pose using candidate joint angles via forward kinematics calculations is described.

[0069] For an n-DOF robot, the DH parameters are used for the i-th joint. This describes its relationship with the (i-1)th joint. Indicates the link twist angle. Indicates the length of the link. This represents the link offset. Taking a rotary joint as an example, all three parameters are constants. This represents the joint angle, which is a variable.

[0070] The forward kinematics calculation process includes:

[0071] 1. Calculation of a single transformation matrix:

[0072] For each joint i, the homogeneous transformation matrix from coordinate system {i-1} to coordinate system {i} is:

[0073]

[0074] 2. Series transformation matrix:

[0075] The total transformation matrix from the base coordinate system {0} to the end coordinate system {n}:

[0076]

[0077] 3. Extract the end-effector pose

[0078] The position p and attitude R of the end effector can be directly extracted from the total transformation matrix:

[0079]

[0080] End position vector:

[0081]

[0082] Rotation matrix (endpoint attitude):

[0083]

[0084] The end pose is obtained by forward kinematics calculation of the candidate joint angle composed of the aforementioned end position vector P and attitude R.

[0085] In some embodiments of this application, the process of obtaining the first model in step S110 is described.

[0086] The first model represents the manifold in which the reasonable feasible region of the robot's joint angles lies. As the number of axes of the robot increases, the dimension space corresponding to the complete feasible region of the joint angles is higher, and the reasonable feasible region of the joint angles belongs to a subdomain within the complete feasible region, corresponding to a smooth manifold.

[0087] In one possible implementation, this embodiment can use a neural network model to fit the manifold, and define the neural network model as the first model. The training process of the first model includes:

[0088] S1. Obtain the first joint angle of the robot in the non-singular state and the second joint angle in the singular state.

[0089] The process of obtaining the first joint angle can be as follows: under different task scenarios, the robot collects the set of the first joint angles in a non-singular state under human control.

[0090] For example, the first set of joint angles can be obtained using an Aloha telescopic device. The Aloha device has two sets of arms: an active arm and a passive arm. The active arm is operated by a human; whatever the active arm does, the passive arm will perform a corresponding action. During data collection, a human operates the active arm, indirectly controlling the movement of the passive arm, and simultaneously records the joint angles during this process. The human can control the robot to perform various actions in a non-singular state, thereby obtaining the first set of joint angles.

[0091] Understandably, in order to obtain as many first joint angles as possible from the robot in non-singular states, the robot can be manually controlled to perform different tasks in various scenarios in non-singular states, thereby obtaining the first joint angles under different tasks and forming a final set of first joint angles. For example... Figure 5 This example illustrates a use case for an Aloha device.

[0092] One possible approach to obtaining the second joint angle is to manually control the robot to perform various actions in a strange state and obtain the robot's joint angles during this process, which will then be used as the second joint angle.

[0093] In addition, this embodiment also provides another method for obtaining the second joint angle, namely:

[0094] Sample the joint angle within the complete feasible region of the robot joint angle, and calculate the distance between the sampled joint angle and each first joint angle in the first joint angle set. Determine the minimum distance. If the minimum distance exceeds the set distance threshold, it means that the difference between the sampled joint angle and the first joint angle is too large and deviates from the reasonable feasible region of the joint angle. The sampled joint angle can be determined as the second joint angle.

[0095] This method allows for the rapid determination of multiple second joint angles.

[0096] S2. Training data is composed of the first joint angle, the second joint angle, and the label. The label corresponding to the first joint angle indicates that it is located on the manifold, and the label corresponding to the second joint angle indicates that it is not located on the manifold.

[0097] The first joint angle obtained in the above steps is the joint angle of the robot in a non-singular state. That is, the label corresponding to the first joint angle indicates that the corresponding joint angle is located in the manifold of the reasonable feasible region, and the label corresponding to the second joint angle indicates that the corresponding joint angle is not located in the manifold of the reasonable feasible region.

[0098] For example, the label value corresponding to the first joint angle can be set to 1, and the label value corresponding to the second joint angle can be set to 0. Alternatively, the label value corresponding to the first joint angle can be set to 0, and the label value corresponding to the second joint angle can be set to 1.

[0099] S3. Train the first model using the training data.

[0100] The neural network model is trained based on the training data (joint angle-label data pairs) obtained in the two steps mentioned above. The neural network model can adopt a classification model structure. The last layer of the network can use the sigmoid function to compress the output value to 0 to 1, which is set to match the value of the label.

[0101] In this embodiment, a neural network model is used to fit the manifold in which the reasonable feasible region of the joint angle is located, which can more accurately represent the manifold in which the reasonable feasible region of the joint angle is located.

[0102] In some embodiments of this application, the process of obtaining the target joint angle by an optimization algorithm based on the target end pose and the first model in the aforementioned step S120 is described.

[0103] The optimization objectives of the optimization algorithm include a first sub-objective and a second sub-objective, which will be explained in detail below.

[0104] The process of determining the first sub-objective:

[0105] First, a distance term is constructed, which represents the deviation between the end pose calculated from the candidate joint angles via forward kinematics and the target end pose.

[0106] The set joint angle physical constraints are converted into penalty terms, which, together with the distance term, constitute the objective function. Minimizing the objective function is taken as the first sub-objective.

[0107] This embodiment can employ... Represents the distance term. Let θ represent the end-effector pose, and θ represent the joint angle. The first sub-objective can then be defined as the following optimization problem:

[0108]

[0109] in, The physical constraints representing the joint angles.

[0110] The optimization problem described above is to find a joint angle such that the end-effector pose calculated by forward kinematics is as close as possible to the target end-effector pose, while this joint angle itself must be within certain physical constraints. .

[0111] The process of solving the above optimization problem can be achieved by converting the physical constraints of the joint angles into penalty terms, which, together with the distance term, constitute the objective function.

[0112] For physical constraints The penalty term can be defined as:

[0113]

[0114] in, A value greater than 0 indicates a relatively large penalty parameter. When θ is within the feasible region (satisfying the physical constraints), the penalty term is zero. When θ exceeds the feasible region, the penalty term is positive and increases with the degree to which it exceeds the feasible region.

[0115] The penalty term and the distance term are combined to form the objective function:

[0116]

[0117] Minimizing the objective function is taken as the first sub-objective, that is:

[0118]

[0119] By using the first sub-objective mentioned above, the robot end-effector pose corresponding to the calculated joint angle can be made to approach the target end-effector pose, while ensuring that the joint angle satisfies the physical constraints.

[0120] The process of determining the second sub-objective:

[0121] Taking the first model, which uses a neural network model to fit the manifold, as an example. Since the label setting method differs during the training of the first model, the setting method for the corresponding second sub-objective may also differ. Therefore, the following embodiments describe the setting method for the second sub-objective under two different training label setting methods.

[0122] In the first scenario, the label corresponding to the first joint angle is set to 1, and the label corresponding to the second joint angle is set to 0. The first model trained using the training data constructed with these labels will, for any input joint angle, output a value close to 1 if the output value is close to 1, indicating that the input joint angle lies on the manifold of the reasonable feasible region; and output a value close to 0 if the output value is not close to 0, indicating that the input joint angle does not lie on the manifold of the reasonable feasible region.

[0123] The first model can be represented by the function f(θ). Then, the first gradient of the first model with respect to the candidate joint angles can be calculated. The goal is to maximize the first gradient as the second sub-objective.

[0124] The process of calculating the first gradient of the first model with respect to the candidate joint angle can be obtained by PyTorch automatic gradient differentiation.

[0125] It is understandable that the gradient is the direction that makes the function value rise. In this embodiment, the second sub-objective is to maximize the first gradient. After iterating the candidate joint angle, the value of f(θ) will gradually rise to approach 1, and the candidate joint angle will gradually approach the manifold.

[0126] The optimization objective of the optimization algorithm is composed of the first and second sub-objectives mentioned above, and the target joint angle is obtained by solving according to the optimization objective.

[0127] For example, the objective function can be calculated. Second gradient of candidate joint angle Take the negative of the second gradient and compare it with the first gradient. Perform weighted summation and iteratively update the candidate joint angles using the gradient descent method until the set convergence condition is met. Then, determine the updated candidate joint angles as the target joint angles.

[0128] The update formula for gradient descent is as follows:

[0129]

[0130] in, The weights of the first gradient can be determined experimentally and are used to balance the influence of the first and second sub-objectives on the optimization process.

[0131] The second approach involves setting the label value to 0 for the first joint angle and the label value to 1 for the second joint angle. The first model trained using the training data constructed with these labels will, for any input joint angle, have an output value close to 0 if the output value is on the manifold of the reasonable feasible region, and an output value close to 1 if the output value is not on the manifold of the reasonable feasible region.

[0132] The first model can be represented by the function f(θ). Then, the first gradient of the first model with respect to the candidate joint angles can be calculated. Minimizing the first gradient is taken as the second sub-objective.

[0133] The process of calculating the first gradient of the first model with respect to the candidate joint angle can be obtained by PyTorch automatic gradient differentiation.

[0134] It is understandable that the gradient is the direction that makes the function value rise. In this embodiment, the second sub-objective is to minimize the first gradient. After iterating the candidate joint angles, the value of f(θ) will gradually decrease to approach 0, and the candidate joint angles will gradually approach the manifold.

[0135] The optimization objective of the optimization algorithm is composed of the first and second sub-objectives mentioned above, and the target joint angle is obtained by solving according to the optimization objective.

[0136] For example, the objective function can be calculated. Second gradient of candidate joint angle and with the first gradient Perform a weighted summation, take the negative value of the summation result, and iteratively update the candidate joint angles according to the gradient descent method until the set convergence condition is met. Then, determine the updated candidate joint angles as the target joint angles.

[0137] The update formula for gradient descent is as follows:

[0138]

[0139] in, The weights for the first gradient can be determined experimentally.

[0140] This application also provides a robot in its embodiments. (See reference...) Figure 6 The diagram illustrates a structure suitable for implementing the robot in the embodiments of this application. The robot in the embodiments of this application may include, but is not limited to, embodied intelligent robots or other types of robots. Figure 6 The robot shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.

[0141] like Figure 6As shown, the robot may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 1, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 2 or a program loaded from a storage device 8 into a random access memory (RAM) 3, to implement the robot end-effector pose joint angle determination method of the foregoing embodiments of this application. When the robot is powered on, the RAM 3 also stores various programs and data required for robot operation. The processing device 1, ROM 2, and RAM 3 are interconnected via a bus 4. An input / output (I / O) interface 5 is also connected to the bus 4.

[0142] Typically, the following devices can be connected to I / O interface 5: input devices 6 including, for example, touchscreens, touchpads, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 7 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 8 including, for example, memory cards, hard drives, etc.; and communication devices 9. Communication device 9 allows the robot to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 A robot with various devices is shown, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0143] This application also provides a computer program product including computer-readable instructions, which, when executed on an electronic device, cause the electronic device to implement any of the robot end-effector pose joint angle determination methods provided in this application.

[0144] This application also provides a computer-readable storage medium that carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any of the robot end-effector pose joint angle determination methods provided in this application.

[0145] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0146] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0147] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0148] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

[0149] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.

Claims

1. A method for determining the joint angles of a robot's end effector, characterized in that, include: Determine the target end-effector pose of the robot; Obtain a first model, which represents the manifold in which the reasonable feasible region of the robot's joint angles lies, wherein the reasonable feasible region is a sub-region formed by the joint angles of the robot in a non-singular state within the complete feasible region of the robot's joint angles. Based on the target end pose and the first model, the target joint angle is obtained by an optimization algorithm. The optimization objective of the optimization algorithm includes a first sub-objective and a second sub-objective. The first sub-objective is used to minimize the deviation between the end pose calculated by forward kinematics from the candidate joint angle and the target end pose, and to make the candidate joint angle satisfy the set joint angle physical constraint conditions. The second sub-objective is used to make the candidate joint angle approach the manifold.

2. The method according to claim 1, characterized in that, The process of obtaining the first model includes: Obtain the first joint angle of the robot in a non-singular state and the second joint angle in a singular state; Training data is composed of the first joint angle, the second joint angle, and the label. The label corresponding to the first joint angle indicates that the joint is located on the manifold, and the label corresponding to the second joint angle indicates that the joint is not located on the manifold. The first model is trained using the training data.

3. The method according to claim 2, characterized in that, The process of obtaining the robot's first joint angle in a non-singular state and its second joint angle in a singular state includes: In different task scenarios, the set of the first joint angles of the robot under human control in a non-singular state is collected; The robot joint angle is sampled within the complete feasible domain, and the distance between the sampled joint angle and each first joint angle in the first joint angle set is calculated. The minimum distance is determined. If the minimum distance exceeds a set distance threshold, the sampled joint angle is determined as the second joint angle.

4. The method according to claim 2, characterized in that, The label corresponding to the first joint angle is set to 1, and the label corresponding to the second joint angle is set to 0; The process of obtaining the target joint angle through an optimization algorithm based on the target end pose and the first model includes: Construct a distance term, which represents the deviation between the end pose calculated from the candidate joint angles using positive kinematics and the target end pose; The joint angle physical constraints are converted into penalty terms, which, together with the distance terms, constitute an objective function. Minimizing this objective function is taken as the first sub-objective. Calculate the first gradient of the first model with respect to the candidate joint angle, and maximize the first gradient as the second sub-objective; The optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the target joint angle is obtained by solving according to the optimization objective.

5. The method according to claim 4, characterized in that, The optimization objective of the optimization algorithm consists of the first sub-objective and the second sub-objective. The process of obtaining the target joint angle according to the optimization objective includes: Calculate the second gradient of the objective function with respect to the candidate joint angle, take the negative value of the second gradient, and add it to the first gradient in a weighted manner. Iterate and update the candidate joint angle according to the gradient descent method until the set convergence condition is met, and determine the updated candidate joint angle as the target joint angle.

6. The method according to claim 2, characterized in that, The label value corresponding to the first joint angle is 0, and the label value corresponding to the second joint angle is 1; The process of obtaining the target joint angle through an optimization algorithm based on the target end pose and the first model includes: Construct a distance term, which represents the deviation between the end pose calculated from the candidate joint angles using positive kinematics and the target end pose; The joint angle physical constraints are converted into penalty terms, which, together with the distance terms, constitute an objective function. Minimizing this objective function is taken as the first sub-objective. Calculate the first gradient of the first model with respect to the candidate joint angle, and minimize the first gradient as the second sub-objective; The optimization objective of the optimization algorithm is composed of the first sub-objective and the second sub-objective, and the target joint angle is obtained by solving according to the optimization objective.

7. The method according to claim 6, characterized in that, The optimization objective of the optimization algorithm consists of the first sub-objective and the second sub-objective. The process of obtaining the target joint angle according to the optimization objective includes: Calculate the second gradient of the objective function with respect to the candidate joint angle, and add it to the first gradient with weights. Take the negative value of the sum, and iteratively update the candidate joint angle according to the gradient descent method until the set convergence condition is met. Then, determine the updated candidate joint angle as the target joint angle.

8. A robot, characterized in that, include: Memory and processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the robot end-effector pose joint angle determination method as described in any one of claims 1 to 7.

9. A readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements each step of the robot end-effector pose joint angle determination method as described in any one of claims 1 to 7.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements each step of the robot end-effector pose joint angle determination method as described in any one of claims 1 to 7.