Inverse joint angle solution methods, devices, equipment, media, and tree-like robots
By obtaining the Cartesian velocity at the end of the branch structure of the tree robot and optimizing the joint angle using a preset objective function, the problem of multi-degree-of-freedom inverse kinematics of tree robots was solved, realizing the coordinated motion control of the trunk and branch structures, and improving the accuracy and efficiency of the solution.
Patent Information
- Application Number
- CN202511169276.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-20
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2045-08-20
AI Technical Summary
In the existing technology, the inverse kinematics method for tree robots lacks a method that includes the tree trunk, which is especially difficult to solve in the case of multiple degrees of freedom, and the traditional numerical iterative method cannot make full use of the structural advantages of tree robots.
A method for inversely solving joint angles is provided. By obtaining the Cartesian velocity at the end of the branch structure and combining it with the preset objective function of the tree robot, the motion error of each joint is optimized, and the joint angle of each joint at the next moment is solved, including the joints on the trunk and branch structures.
This method enables coordinated control of the trunk and branch structures of a tree-like robot while ensuring joint movement safety, fully leveraging the structural advantages of the tree-like robot and improving the accuracy and efficiency of the solution.
Smart Images

Figure CN120697039B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and more specifically, to a method, apparatus, device, medium, and tree-shaped robot for inverse joint angle calculation. Background Technology
[0002] Tree robots are a type of robot with a branching topology. Their kinematic structure resembles a tree, with a trunk extending into multiple branches. Both the trunk and branches represent a chain structure with arbitrary degrees of freedom. Through the coordinated movement of the trunk and branches, each branch can complete a task independently or collaboratively.
[0003] Currently, inverse kinematics (IK) solutions for robots are mainly divided into analytical solutions and numerical solutions. However, traditional closed analytical methods mostly target individual branches and lack IK methods that include the trunk. As the degrees of freedom increase, the difficulty of solving the problem increases sharply. Ordinary numerical iterative methods start from the current robot state and find the nearest IK solution through iteration. The drawback of this method is that it cannot fully utilize the structural advantages of tree-like robots. Summary of the Invention
[0004] The purpose of this invention is to address the shortcomings of the prior art by providing a method, apparatus, device, medium, and tree robot for inverse joint angle calculation, so as to obtain the joint angles of each joint on the tree robot at the next moment.
[0005] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows:
[0006] In a first aspect, embodiments of this application provide a method for inverse joint angle calculation of a tree-like robot, the tree-like robot comprising a trunk structure and multiple branch structures connected to the trunk structure, the method comprising:
[0007] Based on the preset end tracking trajectory of the multiple branch structures, the Cartesian velocity of the ends of the multiple branch structures at the next moment is obtained respectively;
[0008] Based on the joint angles of each joint on the tree-like robot at the current moment and the preset motion constraints of each joint, the joint angles of the Cartesian velocities of the ends of the multiple branch structures at the next moment are converted using the preset objective function of the tree-like robot to obtain the joint angles of each joint at the next moment. The preset objective function is an optimization function that aims to minimize the sum of motion errors of each joint. Each joint on the tree-like robot includes the joints on the trunk structure and the joints on the multiple branch structures.
[0009] In an optional implementation, the step of converting the Cartesian velocities of the ends of the multiple branch structures at the next moment into joint angles based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, using the preset objective function of the tree robot, to obtain the joint angles of each joint at the next moment, includes:
[0010] Based on the joint angles of each joint at the current moment and the Cartesian velocities of the ends of the multiple branch structures at the next moment, the first objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the optimal velocity error variables of the ends of the multiple branch structures; wherein, the first objective function is an optimization function with the goal of minimizing the sum of the Cartesian velocity errors of each joint.
[0011] Based on the optimal velocity error variables at the ends of the multiple branch structures, the joint angles of each joint at the current moment, and the Cartesian velocities of the ends of the multiple branch structures at the next moment, the second objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the joint angular velocities of each joint at the next moment. The second objective function is an optimization function that aims to minimize the sum of the joint angle errors of each joint.
[0012] Based on the joint angular velocity of each joint at the next moment and the joint angle at the current moment, the joint angle of each joint at the next moment is obtained.
[0013] In an optional implementation, obtaining the Cartesian velocity of the ends of the plurality of branch structures at the next moment based on the preset end tracking trajectories of the plurality of branch structures includes:
[0014] Differentiate the preset end tracking trajectory of each branch structure to obtain the velocity and rotation speed information of the end of each branch structure at the next moment, which are used as the Cartesian velocity of the end of each branch structure at the next moment;
[0015] The velocity information includes the velocity components of the end point of the end coordinate system of each branch structure at the next moment relative to each coordinate axis in the preset base coordinate system, and the rotational speed information includes the rotational speed components of the end point of the end coordinate system of each branch structure at the next moment around each coordinate axis in the preset base coordinate system.
[0016] In an optional implementation, the preset motion constraints of each joint include: preset joint angular velocity constraints, preset joint angle constraints, and constraints relating the joint angular velocity of each joint to the Cartesian velocity of the ends of the plurality of branch structures at the next moment.
[0017] In an optional implementation, if the plurality of branch structures include a first branch structure and a second branch structure, the preset joint angular velocity constraint condition is as shown in the following formula:
[0018]
[0019] in, Represented as the tree robot on the first i The minimum joint angular velocity, Represented as the first i The maximum joint angular velocity, Represented as the first i The joint angular velocity at the next moment;
[0020] The preset joint angle constraint condition is shown in the following formula:
[0021]
[0022] in, Represented as the first i The minimum joint angle. Represented as the first i The maximum joint angle, Represented as the first i The joint angle at the current moment. This is expressed as the time of one cycle;
[0023] The relational constraints are shown in the following formula:
[0024]
[0025] in, It is represented by the first Jacobian matrix corresponding to the chain composed of the main structure and the first branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom of the second branch structure are represented as follows. Represented as 6 lines The zero matrix of columns, This is represented by the joint degrees of freedom of the first branch structure. The first part of the second Jacobian matrix is represented as the first part of the second Jacobian matrix. List, Represented as the second Jacobian matrix The second Jacobian matrix is the Jacobian matrix corresponding to the chain composed of the main structure and the second branch structure. The degrees of freedom of the joints of the main structure are represented as follows: This is expressed as the Cartesian velocity of the end of the multiple branch structures at the next moment. It is represented as the optimal velocity error variable at the end of the multiple branch structures.
[0026] In an optional implementation, if the plurality of branch structures include a first branch structure and a second branch structure, the first objective function is as shown in the following formula:
[0027]
[0028] in, The terminus of the multiple branch structures is represented by the first branch. i One optimal speed error variable, This is expressed as the number of the optimal speed error variables;
[0029] The second objective function is shown in the following formula:
[0030]
[0031] in, Represented as the tree robot on the first i The joint angle at the current moment. Represented as the first i The joint angular velocity at the next moment. This is expressed as the time of one cycle. Represented as the first i The pre-defined midpoint of joint motion. Represented as the first i The preset range of motion of the joint. The degrees of freedom of the joints of the main structure are represented as follows: The joint degrees of freedom of the second branch structure are represented as follows. This is represented by the joint degrees of freedom of the first branch structure.
[0032] Secondly, embodiments of this application also provide a joint angle inverse kinematics device for a tree-like robot, the tree-like robot including a trunk structure and multiple branch structures connected to the trunk structure, the device comprising:
[0033] The acquisition module is used to acquire the Cartesian velocity of the ends of the multiple branch structures at the next moment based on the preset end tracking trajectory of the multiple branch structures;
[0034] The conversion module is used to convert the joint angles of the ends of the multiple branch structures at the next moment based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, using the preset objective function of the tree robot, to obtain the joint angles of each joint at the next moment. The preset objective function is an optimization function that aims to minimize the sum of motion errors of each joint. The joints on the tree robot include the joints on the trunk structure and the joints on the multiple branch structures.
[0035] Thirdly, embodiments of this application also provide a computer device, including: a processor, a storage medium, and a bus, wherein the storage medium stores program instructions executable by the processor, and when the computer device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to perform the steps of the inverse joint angle solution method for a tree-like robot as described in any of the first aspects.
[0036] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the inverse joint angle solution method for a tree-like robot as described in any of the first aspects.
[0037] Fifthly, embodiments of this application also provide a tree-like robot, the tree-like robot comprising: a controller, a base, a trunk structure fixed on the base, and a plurality of branch structures connected to the trunk structure;
[0038] The controller is connected to each joint on the tree robot and is used to execute the steps of the inverse joint angle solution method for the tree robot as described in any of the first aspects.
[0039] The beneficial effects of this application are:
[0040] This application provides a method, apparatus, device, medium, and tree-like robot for inverse kinematics of joint angles. The method includes: obtaining the Cartesian velocities of the ends of multiple branch structures at the next moment based on preset end-effector tracking trajectories; and converting the Cartesian velocities of the ends of multiple branch structures at the next moment into joint angles based on the joint angles of each joint on the tree-like robot at the current moment and preset motion constraints of each joint, using a preset objective function of the tree-like robot. The preset objective function is an optimization function aiming to minimize the sum of motion errors of each joint. Each joint on the tree-like robot includes joints on the trunk structure and joints on multiple branch structures. This method first converts the preset end-effector tracking trajectory into the Cartesian velocities of the ends of multiple branch structures at the next moment. Then, using a preset objective function with preset motion constraints, it solves for the inverse kinematics of each joint corresponding to the Cartesian velocities of the ends of multiple branch structures at the next moment, ensuring the safety of joint movement. This allows for coordinated motion control of the trunk structure and multiple branch structures of the tree-like robot based on the joint angles of each joint at the next moment, fully leveraging the structural advantages of the tree-like robot. Attached Figure Description
[0041] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0042] Figure 1 A flowchart illustrating an inverse joint angle solution method for a tree-like robot provided in this application embodiment;
[0043] Figure 2 A flowchart illustrating another method for inverse joint angle calculation of a tree-like robot provided in this application embodiment;
[0044] Figure 3 A functional module diagram of a joint angle inverse kinematics device for a tree-like robot provided in an embodiment of this application;
[0045] Figure 4 This is a schematic diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are some embodiments of the present invention, but not all embodiments.
[0047] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0048] In the description of this application, it should be noted that if the terms "upper", "lower", etc. appear to indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, or the orientation or positional relationship that the product of this application is usually placed in, it is only for the convenience of describing this application and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application.
[0049] Furthermore, the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Additionally, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0050] It should be noted that, where there is no conflict, the features in the embodiments of this application can be combined with each other.
[0051] Tree robots are a type of robot with a branching topology. Their kinematic structure is similar to that of a tree, with multiple branches extending from a trunk. Both the trunk and branches represent a chain structure with arbitrary degrees of freedom. Under the joint movement of the trunk and branches, each branch can complete a task individually or collaboratively.
[0052] Specifically, the tree-like robot includes: a controller, a base, a main structure fixed on the base, and multiple branch structures connected to the main structure. The base can be movable or fixed. The controller can be inside the base or a separate controller. The controller is connected to each joint on the tree-like robot. By performing inverse kinematics on the joint angles of the tree-like robot, the joint angles of each joint on the tree-like robot at the next moment are obtained, and each joint is controlled according to the joint angles of each joint at the next moment.
[0053] The following explains the inverse kinematics (IK) method for the joint angles of a tree-like robot executed by the controller. To fully leverage the structural advantages of the tree-like robot, this application provides an IK method for the joint angles of a tree-like robot. Based on the preset end-effector tracking trajectories of multiple branch structures, the Cartesian velocities of the ends of multiple branch structures at the next moment are obtained. Then, based on the joint angles of each joint on the tree-like robot at the current moment and the preset motion constraints of each joint, a preset objective function of the tree-like robot is used to convert the Cartesian velocities of the ends of multiple branch structures at the next moment into joint angles, thus obtaining the joint angles of each joint at the next moment. The preset objective function is an optimization function that aims to minimize the sum of motion errors of each joint. Each joint on the tree-like robot includes joints on the main structure and joints on multiple branch structures, thereby obtaining the joint angles of each joint at the next moment corresponding to the Cartesian velocities of the ends of multiple branch structures at the next moment.
[0054] The inverse kinematics method for the joint angles of a tree-like robot provided in this application will be explained in detail below with reference to the accompanying drawings and specific examples. The inverse kinematics method for the joint angles of a tree-like robot provided in this application can also be implemented by a computer device pre-installed with a preset inverse kinematics algorithm or detection software for the joint angles of a tree-like robot, by running the algorithm or software. The computer device can be, for example, a server or a terminal, and the terminal can be a user computer. The tree-like robot includes a trunk structure and multiple branch structures connected to the trunk structure. Figure 1 This is a flowchart illustrating an inverse joint angle solution method for a tree-like robot provided in an embodiment of this application; as shown below. Figure 1 As shown, the method includes:
[0055] S101. Based on the preset end tracking trajectories of multiple branch structures, obtain the Cartesian velocities of the ends of multiple branch structures at the next moment.
[0056] In this embodiment, a preset end-point tracking trajectory is obtained for each branch structure. The preset end-point tracking trajectory refers to the pre-planned motion path of the end of each branch structure. For example, the end of a certain branch structure may need to move along a straight line or circular arc trajectory from point A to point B.
[0057] Optionally, the preset end tracking trajectory of each branch structure is differentiated to obtain the velocity and rotational speed information of the end of each branch structure at the next moment, which are used as the Cartesian velocity of the end of each branch structure at the next moment.
[0058] The velocity information includes the velocity components of the end coordinate system origin of each branch structure relative to each coordinate axis in the preset base coordinate system at the next moment, and the rotational speed information includes the rotational speed components of the end coordinate system of each branch structure around each coordinate axis in the preset base coordinate system at the next moment.
[0059] Specifically, if multiple branch structures include a first branch structure and a second branch structure, where the first branch structure is the branch structure to the left of the main structure and the second branch structure is the branch structure to the right of the main structure, then the preset end tracking trajectory of the first branch structure and the preset end tracking trajectory of the second branch structure are differentiated to obtain the velocity and rotational speed information of the ends of the first and second branch structures at the next moment. This yields the Cartesian velocities to be tracked by the ends of the first and second branch structures at the next moment, expressed as:
[0060]
[0061] in, The velocity of the origin of the coordinate system at the end of the first branch structure relative to the preset base coordinate system is expressed as... Quantity; The velocity of the origin of the coordinate system at the end of the first branch structure relative to the preset base coordinate system is expressed as... Quantity; The velocity of the origin of the coordinate system at the end of the first branch structure relative to the preset base coordinate system is expressed as... Quantity;
[0062] Represented as the coordinate system of the end of the first branch structure revolving around a preset base coordinate system. The rotational speed component of the shaft; Represented as the coordinate system of the end of the first branch structure revolving around a preset base coordinate system. The rotational speed component of the shaft; Represented as the coordinate system of the end of the first branch structure revolving around a preset base coordinate system. The rotational speed component of the shaft;
[0063] Similarly, This is expressed as the velocity of the origin of the coordinate system at the end of the second branch structure relative to the preset base coordinate system. Quantity; This is expressed as the velocity of the origin of the coordinate system at the end of the second branch structure relative to the preset base coordinate system. Quantity; This is expressed as the velocity of the origin of the coordinate system at the end of the second branch structure relative to the preset base coordinate system. Quantity;
[0064] Represented as the coordinate system at the end of the second branch structure revolving around a preset base coordinate system The rotational speed component of the shaft; Represented as the coordinate system at the end of the second branch structure revolving around a preset base coordinate system The rotational speed component of the shaft; Represented as the coordinate system at the end of the second branch structure revolving around a preset base coordinate system The rotational speed component of the shaft.
[0065] S102. Based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, the preset objective function of the tree robot is used to perform joint angle transformation on the Cartesian velocity of the ends of multiple branch structures at the next moment, so as to obtain the joint angles of each joint at the next moment.
[0066] The preset objective function is an optimization function that aims to minimize the sum of motion errors of each joint. The joints on the tree robot include joints on the main structure and joints on multiple branch structures.
[0067] Specifically, the joint angles of each joint on the tree-like robot at the current moment, i.e., the rotation angles of each joint at the current moment, serve as the initial state for the inverse kinematics. Since joint motion is continuous, the joint angles at the next moment need to be adjusted based on the current angles.
[0068] Since the end-effector velocity requirements of multiple branches of a tree robot may conflict and cannot be met simultaneously and precisely, it is necessary to solve the preset objective function by using the joint angles of each joint on the tree robot at the current moment, the preset motion constraints of each joint, and the Cartesian velocities of the ends of multiple branches at the next moment. This will minimize the sum of motion errors of each joint and thus obtain the optimal solution, which is the joint angle of each joint at the next moment.
[0069] In summary, this application provides an inverse kinematics method for joint angles of a tree-like robot. The method includes: obtaining the Cartesian velocities of the ends of multiple branch structures at the next moment based on preset end-effector tracking trajectories; and converting the Cartesian velocities of the ends of multiple branch structures at the next moment using a preset objective function of the tree-like robot, based on the joint angles of each joint at the current moment and preset motion constraints of each joint. The preset objective function is an optimization function aiming to minimize the sum of motion errors of each joint. Each joint on the tree-like robot includes joints on the trunk structure and joints on multiple branch structures. This method first converts the preset end-effector tracking trajectory into the Cartesian velocities of the ends of multiple branch structures at the next moment. Then, using a preset objective function with preset motion constraints, it solves for the inverse kinematics joint angles corresponding to the Cartesian velocities of the ends of multiple branch structures at the next moment, while ensuring the safety of joint movement. This allows for coordinated motion control of the trunk structure and multiple branch structures of the tree-like robot based on the joint angles of each joint at the next moment, fully leveraging the structural advantages of the tree-like robot.
[0070] This application also provides another possible implementation of the inverse joint angle solution method for tree robots. Figure 2 This is a flowchart illustrating another method for inverse kinematics calculation of joint angles for a tree-like robot, provided in an embodiment of this application. Figure 2 As shown, based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, the preset objective function of the tree robot is used to perform joint angle transformation on the Cartesian velocities of the ends of multiple branch structures at the next moment, obtaining the joint angles of each joint at the next moment, including:
[0071] S201. Based on the joint angles of each joint at the current moment and the Cartesian velocities of the ends of multiple branch structures at the next moment, the first objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the optimal velocity error variables of the ends of multiple branch structures.
[0072] The first objective function is an optimization function that aims to minimize the sum of the Cartesian velocity errors of each joint.
[0073] In this embodiment, taking a tree-like robot including a first branch structure and a second branch structure as an example, the trunk structure has n The first branch structure has [number] degrees of freedom. m The second branch structure has one degree of freedom and has [number] branches. gIf we consider each degree of freedom as a joint, then at time t, the joint angle, joint angular velocity, and joint angular acceleration of each joint on the tree robot are expressed as follows:
[0074]
[0075]
[0076]
[0077] in, This is expressed as the joint angle of the main structure from bottom to top at time t. It represents the joint angles of each joint in the first branch structure from the main structure to the end of the first branch structure at the current time t; This represents the joint angles of each joint in the second branch structure from the main structure to the end of the second branch structure at time t.
[0078] same, This is expressed as the joint angular velocity of the main structure from bottom to top at time t. It is expressed as the joint angular velocity of each joint in the first branch structure from the main structure to the end of the first branch structure at the current time t; This represents the joint angular velocity of each joint in the second branch structure from the main structure to the end of the second branch structure at time t. This is expressed as the joint angular acceleration of the main structure from bottom to top at time t. It is expressed as the joint angular acceleration of each joint in the first branch structure from the main structure to the end of the first branch structure at the current time t; This represents the joint angular acceleration of each joint in the second branch structure from the main structure to the end of the second branch structure at time t. (The symbol in the upper right corner is...) This represents the transpose of a vector, indicating that all state vectors are column vectors.
[0079] Optionally, the preset motion constraints for each joint include: preset joint angular velocity constraints, preset joint angle constraints, and constraints relating the joint angular velocity of each joint to the Cartesian velocity of the ends of multiple branch structures at the next moment.
[0080] If multiple branch structures include a first branch structure and a second branch structure, the preset joint angular velocity constraint condition is shown in the following formula:
[0081]
[0082] in, Represented as the tree robot on the first i The minimum joint angular velocity, Represented as the first i The maximum joint angular velocity, Represented as the first i The joint angular velocity at the next moment;
[0083] The preset joint angle constraint conditions are shown in the following formula:
[0084]
[0085] in, Represented as the first i The minimum joint angle. Represented as the first i The maximum joint angle, Represented as the first i The joint angle at the current moment. This is expressed as the time of one cycle;
[0086] The relational constraints are shown in the following formula:
[0087]
[0088] in, It is represented as the first Jacobian matrix corresponding to the chain consisting of the trunk structure and the first branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom are represented by the second branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom are represented by the first branch structure. The first part of the second Jacobian matrix is represented as the first part of the second Jacobian matrix. List, Represented as the second Jacobian matrix The second Jacobian matrix is the Jacobian matrix corresponding to the chain consisting of the main structure and the second branch structure. This represents the joint degrees of freedom of the main structure. This is expressed as the Cartesian velocity of the end of a multi-branched structure at the next moment. It is represented as the optimal velocity error variable at the end of multiple branch structures.
[0089] Specifically, the preset joint angular velocity constraints mean that the actual angular velocity of each joint cannot be less than the minimum joint angular velocity and cannot be greater than the maximum joint angular velocity. The preset joint angle constraints mean that the actual angle of each joint cannot be less than the minimum joint angle and cannot be greater than the maximum joint angle. The relational constraints are expressed as the Jacobian matrix multiplied by the joint angular velocity of each joint must equal the Cartesian velocity of the ends of multiple branch structures at the next moment minus the optimal velocity error variable of the ends of multiple branch structures.
[0090] The first Jacobian matrix corresponding to the chain composed of the main structure and the first branch structure. It consists of 6 lines. n + m The matrix of columns, the second Jacobian matrix corresponding to the chain consisting of the main structure and the second branch structure. It consists of 6 lines. n + g A matrix of columns.
[0091] Optionally, the first objective function is as shown in the following formula:
[0092]
[0093] in, Represented as the end of a multi-branch structure i One optimal speed error variable, This represents the number of optimal speed error variables.
[0094] Based on the joint angles of each joint at the current moment, the Cartesian velocities of the ends of multiple branch structures at the next moment, and using the preset joint angular velocity constraints, preset joint angle constraints, and the relationship constraints between the joint angular velocities of each joint and the Cartesian velocities of the ends of multiple branch structures at the next moment, the first objective function of the tree robot is solved, completing the first-level quadratic programming, and obtaining the optimal velocity error variables of the ends of multiple branch structures.
[0095] Since the Cartesian velocity of the ends of the first and second branch structures in the next moment is Since there are 12 components, the number of optimal speed error variables is also 12, meaning k is 12. Therefore, the optimal speed error variables are expressed as: Among them, the 12 optimal velocity error components correspond to... The system consists of 12 components. By introducing an optimal velocity error variable, the problem of decreased tracking accuracy caused by the end of certain branch structures reaching the boundary of the workspace or near singular points is solved.
[0096] S202. Based on the optimal velocity error variables at the ends of multiple branch structures, the joint angles of each joint at the current moment, and the Cartesian velocities of the ends of multiple branch structures at the next moment, the second objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the joint angular velocities of each joint at the next moment.
[0097] The second objective function is an optimization function that aims to minimize the sum of joint angle errors of each joint.
[0098] Specifically, the optimal velocity error variables at the ends of multiple branch structures solved by the first-level quadratic programming are substituted into the second-level quadratic programming as known conditions. The solution variable of the second-level quadratic programming is the joint angular velocity at the next moment. In order to minimize the sum of the joint angle errors of each joint, the optimization objective is to minimize the distance of each joint angle from the preset motion midpoint.
[0099] The lower limit of the joint angle of each structure is The upper limit is bottom right corner mark Joint number The preset midpoint of motion for each joint angle. Represented as:
[0100]
[0101] Preset range of motion for each joint angle Represented as:
[0102]
[0103] Optionally, the second objective function is as shown in the following formula:
[0104]
[0105] in, Represented as the tree robot on the first i The joint angle at the current moment. Represented as the first i The joint angular velocity at the next moment. This is expressed as the time of one cycle. Represented as the first i The pre-defined midpoint of joint motion. Represented as the first i The preset range of motion of the joint. This represents the joint degrees of freedom of the main structure. The joint degrees of freedom are represented by the second branch structure. The joint degrees of freedom are represented by the first branch structure.
[0106] Based on the optimal velocity error variables at the ends of multiple branch structures, the joint angles of each joint at the current moment, and the Cartesian velocities of the ends of multiple branch structures at the next moment, the second objective function of the tree robot is solved using preset joint angular velocity constraints, preset joint angle constraints, and the relationship constraints between the joint angular velocities of each joint and the Cartesian velocities of the ends of multiple branch structures at the next moment. This yields the joint angular velocities of each joint at the next moment. Since the optimal velocity error variables at the ends of multiple branch structures in the second-level quadratic programming... Since this is known, the optimal joint angular velocities for each joint at the next moment can be calculated. .
[0107] It should be noted that in the first-order quadratic programming, the optimal velocity error variable at the end of multiple branch structures... and the joint angular velocity of each joint at the next moment All of these are unknown, although the joint angular velocity at the next moment can be obtained in a first-order quadratic programming process. However, this is not accurate enough. Therefore, a second-order quadratic programming approach is used to optimize the velocity error variables at the ends of multiple branch structures. By substituting these values, we obtain the accurate and optimal joint angular velocities for each joint at the next moment. .
[0108] S203. Based on the joint angular velocity of each joint at the next moment and the joint angle at the current moment, obtain the joint angle of each joint at the next moment.
[0109] Specifically, after obtaining the optimal joint angular velocity for each joint in the next moment... Then, the joint angle at the current moment. By superimposing the above, we can obtain the inverse joint angles of each joint at the next time step. Represented as:
[0110]
[0111] This allows us to obtain the joint angles of each joint on the tree-like robot at the next moment.
[0112] In the method provided in this application embodiment, based on the joint angle of each joint at the current moment and the Cartesian velocity of the ends of multiple branch structures at the next moment, a first objective function of the tree robot is solved using preset motion constraints of each joint to obtain the optimal velocity error variables of the ends of multiple branch structures; wherein, the first objective function is an optimization function aimed at minimizing the sum of the Cartesian velocity errors of each joint; based on the optimal velocity error variables of the ends of multiple branch structures, the joint angle of each joint at the current moment, and the Cartesian velocity of the ends of multiple branch structures at the next moment, a second objective function of the tree robot is solved using preset motion constraints of each joint to obtain the joint angular velocity of each joint at the next moment, wherein, the second objective function is an optimization function aimed at minimizing the sum of the joint angle errors of each joint; based on the joint angular velocity of each joint at the next moment and the joint angle at the current moment, the joint angle of each joint at the next moment is obtained. By solving the first objective function through first-level quadratic programming, the optimal velocity error variables of the ends of multiple branch structures are obtained. These optimal velocity error variables are then input into the second-level quadratic programming as known quantities. The second objective function is then solved to obtain the joint angular velocities of each joint on the main structure and multiple branch structures at the next moment. This allows for precise control of each joint based on its angular velocity at the next moment, fully leveraging the structural advantages of the tree robot. Furthermore, by introducing the optimal velocity error variables of the ends of multiple branch structures, the problem of decreased tracking accuracy caused by some branch ends reaching the workspace boundary or near singular points is solved.
[0113] The following will continue to explain the joint angle inverse kinematics device and computer equipment for the tree-like robot provided in any of the above embodiments of this application. The specific implementation process and the resulting technical effects are the same as those in the corresponding method embodiments. For the sake of brevity, parts not mentioned in this embodiment can be referred to the corresponding content in the method embodiments.
[0114] Figure 3 This is a functional module diagram of a joint angle inverse kinematics device for a tree-like robot provided in an embodiment of this application. The tree-like robot includes a trunk structure and multiple branch structures connected to the trunk structure, such as... Figure 3 As shown, the joint angle inverse kinematics device 100 of the tree-like robot includes:
[0115] The acquisition module 110 is used to acquire the Cartesian velocity of the ends of multiple branch structures at the next moment based on the preset end tracking trajectories of multiple branch structures.
[0116] The conversion module 120 is used to convert the joint angles of the ends of multiple branch structures at the next moment based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, using the preset objective function of the tree robot, to obtain the joint angles of each joint at the next moment. The preset objective function is an optimization function with the goal of minimizing the sum of motion errors of each joint. The joints on the tree robot include joints on the main structure and joints on multiple branch structures.
[0117] Optionally, the conversion module 120 is further configured to solve the first objective function of the tree robot based on the joint angles of each joint at the current moment and the Cartesian velocities of the ends of multiple branch structures at the next moment, using preset motion constraints of each joint, to obtain the optimal velocity error variables of the ends of multiple branch structures; wherein, the first objective function is an optimization function aimed at minimizing the sum of the Cartesian velocity errors of each joint; based on the optimal velocity error variables of the ends of multiple branch structures, the joint angles of each joint at the current moment, and the Cartesian velocities of the ends of multiple branch structures at the next moment, using preset motion constraints of each joint, to solve the second objective function of the tree robot, to obtain the joint angular velocity of each joint at the next moment, wherein, the second objective function is an optimization function aimed at minimizing the sum of the joint angle errors of each joint; and based on the joint angular velocity of each joint at the next moment and the joint angle at the current moment, to obtain the joint angle of each joint at the next moment.
[0118] Optionally, the acquisition module 110 is further configured to differentiate the preset end tracking trajectory of each branch structure to obtain the velocity information and rotational speed information of the end of each branch structure at the next moment as the Cartesian velocity of the end of each branch structure at the next moment; wherein, the velocity information includes: the velocity component of the end coordinate system origin of each branch structure at the next moment relative to each coordinate axis in the preset base coordinate system, and the rotational speed information includes: the rotational speed component of the end coordinate system of each branch structure at the next moment around each coordinate axis in the preset base coordinate system.
[0119] Optionally, the preset motion constraints for each joint include: preset joint angular velocity constraints, preset joint angle constraints, and constraints relating the joint angular velocity of each joint to the Cartesian velocity of the ends of multiple branch structures at the next moment.
[0120] Optionally, if multiple branch structures include a first branch structure and a second branch structure, the preset joint angular velocity constraint condition is as shown in the following formula:
[0121]
[0122] in, Represented as the tree robot on the first i The minimum joint angular velocity, Represented as the first i The maximum joint angular velocity, Represented as the first i The joint angular velocity at the next moment;
[0123] The preset joint angle constraint conditions are shown in the following formula:
[0124]
[0125] in, Represented as the first i The minimum joint angle. Represented as the first i The maximum joint angle, Represented as the first i The joint angle at the current moment. This is expressed as the time of one cycle;
[0126] The relational constraints are shown in the following formula:
[0127]
[0128] in, It is represented by the first Jacobian matrix corresponding to the chain composed of the trunk structure and the first branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom are represented by the second branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom are represented by the first branch structure. The first part of the second Jacobian matrix is represented as the first part of the second Jacobian matrix. List, Represented as the second Jacobian matrix The second Jacobian matrix is the Jacobian matrix corresponding to the chain consisting of the main structure and the second branch structure. This represents the joint degrees of freedom of the main structure. This is expressed as the Cartesian velocity of the end of a multi-branched structure at the next moment. It is represented as the optimal velocity error variable at the end of multiple branch structures.
[0129] Optionally, if the multiple branch structures include a first branch structure and a second branch structure, the first objective function is as follows:
[0130]
[0131] in, Represented as the end of a multi-branch structure i One optimal speed error variable, This represents the number of optimal speed error variables;
[0132] The second objective function is shown in the following formula:
[0133]
[0134] in, Represented as the tree robot on the first i The joint angle at the current moment. Represented as the first i The joint angular velocity at the next moment. This is expressed as the time of one cycle. Represented as the first i The pre-defined midpoint of joint motion. Represented as the first i The preset range of motion of the joint. This represents the joint degrees of freedom of the main structure. The joint degrees of freedom are represented by the second branch structure. The joint degrees of freedom are represented by the first branch structure.
[0135] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0136] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more microprocessors, or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0137] Figure 4 This is a schematic diagram of a computer device provided in an embodiment of this application. This computer device can be used for inverse kinematics of joint angles in a tree-like robot. Figure 4As shown, the computer device includes: a processor 210, a storage medium 220, and a bus 230.
[0138] Storage medium 220 stores machine-readable instructions executable by processor 210. When the computer device is running, processor 210 communicates with storage medium 220 via bus 230, and processor 210 executes the machine-readable instructions to perform the steps of the above method embodiment. The specific implementation and technical effects are similar, and will not be described again here.
[0139] Optionally, this application also provides a storage medium 220, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the above-described method embodiments. The specific implementation and technical effects are similar, and will not be repeated here.
[0140] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0141] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.
[0142] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0143] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0144] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for inversely solving the joint angles of a tree-like robot, characterized in that, The tree-like robot includes a trunk structure and multiple branch structures connected to the trunk structure, and the method includes: Based on the preset end tracking trajectory of the multiple branch structures, the Cartesian velocity of the ends of the multiple branch structures at the next moment is obtained respectively; Based on the joint angles of each joint on the tree-like robot at the current moment and the preset motion constraints of each joint, the preset objective function of the tree-like robot is used to perform joint angle conversion on the Cartesian velocity of the ends of the multiple branch structures at the next moment, so as to obtain the joint angles of each joint at the next moment. The preset objective function is an optimization function with the goal of minimizing the sum of motion errors of each joint. Each joint on the tree-like robot includes the joints on the trunk structure and the joints on the multiple branch structures. The preset motion constraints of each joint include: preset joint angular velocity constraints, preset joint angle constraints, and constraints relating the joint angular velocity of each joint to the Cartesian velocity of the ends of the multiple branch structures at the next moment. If the plurality of branch structures includes a first branch structure and a second branch structure, the preset joint angular velocity constraint condition is as shown in the following formula: in, Represented as the tree robot on the first i The minimum joint angular velocity, Represented as the first i The maximum joint angular velocity, Represented as the first i The joint angular velocity at the next moment; The preset joint angle constraint condition is shown in the following formula: in, Represented as the first i The minimum joint angle. Represented as the first i The maximum joint angle, Represented as the first i The joint angle at the current moment. This is expressed as the time of one cycle; The relational constraints are shown in the following formula: in, It is represented by the first Jacobian matrix corresponding to the chain composed of the main structure and the first branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom of the second branch structure are represented as follows. Represented as 6 lines The zero matrix of columns, This is represented by the joint degrees of freedom of the first branch structure. The first part of the second Jacobian matrix is represented as the first part of the second Jacobian matrix. List, Represented as the second Jacobian matrix The second Jacobian matrix is the Jacobian matrix corresponding to the chain composed of the main structure and the second branch structure. The degrees of freedom of the joints of the main structure are represented as follows: This is expressed as the Cartesian velocity of the end of the multiple branch structures at the next moment. It is represented as the optimal velocity error variable at the end of the multiple branch structures.
2. The method according to claim 1, characterized in that, The method involves using the tree robot's preset objective function, based on the joint angles of each joint at the current moment and the preset motion constraints of each joint, to perform joint angle conversion on the Cartesian velocities of the ends of the multiple branch structures at the next moment, thereby obtaining the joint angles of each joint at the next moment. This includes: Based on the joint angles of each joint at the current moment and the Cartesian velocities of the ends of the multiple branch structures at the next moment, the first objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the optimal velocity error variables of the ends of the multiple branch structures; wherein, the first objective function is an optimization function with the goal of minimizing the sum of the Cartesian velocity errors of each joint. Based on the optimal velocity error variables at the ends of the multiple branch structures, the joint angles of each joint at the current moment, and the Cartesian velocities of the ends of the multiple branch structures at the next moment, the second objective function of the tree robot is solved using the preset motion constraints of each joint to obtain the joint angular velocities of each joint at the next moment. The second objective function is an optimization function that aims to minimize the sum of the joint angle errors of each joint. Based on the joint angular velocity of each joint at the next moment and the joint angle at the current moment, the joint angle of each joint at the next moment is obtained.
3. The method according to claim 1, characterized in that, The step of obtaining the Cartesian velocity of the ends of the multiple branch structures at the next moment based on the preset end tracking trajectories of the multiple branch structures includes: Differentiate the preset end tracking trajectory of each branch structure to obtain the velocity and rotation speed information of the end of each branch structure at the next moment, which are used as the Cartesian velocity of the end of each branch structure at the next moment; The velocity information includes the velocity components of the end point of the end coordinate system of each branch structure at the next moment relative to each coordinate axis in the preset base coordinate system, and the rotational speed information includes the rotational speed components of the end point of the end coordinate system of each branch structure at the next moment around each coordinate axis in the preset base coordinate system.
4. The method according to claim 2, characterized in that, If the plurality of branch structures includes a first branch structure and a second branch structure, the first objective function is as shown in the following formula: in, The terminus of the multiple branch structures is represented by the first branch. i One optimal speed error variable, This is expressed as the number of the optimal speed error variables; The second objective function is shown in the following formula: in, Represented as the tree robot on the first i The joint angle at the current moment. Represented as the first i The joint angular velocity at the next moment. This is expressed as the time of one cycle. Represented as the first i The pre-defined midpoint of joint motion. Represented as the first i The preset range of motion of the joint. The degrees of freedom of the joints of the main structure are represented as follows: The joint degrees of freedom of the second branch structure are represented as follows. This is represented by the joint degrees of freedom of the first branch structure.
5. A joint angle inverse kinematics device for a tree-like robot, characterized in that, The tree-like robot includes a trunk structure and multiple branch structures connected to the trunk structure. The device includes: The acquisition module is used to acquire the Cartesian velocity of the ends of the multiple branch structures at the next moment based on the preset end tracking trajectory of the multiple branch structures; The conversion module is used to convert the joint angles of the ends of the multiple branch structures at the next moment based on the joint angles of each joint on the tree robot at the current moment and the preset motion constraints of each joint, using the preset objective function of the tree robot, to obtain the joint angles of each joint at the next moment. The preset objective function is an optimization function with the goal of minimizing the sum of the motion errors of each joint. Each joint on the tree robot includes the joints on the trunk structure and the joints on the multiple branch structures. The preset motion constraints of each joint include: preset joint angular velocity constraints, preset joint angle constraints, and constraints relating the joint angular velocity of each joint to the Cartesian velocity of the ends of the multiple branch structures at the next moment. If the plurality of branch structures includes a first branch structure and a second branch structure, the preset joint angular velocity constraint condition is as shown in the following formula: in, Represented as the tree robot on the first i The minimum joint angular velocity, Represented as the first i The maximum joint angular velocity, Represented as the first i The joint angular velocity at the next moment; The preset joint angle constraint condition is shown in the following formula: in, Represented as the first i The minimum joint angle. Represented as the first i The maximum joint angle, Represented as the first i The joint angle at the current moment. This is expressed as the time of one cycle; The relational constraints are shown in the following formula: in, It is represented by the first Jacobian matrix corresponding to the chain composed of the main structure and the first branch structure. Represented as 6 lines The zero matrix of columns, The joint degrees of freedom of the second branch structure are represented as follows. Represented as 6 lines The zero matrix of columns, This is represented by the joint degrees of freedom of the first branch structure. The first part of the second Jacobian matrix is represented as the first part of the second Jacobian matrix. List, Represented as the second Jacobian matrix The second Jacobian matrix is the Jacobian matrix corresponding to the chain composed of the main structure and the second branch structure. The degrees of freedom of the joints of the main structure are represented as follows: This is expressed as the Cartesian velocity of the end of the multiple branch structures at the next moment. It is represented as the optimal velocity error variable at the end of the multiple branch structures.
6. A computer device, characterized in that, include: The computer device includes a processor, a storage medium, and a bus. The storage medium stores program instructions executable by the processor. When the computer device is running, the processor communicates with the storage medium via the bus. The processor executes the program instructions to perform the steps of the inverse joint angle solution method for a tree-like robot as described in any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, performs the steps of the inverse joint angle solution method for the tree robot as described in any one of claims 1 to 4.
8. A tree-like robot, characterized in that, The tree-like robot includes: a controller, a base, a trunk structure fixed on the base, and multiple branch structures connected to the trunk structure; The controller is connected to each joint on the tree robot and is used to execute the steps of the inverse joint angle solution method for the tree robot as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Track planning method and device, electronic equipment and storage medium
CN114274148A
Method and system for teleoperation of humanoid robot through tracker and data glove
CN119159602A